summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Implement a MachineFunctionPass to fix the mul instructionRafael Espindola2006-09-194-1/+74
| | | | llvm-svn: 30485
* item doneChris Lattner2006-09-191-11/+0
| | | | llvm-svn: 30483
* implement select.ll:test19-22Chris Lattner2006-09-191-6/+43
| | | | llvm-svn: 30482
* Fold the PPCISD shifts when presented with 0 inputs. This occurs for codeChris Lattner2006-09-191-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | like: long long test(long long X, int Y) { return 1ULL << Y; } long long test2(long long X, int Y) { return -1LL << Y; } which we used to compile to: _test: li r2, 1 subfic r3, r5, 32 li r4, 0 addi r6, r5, -32 srw r3, r2, r3 slw r4, r4, r5 slw r6, r2, r6 or r3, r4, r3 slw r4, r2, r5 or r3, r3, r6 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr Now we produce: _test: li r2, 1 addi r3, r5, -32 subfic r4, r5, 32 slw r3, r2, r3 srw r4, r2, r4 or r3, r4, r3 slw r4, r2, r5 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr llvm-svn: 30479
* Fold extract_element(cst) to cstChris Lattner2006-09-191-2/+8
| | | | llvm-svn: 30478
* Minor speedup for legalize by avoiding some malloc trafficChris Lattner2006-09-191-0/+9
| | | | llvm-svn: 30477
* Fix a typo.Evan Cheng2006-09-181-3/+2
| | | | llvm-svn: 30474
* Allow i32 UDIV, SDIV, UREM, SREM to be expanded into libcalls.Evan Cheng2006-09-181-6/+30
| | | | llvm-svn: 30470
* Walk down the dominator tree instead of the control flow graph. That meansNick Lewycky2006-09-181-150/+90
| | | | | | | that we can't modify the CFG any more, at least not until it's possible to update the dominator tree (PR217). llvm-svn: 30469
* A pass to remove the worst of the replay trap offenders, and as a bonus, ↵Andrew Lenharth2006-09-183-0/+146
| | | | | | align basic blocks when it is free to do so llvm-svn: 30467
* Fix an infinite loop building the CFEChris Lattner2006-09-181-1/+2
| | | | llvm-svn: 30465
* Jump tables on AlphaAndrew Lenharth2006-09-183-2/+38
| | | | llvm-svn: 30463
* oopsAndrew Lenharth2006-09-181-1/+0
| | | | llvm-svn: 30462
* absolute addresses must match pointer sizeAndrew Lenharth2006-09-182-1/+2
| | | | llvm-svn: 30461
* Sort out mangled names for globalsJim Laskey2006-09-181-13/+23
| | | | llvm-svn: 30460
* Implement a trivial optzn: of vastart is never called in a function that takesChris Lattner2006-09-181-2/+113
| | | | | | | | ... args, remove the '...'. This is Transforms/DeadArgElim/dead_vaargs.ll llvm-svn: 30459
* add a note. Our 64-bit shifts are ~30% slower than gcc'sChris Lattner2006-09-181-1/+2
| | | | llvm-svn: 30457
* Implement InstCombine/cast.ll:test31. This speeds up 462.libquantum by 26%.Chris Lattner2006-09-181-4/+39
| | | | llvm-svn: 30456
* add a helper methodChris Lattner2006-09-181-0/+16
| | | | llvm-svn: 30452
* This is closer to what we really want.Chris Lattner2006-09-181-2/+3
| | | | llvm-svn: 30451
* Implement Transforms/InstCombine/shift-sra.ll:test0Chris Lattner2006-09-181-0/+20
| | | | llvm-svn: 30450
* Rewrite shift/and/compare sequences to promote better licm of the RHS.Chris Lattner2006-09-181-28/+48
| | | | | | Use isLogicalShift/isArithmeticShift to simplify code. llvm-svn: 30448
* Added some eye-candy for Subtarget type checkingAnton Korobeynikov2006-09-1715-1615/+1727
| | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. llvm-svn: 30446
* Add ShiftInst::isLogical/ArithmeticShift methods.Chris Lattner2006-09-171-0/+11
| | | | llvm-svn: 30445
* Add new SetCondInst::isRelational/isEquality methods. RenameChris Lattner2006-09-173-5/+5
| | | | | | Instruction::isRelational to Instruction::isComparison. llvm-svn: 30444
* Explain change with a comment.Nick Lewycky2006-09-171-2/+2
| | | | llvm-svn: 30443
* Fix PR912. The input to erase() must not be a reference to the dataNick Lewycky2006-09-171-1/+2
| | | | | | being erased. llvm-svn: 30442
* Small fixes for supporting dll* linkage typesAnton Korobeynikov2006-09-175-112/+110
| | | | llvm-svn: 30441
* add a note noticed through source inspectionChris Lattner2006-09-161-3/+30
| | | | llvm-svn: 30418
* Oh yeah, this is needed tooChris Lattner2006-09-161-3/+3
| | | | llvm-svn: 30407
* add a noteChris Lattner2006-09-161-0/+3
| | | | llvm-svn: 30406
* Fix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913Chris Lattner2006-09-161-0/+5
| | | | llvm-svn: 30405
* simplify control flow, no functionality changeChris Lattner2006-09-161-6/+12
| | | | llvm-svn: 30403
* Allow custom expand of mulChris Lattner2006-09-161-0/+9
| | | | llvm-svn: 30402
* add a nate noteChris Lattner2006-09-151-0/+6
| | | | llvm-svn: 30399
* revert previous two patches. They cause miscompilation of ↵Chris Lattner2006-09-151-35/+1
| | | | | | MultiSource/Applications/Burg llvm-svn: 30397
* Revert my previous work on ArgumentPromotion. Further investigation has ↵Owen Anderson2006-09-151-34/+46
| | | | | | | | revealed these changes to be incorrect. They just weren't showing up in any of our current testcases. llvm-svn: 30385
* Unbreak the JITChris Lattner2006-09-151-2/+2
| | | | llvm-svn: 30384
* Keep track of the start of MBB's in a separate map from instructions. ThisChris Lattner2006-09-151-38/+45
| | | | | | is faster and is needed for future improvements. llvm-svn: 30383
* Remove a unnecessary check.Evan Cheng2006-09-141-1/+0
| | | | llvm-svn: 30382
* Undo previous check-in.Devang Patel2006-09-141-33/+0
| | | | | | Reintroduce recursive assignDFSNumber(). llvm-svn: 30380
* Fold (X & C1) | (Y & C2) -> (X|Y) & C3 when possible.Chris Lattner2006-09-141-0/+20
| | | | | | This implements CodeGen/X86/and-or-fold.ll llvm-svn: 30379
* add a noteChris Lattner2006-09-141-0/+25
| | | | llvm-svn: 30377
* Split rotate matching code out to its own function. Make it stronger, byChris Lattner2006-09-141-53/+142
| | | | | | matching things like ((x >> c1) & c2) | ((x << c3) & c4) to (rot x, c5) & c6 llvm-svn: 30376
* Adding generated files for the last commitAnton Korobeynikov2006-09-143-4054/+5507
| | | | llvm-svn: 30375
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-1425-85/+398
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* Use getOffset() instead.Evan Cheng2006-09-141-2/+2
| | | | llvm-svn: 30327
* Use MachineConstantPoolEntry getOffset() and getType() accessors.Evan Cheng2006-09-141-13/+7
| | | | llvm-svn: 30326
* Use new config.h macroChris Lattner2006-09-141-2/+2
| | | | llvm-svn: 30321
* On Mac OS/X, make Process::PreventCoreFiles disable crash reporter forChris Lattner2006-09-141-7/+29
| | | | | | | the process in addition to disabling core file emission. This speeds up bugpoint on default-configured macs by several orders of magnitude. llvm-svn: 30317
OpenPOWER on IntegriCloud