summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefinedChris Lattner2005-12-141-2/+2
| | | | | | behavior in 126.gcc on big-endian systems. llvm-svn: 24708
* Fix a miscompilation in crafty due to a recent patchChris Lattner2005-12-141-1/+1
| | | | llvm-svn: 24706
* Added sext and zext patterns.Evan Cheng2005-12-141-9/+34
| | | | llvm-svn: 24705
* Added sextld + zextld DAG nodes.Evan Cheng2005-12-141-0/+17
| | | | llvm-svn: 24703
* Fold (zext (load x) to (zextload x).Evan Cheng2005-12-141-1/+18
| | | | llvm-svn: 24702
* Add support for fmul node of type v4f32.Nate Begeman2005-12-142-0/+21
| | | | | | | | | | | | | | | | | | | | | | void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } Is selected to: _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v0, v0, v0, v1 stvx v0, r2, r3 blr llvm-svn: 24701
* Prepare support for AltiVec multiply, divide, and sqrt.Nate Begeman2005-12-133-2/+19
| | | | llvm-svn: 24700
* Adjust the constructor to the Linker class to take an argument that namesReid Spencer2005-12-131-2/+2
| | | | | | | | the module being constructed. This is used to correctly name the module. Previously the name of the linker tool was used which produces confusing output when the module identifier is used in an error message. llvm-svn: 24699
* Improve ResolveFunctions to:Reid Spencer2005-12-131-13/+15
| | | | | | | | | a) use better local variable names (OldMT -> OldFT) where "M" is used to mean "Function" (perhaps it was previously "Method"?) b) print out the module identifier in a warning message so that it is possible to track down in which module the error occurred. llvm-svn: 24698
* Don't lump the filename and working dir togetherChris Lattner2005-12-131-15/+16
| | | | llvm-svn: 24697
* Add load + store folding srl and sra patterns.Evan Cheng2005-12-131-12/+32
| | | | llvm-svn: 24696
* Use the shared asmprinter code for printing special llvm globalsChris Lattner2005-12-133-71/+10
| | | | llvm-svn: 24695
* Add a couple more fields, move ctor init list to .cpp file, add supportChris Lattner2005-12-131-0/+70
| | | | | | for emitting the ctor/dtor list for common targets. llvm-svn: 24694
* Add ELF and darwin support for static ctors and dtorsChris Lattner2005-12-132-0/+40
| | | | llvm-svn: 24693
* reindent a loop, unswitch a loop. No functionality changesChris Lattner2005-12-131-105/+109
| | | | llvm-svn: 24692
* Lowering constant pool entries on ppc exposed a bug in the recently addedNate Begeman2005-12-131-1/+1
| | | | | | | ConstantVec legalizing code, which would return constantpool nodes that were not of the target's pointer type. llvm-svn: 24691
* Beautify a few patterns.Evan Cheng2005-12-131-15/+15
| | | | llvm-svn: 24690
* Some shl patterns which do load + store folding.Evan Cheng2005-12-131-6/+16
| | | | llvm-svn: 24689
* A few helper fragments for loads. e.g. (i8 (load addr:$src)) -> (loadi8 ↵Evan Cheng2005-12-131-12/+18
| | | | | | addr:$src). Only to improve readibility. llvm-svn: 24688
* Add and, or, and xor patterns which fold load + stores.Evan Cheng2005-12-131-41/+82
| | | | llvm-svn: 24687
* Add inc + dec patterns which fold load + stores.Evan Cheng2005-12-131-6/+12
| | | | llvm-svn: 24686
* Add neg and not patterns which fold load + stores.Evan Cheng2005-12-131-6/+12
| | | | llvm-svn: 24685
* Missed a couple redundant explicit type casts.Evan Cheng2005-12-131-3/+3
| | | | llvm-svn: 24684
* Fix some bad choice of names: i16SExt8 ->i16immSExt8, etc.Evan Cheng2005-12-131-34/+47
| | | | llvm-svn: 24683
* * Split immSExt8 to i16SExt8 and i32SExt8 for i16 and i32 immediate operands.Evan Cheng2005-12-131-27/+33
| | | | | | | This enables the removal of some explicit type casts. * Rename immZExt8 to i16ZExt8 as well. llvm-svn: 24682
* Add some integer mul patterns.Evan Cheng2005-12-121-11/+17
| | | | llvm-svn: 24681
* Accept and ignore prefetches for nowChris Lattner2005-12-121-0/+3
| | | | llvm-svn: 24678
* Fix CodeGen/Generic/2005-12-12-ExpandSextInreg.llChris Lattner2005-12-121-0/+10
| | | | llvm-svn: 24677
* Add some sub patterns.Evan Cheng2005-12-121-13/+24
| | | | llvm-svn: 24675
* When SelectLEAAddr() fails, it shouldn't cause the side effect of having theEvan Cheng2005-12-121-17/+48
| | | | | | base or index operands being selected. llvm-svn: 24674
* For ISD::RET, if # of operands >= 2, try selection the real data dep. operandEvan Cheng2005-12-121-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | first before the chain. e.g. int X; int foo(int x) { x += X + 37; return x; } If chain operand is selected first, we would generate: movl X, %eax movl 4(%esp), %ecx leal 37(%ecx,%eax), %eax rather than movl $37, %eax addl 4(%esp), %eax addl X, %eax which does not require %ecx. (Due to ADD32rm not matching.) llvm-svn: 24673
* fix FP selectsAndrew Lenharth2005-12-122-14/+14
| | | | llvm-svn: 24672
* remove some never-completed and now-obsolete code.Chris Lattner2005-12-123-358/+0
| | | | llvm-svn: 24671
* Add a few more add / store patterns. e.g. ADD32mi8.Evan Cheng2005-12-121-10/+18
| | | | llvm-svn: 24670
* restore a more restricted selectAndrew Lenharth2005-12-121-0/+32
| | | | llvm-svn: 24668
* Implement a little hack for parity with GCC on crafty. This speeds upChris Lattner2005-12-121-2/+277
| | | | | | | | | | | | | | | | | | | | | | 186.crafty by about 16% (from 15.109s to 13.045s) on my system. This turns allocas with unions/casts into scalars. For example crafty has something like this: union doub { unsigned short i[4]; long long d; }; int f(long long a) { return ((union doub){.d=a}).i[1]; } Instead of generating loads and stores to an alloca, we now promote the whole thing to a scalar long value. This implements: Transforms/ScalarRepl/AggregatePromote.ll llvm-svn: 24667
* Fix typo :(Chris Lattner2005-12-111-1/+1
| | | | llvm-svn: 24664
* Minor tweak to get isel optChris Lattner2005-12-111-1/+2
| | | | llvm-svn: 24663
* add selectccChris Lattner2005-12-111-0/+6
| | | | llvm-svn: 24662
* Remove type casts that are no longer neededChris Lattner2005-12-112-6/+7
| | | | llvm-svn: 24661
* Realize the constant pool & global addrs must always be ptr typeChris Lattner2005-12-111-5/+6
| | | | llvm-svn: 24660
* Fix the JIT failures from last night.Chris Lattner2005-12-111-1/+2
| | | | llvm-svn: 24659
* FP select improvements (and likely breakage), oh and crazy people might want ↵Andrew Lenharth2005-12-112-42/+46
| | | | | | to *return* floating point values. Don't see why myself llvm-svn: 24658
* Add support for TargetConstantPool nodes to the dag isel emitter, and useNate Begeman2005-12-105-30/+45
| | | | | | | them in the PPC backend, to simplify some logic out of Select and SelectAddr. llvm-svn: 24657
* Use SDTCisPtrTy type property for store address.Evan Cheng2005-12-101-2/+2
| | | | llvm-svn: 24656
* * Added X86 store patterns.Evan Cheng2005-12-103-43/+24
| | | | | | * Added X86 dec patterns. llvm-svn: 24654
* Added new getNode and getTargetNode variants for X86 stores.Evan Cheng2005-12-101-60/+73
| | | | llvm-svn: 24653
* Add support patterns to many load and store instructions which willNate Begeman2005-12-092-76/+133
| | | | | | hopefully use patterns in the near future. llvm-svn: 24651
* Add SDTCisPtrTy and use it for loads, to indicate that the operand of a loadChris Lattner2005-12-091-3/+5
| | | | | | | must be a pointer. This removes a type check out of the code generated by tblgen for load matching. llvm-svn: 24650
* Added patterns for ADD8rm, etc. These fold load operands. e.g. addb 4(%esp), %alEvan Cheng2005-12-091-3/+6
| | | | llvm-svn: 24648
OpenPOWER on IntegriCloud