- Oct 04, 2008
-
-
Dale Johannesen authored
Make it all work in non-pic mode. llvm-svn: 57034
-
- Oct 02, 2008
-
-
Dale Johannesen authored
llvm-svn: 56963
-
- Oct 01, 2008
-
-
Bill Wendling authored
llvm-svn: 56900
-
- Sep 30, 2008
-
-
Bill Wendling authored
`-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero" instead of "__bzero" on Darwin10+. This arguably violates the meaning of this flag, but is currently sufficient. The meaning of this flag should become more specific over time. llvm-svn: 56885
-
Dale Johannesen authored
valid types. No functional change. llvm-svn: 56808
-
- Sep 25, 2008
-
-
Evan Cheng authored
With sse3 and when the source is a load or has multiple uses, favors movddup over shuffp*, pshufd, etc. Without sse3 or when the source is from a register, make use of movlhps llvm-svn: 56620
-
- Sep 24, 2008
-
-
Evan Cheng authored
Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc. llvm-svn: 56526
-
- Sep 23, 2008
-
-
Dan Gohman authored
object. This will be needed to support debug info. llvm-svn: 56508
-
Dan Gohman authored
instruction opcodes are now numbered. No functionality change. llvm-svn: 56497
-
- Sep 16, 2008
-
-
Bill Wendling authored
Apologies for the thrashing. llvm-svn: 56251
-
Bill Wendling authored
- Add linkage to SymbolSDNode (default to external). - Change ISD::ExternalSymbol to ISD::Symbol. - Change ISD::TargetExternalSymbol to ISD::TargetSymbol These changes pave the way to allowing SymbolSDNodes with non-external linkage. llvm-svn: 56249
-
- 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 10, 2008
-
-
Dan Gohman authored
to static allocas. As part of this change, refactor the address mode code for laods and stores. llvm-svn: 56066
-
- Sep 09, 2008
-
-
Anton Korobeynikov authored
No functionality change. llvm-svn: 55996
-
- Sep 04, 2008
-
-
Dan Gohman authored
HandlePHINodesInSuccessorBlocks that works FastISel-style. This allows PHI nodes to be updated correctly while using FastISel. This also involves some code reorganization; ValueMap and MBBMap are now members of the FastISel class, so they needn't be passed around explicitly anymore. Also, SelectInstructions is changed to SelectInstruction, and only does one instruction at a time. llvm-svn: 55746
-
- Sep 03, 2008
-
-
Ted Kremenek authored
Fix capitalization in #include of FastISel.h. This unbreaks the build on case-sensitive filesystems. llvm-svn: 55687
-
Evan Cheng authored
Let tblgen only generate fastisel routines, not the class definition. This makes it easier for targets to define its own fastisel class. llvm-svn: 55679
-
- Aug 20, 2008
-
-
Dan Gohman authored
class hold a MachineRegisterInfo member, and make the MachineBasicBlock be passed in to SelectInstructions rather than the FastISel constructor. llvm-svn: 55076
-
- Aug 19, 2008
-
-
Dan Gohman authored
llvm-svn: 55010
-
Dale Johannesen authored
builtins on X86. Change "lock" instructions to be on a separate line. This is needed to work around a bug in the Darwin assembler. llvm-svn: 54999
-
- Jul 27, 2008
-
-
Dan Gohman authored
llvm-svn: 54128
-
- Jul 17, 2008
-
-
Nate Begeman authored
llvm-svn: 53719
-
- Jul 04, 2008
-
-
Duncan Sands authored
hook for each way in which a result type can be legalized (promotion, expansion, softening etc), just use one: ReplaceNodeResults, which returns a node with exactly the same result types as the node passed to it, but presumably with a bunch of custom code behind the scenes. No change if the new LegalizeTypes infrastructure is not turned on. llvm-svn: 53137
-
- Jun 25, 2008
-
-
Mon P Wang authored
Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub llvm-svn: 52706
-
- Jun 14, 2008
-
-
Andrew Lenharth authored
llvm-svn: 52270
-
- 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
-
- May 29, 2008
-
-
Evan Cheng authored
llvm-svn: 51667
-
- May 16, 2008
-
-
Evan Cheng authored
llvm-svn: 51165
-
- May 15, 2008
-
-
Evan Cheng authored
Make use of vector load and store operations to implement memcpy, memmove, and memset. Currently only X86 target is taking advantage of these. llvm-svn: 51140
-
- May 14, 2008
-
-
Dan Gohman authored
This eliminates the need for several awkward casts, including the last dynamic_cast under lib/Target. llvm-svn: 51091
-
- May 12, 2008
-
-
Nate Begeman authored
llvm-svn: 51000
-
Evan Cheng authored
llvm-svn: 50991
-
- May 10, 2008
-
-
Dan Gohman authored
than silently generate invalid code. llvm-gcc does not currently use VAArgInst; it lowers va_arg in the front-end. llvm-svn: 50930
-
- May 09, 2008
-
-
Evan Cheng authored
Note, some of the code will be moved into target independent part of DAG combiner in a subsequent patch. llvm-svn: 50918
-
- May 08, 2008
-
-
Evan Cheng authored
Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine. llvm-svn: 50838
-
- May 05, 2008
-
-
Mon P Wang authored
llvm-svn: 50663
-
- Apr 30, 2008
-
-
Arnold Schwaighofer authored
Move platform independent code (lowering of possibly overwritten arguments, check for tail call optimization eligibility) from target X86ISelectionLowering.cpp to TargetLowering.h and SelectionDAGISel.cpp. Initial PowerPC tail call implementation: Support ppc32 implemented and tested (passes my tests and test-suite llvm-test). Support ppc64 implemented and half tested (passes my tests). On ppc tail call optimization is performed if caller and callee are fastcc call is a tail call (in tail call position, call followed by ret) no variable argument lists or byval arguments option -tailcallopt is enabled Supported: * non pic tail calls on linux/darwin * module-local tail calls on linux(PIC/GOT)/darwin(PIC) * inter-module tail calls on darwin(PIC) If constraints are not met a normal call will be emitted. A test checking the argument lowering behaviour on x86-64 was added. llvm-svn: 50477
-
- Apr 28, 2008
-
-
Dan Gohman authored
memcpy/memset expansion. It was a bug for the SVOffset value to be used in the actual address calculations. llvm-svn: 50359
-
- Apr 27, 2008
-
-
Chris Lattner authored
- Make targetlowering.h fit in 80 cols. - Make LowerAsmOperandForConstraint const. - Make lowerXConstraint -> LowerXConstraint - Make LowerXConstraint return a const char* instead of taking a string byref. llvm-svn: 50312
-
- Apr 16, 2008
-
-
Dan Gohman authored
llvm-svn: 49759
-