36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1cefde83ffcfe869e86ef1976667f47856087dd3 |
|
27-Nov-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195575: ------------------------------------------------------------------------ r195575 | venkatra | 2013-11-24 12:07:35 -0800 (Sun, 24 Nov 2013) | 2 lines [Sparc]: Implement LEA pattern for sparcv9. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
fcd5e86396e121fef7ad11d41cc8bc0a541631b2 |
|
03-Nov-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[SparcV9] Handle i64 <-> float conversions in sparcv9 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
38aceb871478893bfa87f94c2cb3a344a4c8c2df |
|
08-Oct-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Implement JIT for SPARC. No new testcases. However, this patch makes all supported JIT testcases in test/ExecutionEngine pass on Sparc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3bd3419e86867ba88e7ece12c9184a01759ed917 |
|
08-Oct-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Do not hardcode nop in the delay slot of TLS_CALL. Use DelaySlotFiller to fill the delay slot instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
79c5e0c5ca85454da568dfafc0bedb84af6c2a68 |
|
06-Oct-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Do not emit nop after fcmp* instruction with V9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bb0ec9840bf6fd06fed967d5e70bee1983971344 |
|
06-Oct-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Use addxcc/subxcc for adde/sube instead of addx/subx. addx/subx does not modify conditional codes whereas addxcc/subxx does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
ff96efee98f8a06e8fdf29d34843659932a83e95 |
|
22-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Use correct instruction pattern for CMPri. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0821c72f11659964f76f4326874dd4037900ce14 |
|
22-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Make SPARC instructions' encoding well defined such that TableGen can automatically generate code emitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
69ae8f1abda2cfcbbb2ef895bbe23936d1beddf8 |
|
22-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Clean up MOVcc instructions so that TableGen can encode them correctly. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a432a97b62617b8b74219ae60c6c6db5cc5ec7ab |
|
22-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Clean up branch instructions, so that TableGen can encode branch conditions as well. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7d052f272d3f9ad0acdebf6811e29d529f70c1e1 |
|
22-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Add support for TLS in sparc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
75ddb2bb34f96c2bda48d0e86331fb52b55b8d03 |
|
03-Sep-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Add support for soft long double (fp128). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2f17d0facf6a489a051c86c015453c2b102e5c37 |
|
25-Aug-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Add long double (f128) instructions to sparc backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b58126124081a9bf8da1368441b00070ed2db232 |
|
23-Aug-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use register masks on SPARC call instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e3b29fbc5f4d7632a88b6f470a96cc6ac09e31ed |
|
20-Aug-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Use HWEncoding instead of unused Num field in Sparc register definitions. Also, correct the definitions of RETL and RET instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1799921672835c49f6a29fc27d1840b7c36beabd |
|
08-Jun-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc] Delete FPMover Pass and remove Fp* Pseudo-instructions from Sparc backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
01021a8b93989a3c9e17dea540fe66809bf25403 |
|
07-Jun-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
[Sparc]: Use cmp instruction instead of subcc to compare integers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1e06bcbd633175d75d13aaa5695ca0633ba86068 |
|
04-Jun-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Sparc: No functionality change. Cleanup whitespaces, comment formatting etc., git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e7cbb792c95cb27a9704551579da19ebcaa06cdb |
|
03-Jun-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Sparc: Add support for indirect branch and blockaddress in Sparc backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
85cc972a06690507a2660fccb198319b0402105f |
|
03-Jun-2013 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Sparc: When storing 0, use %g0 directly in the store instruction instead of using two instructions (sethi and store). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
89db6732fbd987a33751f4aff01b8e4b0a630d91 |
|
19-May-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Implement SPselectfcc for i64 operands. Also clean up the arguments to all the MOVCC instructions so the operands always are (true-val, false-val, cond-code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
00ce0f6512a36ff18fcd223dfebc5469e3600652 |
|
19-May-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Handle i64 FrameIndex nodes in SPARC v9 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2c6b5a8d33a650b9a5b838f6bc8887c8f195f944 |
|
21-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix the SETHIimm pattern for 64-bit code. Don't ignore the high 32 bits of the immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
ef596e1a80a9790efbc905c57b4e06ba6addb95a |
|
14-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix patterns for 64-bit pointers. This fixes the pic32 code model for SPARC v9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0e164884423e9f0f22670015a428946ebf178545 |
|
04-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add SPARC v9 support for select on 64-bit compares. This requires v9 cmov instructions using the %xcc flags instead of the %icc flags. Still missing: - Select floats on %xcc flags. - Select i64 on %fcc flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
8534e9998c53efae49e4555ba394f39808fb83e0 |
|
03-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add 64-bit compare + branch for SPARC v9. The same compare instruction is used for 32-bit and 64-bit compares. It sets two different sets of flags: icc and xcc. This patch adds a conditional branch instruction using the xcc flags for 64-bit compares. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c3ff3f42ee9a9fb755b0eb0718a31d701b93b3e0 |
|
02-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add 64-bit shift instructions. SPARC v9 defines new 64-bit shift instructions. The 32-bit shift right instructions are still usable as zero and sign extensions. This adds new F3_Sr and F3_Si instruction formats that probably should be used for the 32-bit shifts as well. They don't really encode an simm13 field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a10fd6d3d1027b3903d27af701f876e36c1725c0 |
|
02-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add predicates for distinguishing 32-bit and 64-bit modes. The 'sparc' architecture produces 32-bit code while 'sparcv9' produces 64-bit code. It is also possible to run 32-bit code using SPARC v9 instructions with: llc -march=sparc -mattr=+v9 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
fcb25e60f514e4dbceecef73ac229c61d6202ed2 |
|
02-Apr-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an I64Regs register class for 64-bit registers. We are going to use the same registers for 32-bit and 64-bit values, but in two different register classes. The I64Regs register class has a larger spill size and alignment. The addition of an i64 register class confuses TableGen's type inference, so it is necessary to clarify the type of some immediates and the G0 register. In 64-bit mode, pointers are i64 and should use the I64Regs register class. Implement getPointerRegClass() to dynamically provide the pointer register class depending on the subtarget. Use ptr_rc and iPTR for memory operands. Finally, add the i64 type to the IntRegs register class. This register class is not used to hold i64 values, I64Regs is for that. The type is required to appease TableGen's type checking in output patterns like this: def : Pat<(add i64:$a, i64:$b), (ADDrr $a, $b)>; SPARC v9 uses the same ADDrr instruction for i32 and i64 additions, and TableGen doesn't know to check the type of register sub-classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d28e30fcf44b22c897914343fce9061eb62d3b47 |
|
24-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Clean up Sparc patterns. The types of register variables no longer need to be specified in output patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
15a3c18623a05a8b9f2f4ea0b0c15965fda4fe6f |
|
24-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Give Sparc instruction patterns direct types instead of register classes. Also update the documentation since Sparc is the nicest backend, and used as an example in WritingAnLLVMBackend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
edf03820f1d10bbefcb2821e1e0326cad114ed2e |
|
23-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use direct types in Sparc def : Pat patterns. The SelectionDAG graph has MVT type labels, not register classes, so this makes it clearer what is happening. This notation is also robust against adding more types to the IntRegs register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
067e5a2a1a3ed35bce7dc9e9b2eedee501db53c9 |
|
05-Feb-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move MRI liveouts to Sparc return instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
02c63803e5ca3132478a984eae54ad2e3919cb4b |
|
24-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add missing SDNP properties on the flushw node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
31d157ae1ac2cd9c787dc3c1d28e64c682803844 |
|
18-Feb-2012 |
Jia Liu <proljc@gmail.com> |
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
58269b973256bf2436cac0f047aa277fe4bc01dd |
|
21-Feb-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Generate correct Sparc32 ABI compliant code for functions that return a struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e105a3901fecce76e789566ecbfbc87a5b4ce899 |
|
22-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Added ICC, FCC as uses of movcc instruction to generate correct code when -mattr=v9 is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
fc3faa75cbadd8a1020941ec85adfda1d2f49688 |
|
21-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Sparc backend: Rename FLUSH to FLUSHW. Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
71e39dac0ce9676dd3d0a92164167e18499d40fa |
|
20-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Sparc backend: Implements a delay slot filler that attempt to fill delay slots with useful instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
860b64cb1efba110bf81bcc243a6fbaae4c655a4 |
|
12-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Implement RETURNADDR and FRAMEADDR lowering in SPARC backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c178308b23f796b6f5c15c8b3f742cc7b3336d6b |
|
12-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Remove SPARC backend getpcx instruction's Uses. Also, insert an assert to ensure %o7 is not assigned as the destination of getpcx instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7d29ffbe5b091fae03afd264d8c8b0090c7a45f4 |
|
12-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Fix SPARC backend call instruction so that arguments passed through registers are correctly marked as used instead of passing all possible argument registers as used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f27df33b02a85a030aaa4476aee7d1e8fe5921b2 |
|
11-Jan-2011 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
SPARC backend: correct ICC/FCC uses for ADDX and SELECT_CC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f661277a9b26590648aca585c0572f200470290d |
|
28-Dec-2010 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
Multiple SPARC backend fixes: added Y register; updated select_cc, subx, subxcc defs/uses; and fixed CustomInserter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
036609bd7d42ed1f57865969e059eb7d1eb6c392 |
|
23-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
Flag -> Glue, the ongoing saga git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4bb862d179486008406ec5025f925bac5493ad0d |
|
17-Aug-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't call Predicate_* methods directly from Sparc target. Modernize predicates a bit. The Predicate_* methods are not used by TableGen any longer. They are only emitted for the sake of legacy code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c63a404d56320c25b9510b6b0fb3eda70d619b11 |
|
21-Jun-2010 |
Eric Christopher <echristo@apple.com> |
Remove isTwoAddress from Sparc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
de3e05fe33e3bc3bb1368418d7ca940ecc04b5f2 |
|
19-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
adaace8aa8df16f1fa2b097f32ded38a49d89208 |
|
11-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Set isBarrier = 1 on return instructions, as they are control barriers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
533297b58da8c74bec65551e1aface9801fc2259 |
|
29-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename usesCustomDAGSchedInserter to usesCustomInserter, and update a bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
db486a6d5311944f61b92db9f6074944dbbdb242 |
|
15-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
several major improvements to the sparc backend: support for weak linkage and PIC codegen. Patch by Venkatraman Govindaraju! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
765e08d4d5dc3111f547d71da89f58e4e03d295f |
|
26-Aug-2009 |
Venkatraman Govindaraju <venkatra@cs.wisc.edu> |
test commit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
825b72b0571821bf2d378749f69d6c4cfb52d2f9 |
|
11-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Split EVT into MVT and EVT, the former representing _just_ a primitive type, while the latter is capable of representing either a primitive or an extended type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e50ed30282bb5b4a9ed952580523f2dda16215ac |
|
11-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
98ca4f2a325f72374a477f9deba7d09e8999c29b |
|
05-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Major calling convention code refactoring. Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e563bbc312f8b11ecfe12b8187176f667df1dff3 |
|
12-Oct-2008 |
Chris Lattner <sabre@nondot.org> |
Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f5aeb1a8e4cf272c7348376d185ef8d8267653e0 |
|
12-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Rename ConstantSDNode::getValue to getZExtValue, for consistency with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
da47e6e0d003c873da960361549e57ee4617c301 |
|
15-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
704df9fcbddd8bd6f358bef688ef51f8540dce4d |
|
14-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Use SDTNone instead of duplicating it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6ef781f3ce0d0311004adba9d1e7dbd7950918dd |
|
27-Feb-2008 |
Bill Wendling <isanbard@gmail.com> |
Final de-tabification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
ddf89566a93081cb230bb9406a72ab2d3eada4a7 |
|
17-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
This commit changes: 1. Legalize now always promotes truncstore of i1 to i8. 2. Remove patterns and gunk related to truncstore i1 from targets. 3. Rename the StoreXAction stuff to TruncStoreAction in TLI. 4. Make the TLI TruncStoreAction table a 2d table to handle from/to conversions. 5. Mark a wide variety of invalid truncstores as such in various targets, e.g. X86 currently doesn't support truncstore of any of its integer types. 6. Add legalize support for truncstores with invalid value input types. 7. Add a dag combine transform to turn store(truncate) into truncstore when safe. The later allows us to compile CodeGen/X86/storetrunc-fp.ll to: _foo: fldt 20(%esp) fldt 4(%esp) faddp %st(1) movl 36(%esp), %eax fstps (%eax) ret instead of: _foo: subl $4, %esp fldt 24(%esp) fldt 8(%esp) faddp %st(1) fstps (%esp) movl 40(%esp), %eax movss (%esp), %xmm0 movss %xmm0, (%eax) addl $4, %esp ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6e141fd04897e5eb4925bb6351297170ebd8a756 |
|
13-Dec-2007 |
Evan Cheng <evan.cheng@apple.com> |
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c69107ca11282a905c252d1b62091951087f13dc |
|
13-Nov-2007 |
Bill Wendling <isanbard@gmail.com> |
Unifacalize the CALLSEQ{START,END} stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0f8d9c04d9feef86cee35cf5fecfb348a6b3de50 |
|
13-Nov-2007 |
Bill Wendling <isanbard@gmail.com> |
Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stack adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If not, then there is the potential for the stack to be changed while the stack's being used by another instruction (like a call). This can only result in tears... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
071a279e94e30d51aff3b46a4651d686982488a0 |
|
11-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Remove (somewhat confusing) Imp<> helper, use let Defs = [], Uses = [] instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
ffbaccae029ac238972e3814967260f029b6058a |
|
21-Jul-2007 |
Evan Cheng <evan.cheng@apple.com> |
No more noResults. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
64d80e3387f328d21cd9cc06464b5de7861e3f27 |
|
19-Jul-2007 |
Evan Cheng <evan.cheng@apple.com> |
Change instruction description to split OperandList into OutOperandList and InOperandList. This gives one piece of important information: # of results produced by an instruction. An example of the change: def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; => def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
56fe5276ef0f64015b2fa9377fe8c81a00047533 |
|
04-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
remove redundant/dead vars git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
8b2794aeff151be8cdbd44786c1d0f94f8f2e427 |
|
13-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
740c2e079929d1204edc0712cc49dc267076025b |
|
12-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
adjcallstackup/down clobbers the stack pointer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
af9db75943c11eebd642c1645d3c3f4003fe37e3 |
|
11-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Add properties to ComplexPattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
466685d41a9ea4905b9486fea38e83802e46f196 |
|
09-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
aca36b932958a7e4a27786dd76e37259fbaa67e0 |
|
02-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Use a couple of multiclass patterns to factor some integer ops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1662239a5eb745de7b683b034ea199cb984328f2 |
|
02-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bb7b844bec6c53ac29ac4c50d7b3963e7f193efb |
|
11-Aug-2006 |
Evan Cheng <evan.cheng@apple.com> |
CALLSEQ_* produces chain even if that's not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4c15e3394671a87fbbbf21362079d11a4221654c |
|
09-May-2006 |
Chris Lattner <sabre@nondot.org> |
Some notes and thoughts to myself git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2deb87f201b5cf06edff12b9d9a03adc658ec416 |
|
21-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
The HasNoV9 hack isn't needed here, now that tblgen knows that CustomDAGSchedInserter instructions are expensive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
551bf3f80058a026b6a128dffd5530019e1df1b9 |
|
17-Feb-2006 |
Nate Begeman <natebegeman@mac.com> |
kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
ad7a3e62085f776ec87e857e769e210a89a0d544 |
|
10-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Use the auto-generated call matcher. Remove a broken impl of the frameaddr/returnaddr intrinsics. Autogen frameindex matcher git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f613fcb74161d63dd8c4f5fc1dc0d7527a18f43e |
|
10-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Update to new-style flags usage, simplifying the .td file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
9413678f91f4789902b69c4dc18b7205e95b0224 |
|
09-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
add an option to turn on LSR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7c90f73a1b06040d971a3dd95a491031ae6238d5 |
|
05-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Rename SPARC V8 target to be the LLVM SPARC target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c8c0bb00a31381a8a2f838f53d72d230e9c77134 |
|
02-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
%fcc is not an alias for %fcc0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4032cf049d702545d7498d6b10e1d241037e2030 |
|
02-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
correct an opcode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
af370f7c0c9dc10eb93efcdfe1016ba2f86c047b |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
add conditional moves of float and double values on int/fp condition codes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7a4d2913ea04b708c191595ad6f1841abd36b077 |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
treat conditional branches the same way as conditional moves (giving them an operand that contains the condcode), making things significantly simpler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6788faa06ad77fbfb57db7bcf8bc6a79389775a6 |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
compactify all of the integer conditional moves into one instruction that takes a CC as an operand. Much smaller, much happier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
97f91027e662a140b2927c8b84b8f1563a102434 |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Add immediate forms of integer cmovs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
749d6fadf8ac410bb4083a3467ea9f0429c30455 |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Shrinkify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6dc83c777db605209aaa707bb23bd49dc8770228 |
|
31-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Add the full complement of conditional moves of integer registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3772bcb33347f9e3615f3854c82323fa53e5765f |
|
30-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Revamp the ICC/FCC reading instructions to be parameterized in terms of the SPARC condition codes, not in terms of the DAG condcodes. This allows us to write nice clean patterns for cmovs/branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
9072c05cd8b1739244d8c669fb92c3415d01dccc |
|
30-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Compile: uint %test(uint %X) { %Y = call uint %llvm.ctpop.i32(uint %X) ret uint %Y } to: test: save -96, %o6, %o6 sll %i0, 0, %l0 popc %l0, %i0 restore %g0, %g0, %g0 retl nop instead of to 40 logical ops. Note the shift-by-zero that clears the top part of the 64-bit V9 register. Testcase here: CodeGen/SparcV8/ctpop.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b34d3fd4cf8f7882afd320b83f564146875d5116 |
|
30-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
When in v9 mode, emit fabsd/fnegd/fmovd git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
76afdc9a80cf078aebd0ec62dba0bfafe498b1dc |
|
30-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
First step towards V9 instructions in the V8 backend, two conditional move patterns. This allows emission of this code: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 move %icc, %i0, %i2 or %g0, %i2, %i0 restore %g0, %g0, %g0 retl nop instead of this: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 be .LBBt1_2 ! nop .LBBt1_1: ! or %g0, %i2, %i0 .LBBt1_2: ! restore %g0, %g0, %g0 retl nop for this: int %t1(int %a, int %b, int %c) { %tmp.2 = seteq int %a, %b %tmp3 = select bool %tmp.2, int %a, int %c ret int %tmp3 } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
44ea7b1a6cc96121f9a558902742e19fa876d847 |
|
28-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Use V8ISD::CALL instead of ISD::CALL git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
cedc6f4b30c1fd5f7ad1df0b65b870e6f107e8ff |
|
27-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
PHI and INLINEASM are now built-in instructions provided by Target.td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4fca01731a86dbbd758eaf94e4c7edfa36d38db7 |
|
15-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Don't print a label for the first MBB in a function. Compile this: %_2E_str_8 = external global [75 x sbyte] implementation ; Functions: declare int %printf(sbyte*, ...) void %test() %tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) ) ; <int> [#uses=0] unreachable } to this: main_endif_2E_8: save -96, %o6, %o6 sethi %hi(_2E_str_8), %l0 add %l0, %lo(_2E_str_8), %o0 call printf nop instead of this: main_endif_2E_8: save -96, %o6, %o6 sethi %hi(_2E_str_8), %l0 or %g0, %lo(_2E_str_8), %l1 ;; extra instruction add %l1, %l0, %o0 call printf nop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4bb91024ac2dcdff363488617ffcfb3b5c99fc49 |
|
12-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Fix branches on FP compares git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b9169ceb23367c177c26113dcc589d3f5c584182 |
|
11-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Use Evan's outflag stuff to implement V8cmpicc. This allows us to write a pattern for SUBCCrr, and makes it trivial to add support for SUBCCri, eliminating an instruction in the common "setcc X, imm" case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1b8af84a8448b7803695f86785944fb3d0b75eb1 |
|
11-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Unbreak ret void :-/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bda559e1158497706a7a44bffc0ca307dd9cad28 |
|
11-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Write this pattern in canonical form, allowing more patterns to match. This implements Regression/CodeGen/SparcV8/xnor.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6da8d99f70826552b3a4e7bd5d1376881574b4b1 |
|
09-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
New DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace hasInFlag, hasOutFlag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2b4ea795a23ff9d900b9e1f26c92975ef78db1b6 |
|
26-Dec-2005 |
Evan Cheng <evan.cheng@apple.com> |
Added field noResults to Instruction. Currently tblgen cannot tell which operands in the operand list are results so it assumes the first one is a result. This is bad. Ideally we would fix this by separating results from inputs, e.g. (res R32:$dst), (ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding 'let noResults = 1' is the workaround to tell tblgen that the instruction does not produces a result. It works for now since tblgen does not support instructions which produce multiple results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
171049d10f71fdeffdfd9592243d7af40db86c71 |
|
23-Dec-2005 |
Evan Cheng <evan.cheng@apple.com> |
* Removed the use of FLAG. Now use hasFlagIn and hasFlagOut instead. * Added a pseudo instruction (for each target) that represent "return void". This is a workaround for lack of optional flag operand (return void is not lowered so it does not have a flag operand.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3cb7187d5f217dc7ecfff36357b0dd754fd0ae3b |
|
23-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
fix the int<->fp instructions, which apparently take a single float register to represent the int part (because it's always 32-bits) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a01c0ccb63c9c585141c925ae408d83f445350f6 |
|
22-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
clean up .td file by using evan's new FLAG thing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bcfdec73d1e9d4b6f398a9a13b7795c01a89f0f2 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Correct bool truncstore operand order git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e2d97f8399d1d1072a926f9911f3d82f7730358d |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add the other bool zextload as well git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a1251f24b5399bb8a0aabe778f8d0188a870d3c4 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
implement zextload bool git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
96d5bb79d49b4ec67aa9a44af2d7f41bcfbab1d3 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Fix syntax for indirect calls. This fixes Olden/mst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
97561fc2eb1cdccf482ea0f55b86f86b1def22e3 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
apparently rdy isn't actually a psuedo instruction. Use rd %y git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
beecfd2b2dc94b2b164f40c4443cc0506f228ed7 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add fneg/fabs support for doubles git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f53d0bfbfd501d752fe313725083d1f295e30ba7 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add bool truncstores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7a48e5018b10d2b4c123913b40df904bd5c66043 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Configure the asmwriter to allow constant pools to be printed correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b04c5c8eb2f0574c473036f1e66086a771663300 |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add support for integer extloads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
20ad53ffd770a4012dcb3be7ee1a393d30337c4e |
|
19-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add support for undef git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
dab05f0e194ac06c2c733f18a698b707dfa99ec3 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Change return lowering so that we can autogen the matching code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2db3ff66f1183fa65bd5102ad255a798f76cb3b2 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Implement Calls for V8. This would be completely autogenerated except for a small bug in tblgen. When that is fixed, we can remove the ISD::Call case in Select. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
eee99bd459ab17a498d076f27de313398b9d3d4d |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Push ops list, asm string, and pattern all the way up to InstV8. Move the InstV8 class to the InstrFormats file where it belongs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3308449afc6f1b8b8536e544e53bc6751c91b4e3 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Give V8 select_cc, in the spirit of the PPC backend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
98f853698c5a68d06934c1b7560f3ab53261d311 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
remove some unused instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
8fa54dc70239dc08cc3c93cb7513e0625be50eb4 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add frameindex support Add support for copying (e.g. returning) doubles Add support for F<->I instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
76acc872b3c63c26a83c2832ece6fa9b04786f24 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add constant pool support, including folding into addresses. Pretty print addresses a bit, to not print [%r1+%g0]: just print [%r1] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e357246c6b2f71fda64764b85e32d2004f5dd603 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add initial support for global variables, and fix a bug in addr mode selection where we didn't select the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
04dd673aea8676443bf8cf8875b0e80bfa1309a5 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Claiming that branch targets are registers is not very wholesome. Change them to be basic blocks. Also, add uncond branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
456b9400dc7aecc6875f521fd4bc87d25c32865b |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add unordered comparisons git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
5b2dfc7cc15d95678a1830485cc85a36e2190ce8 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add patterns to the rest of the int condbranches and some of the fp branches git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4d55aca87aeac108980005912d8ea8733d6226e1 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add initial conditional branch support. This doesn't actually work yet due to a bug in the scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
38abcb500fbb868514d83152cc178ecf2d7ba6e4 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Eliminate CMPri, which is a synonym for SUBCCri git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
294974bd576c381d66af6e73159d0574af81d405 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add fneg,fabs,fsqrt instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b4d5172af93533e3325b647dd257810b236337aa |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add patterns for fround/fextend and the funny fsmuld instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
10c6aed73c79861c31e79402d2161821806efe6f |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add FP +,-,*,/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
558bfe0cf5392d7f8d48647ed1d88fd0f530c4c3 |
|
18-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Give patterns to F3_3 instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
37949f5c2b48c128e31361f638fdd44c966ee4d0 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add patterns for multiply, simplify Y register handling stuff, add RDY instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
9034b883a463b37dbc4766ff7243dac3a27d0b11 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Make the addressing modes smarter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
87a63f812c824116bef0aaa5a034bd7adf77eae8 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
remove some unused instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
2cfdbb27165ee24b28a84f1a7cd3196b7afd2a5e |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add andn/orn/xorn patterns. This allows us to compile this: long %test(ubyte, short, long %X, long %Y) { %A = xor long %X, -1 %B = and long %Y, %A ret long %B } to this: test: save -96, %sp, %sp andn %i4, %i2, %i0 andn %i5, %i3, %i1 restore %g0, %g0, %g0 retl nop instead of this: test: save -96, %sp, %sp xor %i2, -1, %l0 xor %i3, -1, %l1 and %i4, %l0, %i0 and %i5, %l1, %i1 restore %g0, %g0, %g0 retl nop The simpleisel emits: :( test: save -96, %sp, %sp or %g0, -1, %l0 or %g0, -1, %l0 or %g0, -1, %l0 or %g0, -1, %l1 xor %i2, %l0, %l0 xor %i3, %l1, %l1 and %i4, %l0, %i0 and %i5, %l1, %i1 restore %g0, %g0, %g0 retl nop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
53ec2035eb686c25013d47405fd0b178b60d59c8 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add patterns for FP stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d55e1ca5ef96821d8c96da6f0d79e3f96d810cdd |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add [reg+reg] integer stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d30a63063617d3ef6907ed4a5a2bbf9fa22b7d7c |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add store patterns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b575baf57d49bc53883544b4585e25ae4585ab3f |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add fp load patterns, switch rest of loads and stores to use addrmodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1963783fab96e91cfcba59a4fa08d132040f0a7a |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add integer load[r+r] forms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
84e2abf116c236d9493995e65259f1352a925239 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add patterns for the rest of the loads. Add 'ri' suffixes to the load and store insts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bc83fd96721eda272d90eafcb3a2a31ef9a2c366 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add basic addressing mode support and one load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b71f9f8488f665ef042097eca28aeddb85e6c2ee |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Use a combination of sethi and or to build arbitrary immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
57dd3bc46049c528858cdd02f76149d9525199fa |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Use sethi to build large immediates with zeros at the bottom git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d2cd46676c697137be7b57c04e3615ba2cdc00b2 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add shift and small immediate support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f83cee6ac196faf14944948034f3163023a315cd |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add some basic reg-reg instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e33a3ff942d33edfb619867c84b1d4589d3a582d |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add empty patterns to all F3_1 instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7b0902dcf8352ef93e35cc9cf264dbe4d2a198de |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add some simple integer patterns. This allows us to compile this: int %test(int %A) { %B = add int %A, 1 %C = xor int %B, 123 ret int %C } into this: test: save -96, %sp, %sp add %i0, 1, %l0 xor %l0, 123, %i0 restore %g0, %g0, %g0 retl nop for example. I guess it would make sense to add reg/reg versions too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bc3d362d5bae59eb45ce275d8c4d9372847369dc |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add a pattern for 'ret'. This now compiles: void %test() { ret void } :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f3bf50d2c80da2d45b22e5c2458048c860754736 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add empty patterns for F3_2 instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0d8fcd3218ed93e338a2e7b845f358f1c6f74d58 |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Convert the remaining instructions over, branches and calls. Fix a couple minor bugs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
dc6938ac23f49c35ac551b6f5541e926a357de1b |
|
17-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
convert FP instructions to use an asmstring and operand list, allowing FP programs to work on V8 again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
13e1501c91e3e56740a59eb7dab173c1d0cf5765 |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add a couple more instrs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
17392e026a2f1fa9b62e38c44a447874055892bc |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
asmprint pseudo instrs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d4f2ab5e0059f8398a7882d6c6be50341641b97b |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Autogenerate asmprinter for F3_2 instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
1c4f4356032195f05c715b113b4ee5e2d4909915 |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Switch F3_1 instructions over to use AsmStrings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
96b84beb77d5209d2d5db4db9a6dc07461de2f7e |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Add operand info for F3_[12] instructions, getting V8 back to basic functionality. With this, Regression/CodeGen/SparcV8/basictest.ll now passes. Lets hear it for regression tests :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3ff57516839433131dd537ed2708a3e23f88ae77 |
|
16-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
add some simple operand info git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c2e5f3635aa0cd9d10ca4315eec0ed7f161d55f5 |
|
10-Dec-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add the rest of the multiply instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
82a4795850d694b010b3dac0f48d9468496aa243 |
|
23-Nov-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add the rest of the logical instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4351857d78c6604b1f5dd7a83be2a8cc869ae423 |
|
21-Nov-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add all the rest of the ADD and SUB variants, some of which are important for 64-bit support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
b354b7148eadcd5d30ceac80a2ddc1bbdfffbaef |
|
16-Nov-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Correct the implicit-defs information for indirect and direct calls. You can't have implicit defs that overlap explicit defs, or implicit defs that alias one another. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f28688e5273d674f5f4ff1c133ce6512d289ead1 |
|
15-Nov-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Expand Defs to encompass all the possibly-call-clobbered regs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d36047dbdb830c3ec659681c99f0348001b57653 |
|
15-Oct-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
The field is called `imm22', not simply `imm' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
3df04c58fcaccb8bd792cf2794921ab7a4bb8dc7 |
|
15-Oct-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Synthetic instructions RET and RETL need to have all 3 parameters specified git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
59e12ed78962266a9529e58560aeb57330c67d38 |
|
14-Oct-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add FSTOI, FDTOI (fp to integer cast) instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
9f0cecd4385d778c20859ad18ee43389e1337b33 |
|
10-Oct-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Model calls as *both* using *and* killing O0..O5, because callees use the argument values passed in (so they're not dead until *after* the call), and callees are free to modify those registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
d7bf501cc732f8ddcc30a6bd68d2fdbfe0f2145f |
|
30-Sep-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Mark the instructions that have delay slots with the hasDelaySlot flag. Add some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
374b36d5cf56e070ed7a557314616fc48711d8ea |
|
29-Sep-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Tell the target description that calls clobber registers O0...O5. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
22ad67dd68d381f9b324b7fef13f15a80c71e9ef |
|
29-Sep-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
FITOD is spelled "fitod", not "fitos". Ouch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a036b539293faa39f373ac1f2ff6fdebad5290e3 |
|
29-Sep-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add new FpMOVD pseudo-instruction, used to move doubles around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c42077d37194a1872dc402522d4d7a0e81f83047 |
|
22-Sep-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Combine the F2 and F3 instruction classes into one file for simplicity git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
812402019264506bea49749b23d0ead1be9fde7c |
|
09-Aug-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove ClassPrefix variable as it's no longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0b9bbd2244e5f518361cb0f73279b5ccb8e6ee25 |
|
09-Aug-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
The (future) SparcV8 JIT would do well to have a class prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
0f6eab32d0b8880cde65a755e33e2c3a0b7d4ff6 |
|
31-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
I'm pretty sure that ba is branch always, which is a barrier. Brg should check this :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
7c4676f341a1abfe555e78fb2aac0a2d7cbe85cf |
|
16-Jul-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add a class for pseudo-instructions. Use it. Add IMPLICIT_USE and IMPLICIT_DEF, a la X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
4185d03dc5290550f0bad33764f3971ec9a74132 |
|
08-Jul-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add floating-point branches and compares. Compares don't complete until the next cycle, and there's no interlock, so they effectively have a delay slot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c53105c749faa681b9471bf99a762ed17b35264d |
|
28-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
57ff2e3ee711c8d6ab908c6f03d5806b34d910f0 |
|
24-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add FSTOD and FDTOS conversion instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e7f9e0b539f5bbd728cd806d25b7050109ae55dd |
|
24-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Rename the load and store opcodes. The non-fp ones only have one variant worth worrying about; the fp ones have two. Add fp stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
f89cc655ab27bab517751f010c15fbe2ae1051d8 |
|
18-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Fix jmpl. Add some FP moves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
562d5b0f6ddd341b5755829c636be82eaf31625c |
|
18-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add load instructions for floating-point registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
070bb4a8da5dcedcdf225aca857711bb4f754fa1 |
|
18-Jun-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Set the isBranch and isTerminator flags on branch instructions correctly. Add a FIXME about the (currently unused) JMPL instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
59dbff714cc44993a16522de15e89c56c604449d |
|
08-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add a bunch more branches git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6b1d2fa1d1cae181707d05b26c5e2e02c77eaa06 |
|
08-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add ADD with immediate git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
c3e970122a942dc46b0be1fb1d0ca757a711911d |
|
08-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add forms of CMP, SUBCC, and a few branches, and some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
6179047661ae9d2291ef58147934a2630591b126 |
|
07-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
andd subcc instructions which is used to create the 'cmp' pseudo instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a562efce355618a02a23ebd3e26d277b26d4e8d5 |
|
07-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Fix encoding of existing shift instructions, add rr shifts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
22ede709f6e62c495fe8af97dc8e81e82d5faeed |
|
07-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a bunch more instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e88c9dc860dd636e38abdb4aab6e4fc8fff1cc27 |
|
07-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add UDIV, SDIV, and a few variants of WR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
8542e08d15208d73c5146d6858d67b26effaf4ef |
|
02-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add load, store, and NOP instructions. Fix up comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
032f80fbf1c3eb270cbbf551f73468513fd175e1 |
|
16-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add UMULrr and SMULrr instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a8056fabebbc23c080b7cda81ca8f74eedc1a585 |
|
06-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Sort stanzas into Sparc V8 book page number order. Add RET, RETL. Rename SAVE, RESTORE & JMPL for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
775158d62abbe2548875b46dcbecf8b234930dd4 |
|
04-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Subtract instructions; minor cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
e806173ab6f571f48e8b056fbd355ccef4371a23 |
|
04-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Simple copyConstantToReg support, SETHIi and ORri git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
bc1d27aa6e80022d507ce4811566b4af4257ee45 |
|
04-Mar-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Support add - note, still missing important copyConstantToRegister stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|
a85d46eea8f7eba8be2e9724c099abda68dbb20a |
|
28-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Tab completion is our friend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Sparc/SparcInstrInfo.td
|