- Oct 29, 2009
-
-
Dan Gohman authored
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. llvm-svn: 85517
-
- Sep 15, 2009
-
-
Chris Lattner authored
and PIC codegen. Patch by Venkatraman Govindaraju! llvm-svn: 81877
-
- Aug 26, 2009
-
-
Venkatraman Govindaraju authored
llvm-svn: 80070
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Owen Anderson authored
llvm-svn: 78610
-
- Aug 05, 2009
-
-
Dan Gohman authored
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. llvm-svn: 78142
-
- Oct 12, 2008
-
-
Chris Lattner authored
parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. llvm-svn: 57385
-
- Sep 12, 2008
-
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
- Mar 15, 2008
-
-
Evan Cheng authored
Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380
-
- Mar 14, 2008
-
-
Dan Gohman authored
llvm-svn: 48346
-
- Feb 27, 2008
-
-
Bill Wendling authored
llvm-svn: 47663
-
- Jan 17, 2008
-
-
Chris Lattner authored
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 llvm-svn: 46140
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Dec 13, 2007
-
-
Evan Cheng authored
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled. llvm-svn: 44960
-
- Nov 13, 2007
-
-
Bill Wendling authored
llvm-svn: 44045
-
Bill Wendling authored
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... llvm-svn: 44037
-
- Sep 11, 2007
-
-
Evan Cheng authored
llvm-svn: 41863
-
- Jul 21, 2007
-
-
Evan Cheng authored
llvm-svn: 40132
-
- Jul 19, 2007
-
-
Evan Cheng authored
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))]>; llvm-svn: 40033
-
- Nov 04, 2006
-
-
Chris Lattner authored
llvm-svn: 31434
-
- Oct 13, 2006
-
-
Evan Cheng authored
llvm-svn: 30945
-
- Oct 12, 2006
-
-
Chris Lattner authored
llvm-svn: 30909
-
- Oct 11, 2006
-
-
Evan Cheng authored
llvm-svn: 30891
-
- Oct 09, 2006
-
-
Evan Cheng authored
llvm-svn: 30844
-
- Sep 02, 2006
-
-
Chris Lattner authored
llvm-svn: 30039
-
Chris Lattner authored
llvm-svn: 30038
-
- Aug 11, 2006
-
-
Evan Cheng authored
llvm-svn: 29603
-
- May 09, 2006
-
-
Chris Lattner authored
llvm-svn: 28182
-
- Feb 21, 2006
-
-
Chris Lattner authored
instructions are expensive. llvm-svn: 26298
-
- Feb 17, 2006
-
-
Nate Begeman authored
and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. llvm-svn: 26255
-
- Feb 10, 2006
-
-
Chris Lattner authored
intrinsics. Autogen frameindex matcher llvm-svn: 26107
-
Chris Lattner authored
llvm-svn: 26106
-
- Feb 09, 2006
-
-
Chris Lattner authored
llvm-svn: 26080
-
- Feb 05, 2006
-
-
Chris Lattner authored
llvm-svn: 25985
-
- Feb 02, 2006
-
-
Chris Lattner authored
llvm-svn: 25906
-
Chris Lattner authored
llvm-svn: 25905
-
- Jan 31, 2006
-
-
Chris Lattner authored
llvm-svn: 25842
-
Chris Lattner authored
an operand that contains the condcode), making things significantly simpler. llvm-svn: 25840
-
Chris Lattner authored
a CC as an operand. Much smaller, much happier. llvm-svn: 25839
-
Chris Lattner authored
llvm-svn: 25838
-