- Mar 04, 2011
-
-
Eric Christopher authored
llvm-svn: 127043
-
- Feb 28, 2011
-
-
Stuart Hastings authored
patch to the front-end. Radar 7662569. llvm-svn: 126655
-
- Dec 15, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 121806
-
- Nov 04, 2010
-
-
Duncan Sands authored
and as such can be represented by an MVT - the more complicated EVT is not needed. Use MVT for ValVT everywhere. llvm-svn: 118245
-
- Nov 03, 2010
-
-
Duncan Sands authored
value type, so there is no point in passing it around using an EVT. Use the simpler MVT everywhere. Rather than trying to propagate this information maximally in all the code that using the calling convention stuff, I chose to do a mainly low impact change instead. llvm-svn: 118167
-
- Jul 10, 2010
-
-
Dan Gohman authored
- Check getBytesToPopOnReturn(). - Eschew ST0 and ST1 for return values. - Fix the PIC base register initialization so that it doesn't ever fail to end up the top of the entry block. llvm-svn: 108039
-
- Jul 09, 2010
-
-
Bob Wilson authored
U utils/TableGen/FastISelEmitter.cpp --- Reverse-merging r107943 into '.': U test/CodeGen/X86/fast-isel.ll U test/CodeGen/X86/fast-isel-loads.ll U include/llvm/Target/TargetLowering.h U include/llvm/Support/PassNameParser.h U include/llvm/CodeGen/FunctionLoweringInfo.h U include/llvm/CodeGen/CallingConvLower.h U include/llvm/CodeGen/FastISel.h U include/llvm/CodeGen/SelectionDAGISel.h U lib/CodeGen/LLVMTargetMachine.cpp U lib/CodeGen/CallingConvLower.cpp U lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp U lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp U lib/CodeGen/SelectionDAG/FastISel.cpp U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp U lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp U lib/CodeGen/SelectionDAG/InstrEmitter.cpp U lib/CodeGen/SelectionDAG/TargetLowering.cpp U lib/Target/XCore/XCoreISelLowering.cpp U lib/Target/XCore/XCoreISelLowering.h U lib/Target/X86/X86ISelLowering.cpp U lib/Target/X86/X86FastISel.cpp U lib/Target/X86/X86ISelLowering.h llvm-svn: 107987
-
Dan Gohman authored
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL. llvm-svn: 107943
-
- Jul 08, 2010
-
-
Dan Gohman authored
Debug info intrinsics win for now. llvm-svn: 107850
-
- Jul 07, 2010
-
-
Dan Gohman authored
a bunch of stuff, to allow the target-independent calling convention logic to be employed. llvm-svn: 107800
-
Dan Gohman authored
code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786
-
Dan Gohman authored
llvm-svn: 107781
-
- Jul 06, 2010
-
-
Dan Gohman authored
which do not depend on SelectionDAG. llvm-svn: 107666
-
- Jan 05, 2010
-
-
David Greene authored
llvm-svn: 92574
-
- Nov 07, 2009
-
-
Kenneth Uildriks authored
Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers llvm-svn: 86324
-
- Sep 02, 2009
-
-
Sandeep Patel authored
llvm-svn: 80773
-
- Aug 23, 2009
-
-
Chris Lattner authored
update all code that this affects. llvm-svn: 79830
-
- Aug 11, 2009
-
-
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
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
- Jul 14, 2009
-
-
Torok Edwin authored
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
-
- Jul 11, 2009
-
-
Torok Edwin authored
and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
-
- Jul 09, 2009
-
-
Owen Anderson authored
llvm-svn: 75153
-
- Mar 31, 2009
-
-
Dan Gohman authored
llvm-svn: 68113
-
- Sep 26, 2008
-
-
Dale Johannesen authored
its size). Adjust various lowering functions to pass this info through from CallInst. Use it to implement sseregparm returns on X86. Remove X86_ssecall calling convention. llvm-svn: 56677
-
- Sep 13, 2008
-
-
Dan Gohman authored
Currently it just holds the calling convention and flags for isVarArgs and isTailCall. And it has several utility methods, which eliminate magic 5+2*i and similar index computations in several places. CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle nodes that are not CSE'd gracefully. llvm-svn: 56183
-
- Sep 07, 2008
-
-
Evan Cheng authored
- Add a AnalyzeCallResult specialized for calls which produce a single value. This is used by fastisel. llvm-svn: 55879
-
- Sep 05, 2008
-
-
Evan Cheng authored
llvm-svn: 55838
-
- Jul 11, 2008
-
-
Dan Gohman authored
llvm-svn: 53471
-
- Jun 30, 2008
-
-
Dan Gohman authored
only needs one bit for each register. UsedRegs is a SmallVector sized at 16, so this eliminates a heap allocation/free for every call and return processed by Legalize on most targets. llvm-svn: 52915
-
- Jun 06, 2008
-
-
Duncan Sands authored
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
-
- Mar 21, 2008
-
-
Duncan Sands authored
flags. This is needed by the new legalize types infrastructure which wants to expand the 64 bit constants previously used to hold the flags on 32 bit machines. There are two functional changes: (1) in LowerArguments, if a parameter has the zext attribute set then that is marked in the flags; before it was being ignored; (2) PPC had some bogus code for handling two word arguments when using the ELF 32 ABI, which was hard to convert because of the bogusness. As suggested by the original author (Nicolas Geoffray), I've disabled it for the moment. Tested with "make check" and the Ada ACATS testsuite. llvm-svn: 48640
-
- Mar 10, 2008
-
-
Dale Johannesen authored
field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) llvm-svn: 48122
-
- Feb 10, 2008
-
-
Dan Gohman authored
llvm-svn: 46930
-
- Jan 15, 2008
-
-
Evan Cheng authored
llvm-svn: 46002
-
Evan Cheng authored
llvm-svn: 45995
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Aug 10, 2007
-
-
Rafael Espindola authored
llvm-svn: 40986
-
- Jun 19, 2007
-
-
Chris Lattner authored
llvm-svn: 37640
-
- Feb 28, 2007
-
-
Chris Lattner authored
llvm-svn: 34738
-