summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Teach loopsimplify to update et-forest. Patch contributed by Daniel Berlin!Chris Lattner2006-01-091-0/+19
| | | | llvm-svn: 25153
* Bugfix for etforest updating. Contributed by Daniel Berlin.Chris Lattner2006-01-091-1/+1
| | | | llvm-svn: 25152
* Saem Ghani's PassManager Patch #8:Reid Spencer2006-01-081-2/+16
| | | | | | | This fixes a "gccass" regression. The -debug-pass=Structure option now prints all the appropriate output llvm-svn: 25151
* Fix a problem exposed by the et-forest work. Load-vn needs these passes liveChris Lattner2006-01-081-3/+3
| | | | | | whenever it is live, not just when load-vn is computed initially llvm-svn: 25146
* Initial implementation of the ET-Forest data structure for dominators andChris Lattner2006-01-082-0/+506
| | | | | | post-dominators. This code was written/adapted by Daniel Berlin! llvm-svn: 25144
* Patch #7 from Saem:Chris Lattner2006-01-071-36/+37
| | | | | | | | "added the asserts and casts, fixed the comments and started the break down of the larger methods. A few more patches and the breakdown should be complete." llvm-svn: 25142
* Fix the PPC JIT failures last night, which were due to mishandling of ↵Chris Lattner2006-01-071-0/+1
| | | | | | linkonce globals llvm-svn: 25141
* Wrap long lines.Chris Lattner2006-01-071-6/+8
| | | | llvm-svn: 25140
* wrap long lineChris Lattner2006-01-071-1/+2
| | | | llvm-svn: 25139
* fix some 176.gcc miscompilation from my previous patch.Chris Lattner2006-01-071-7/+33
| | | | llvm-svn: 25137
* * Added integer div / rem.Evan Cheng2006-01-061-4/+98
| | | | | | * Fixed a load folding bug. llvm-svn: 25136
* ISEL code for MULHU, MULHS, and UNDEF.Evan Cheng2006-01-061-7/+82
| | | | llvm-svn: 25132
* make 0 codegen much betterAndrew Lenharth2006-01-061-0/+4
| | | | llvm-svn: 25131
* silence some bogus gcc warnings on fenrisChris Lattner2006-01-061-10/+11
| | | | llvm-svn: 25130
* silence a bogus gcc warningChris Lattner2006-01-063-3/+3
| | | | llvm-svn: 25129
* Enhance the shift-shift folding code to allow a no-op cast to occur in betweenChris Lattner2006-01-061-55/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the shifts. This allows us to fold this (which is the 'integer add a constant' sequence from cozmic's scheme compmiler): int %x(uint %anf-temporary776) { %anf-temporary777 = shr uint %anf-temporary776, ubyte 1 %anf-temporary800 = cast uint %anf-temporary777 to int %anf-temporary804 = shl int %anf-temporary800, ubyte 1 %anf-temporary805 = add int %anf-temporary804, -2 %anf-temporary806 = or int %anf-temporary805, 1 ret int %anf-temporary806 } into this: int %x(uint %anf-temporary776) { %anf-temporary776 = cast uint %anf-temporary776 to int %anf-temporary776.mask1 = add int %anf-temporary776, -2 %anf-temporary805 = or int %anf-temporary776.mask1, 1 ret int %anf-temporary805 } note that instcombine already knew how to eliminate the AND that the two shifts fold into. This is tested by InstCombine/shift.ll:test26 -Chris llvm-svn: 25128
* Simplify the code a bit moreChris Lattner2006-01-061-3/+5
| | | | llvm-svn: 25126
* Extract a bunch of code out of visitShiftInst into FoldShiftByConstant. NoChris Lattner2006-01-061-180/+189
| | | | | | functionality changes. llvm-svn: 25125
* Unbreak the build :(Chris Lattner2006-01-061-2/+2
| | | | llvm-svn: 25124
* Addd (shl x, 1) ==> (shl x, x) peepholes.Evan Cheng2006-01-061-1/+10
| | | | llvm-svn: 25123
* Revert the previous check-in. Leave shl x, 1 along for target to deal with.Evan Cheng2006-01-061-3/+0
| | | | llvm-svn: 25121
* fold (shl x, 1) -> (add x, x)Evan Cheng2006-01-062-20/+3
| | | | llvm-svn: 25120
* linkonce symbols have an extra indirection, just like weak ones do. This fixesChris Lattner2006-01-061-1/+2
| | | | | | Prolangs-C++/family and Prolangs-C++/primes. llvm-svn: 25119
* * Fast call support.Evan Cheng2006-01-064-175/+570
| | | | | | * FP cmp, setcc, etc. llvm-svn: 25117
* Support for custom lowering of ISD::RET.Evan Cheng2006-01-061-0/+16
| | | | llvm-svn: 25116
* Fix a compile crash building MultiSource/Applications/d with the new front-end.Chris Lattner2006-01-051-2/+2
| | | | | | | The PPC backend was generating random shift counts in this case, due to an uninitialized variable. llvm-svn: 25114
* Implement a few symbolic constant folding things. X ? Y : Y is Y.Chris Lattner2006-01-051-7/+32
| | | | | | | | | | | | | Fold: seteq ({ short }* cast (int 1 to { short }*), { short }* null) setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*)) to false/true. These last two commonly occur in the output of compilers that tag integers, like cozmic's scheme compiler. Tested by Regression/Assembler/ConstantExprFold.llx llvm-svn: 25112
* fix some formatting problemsChris Lattner2006-01-051-7/+7
| | | | llvm-svn: 25110
* unbreak the build, these are now in TargetSelectionDAG.tdChris Lattner2006-01-051-3/+0
| | | | llvm-svn: 25109
* Added ConstantFP patterns.Evan Cheng2006-01-052-31/+33
| | | | llvm-svn: 25108
* Added fpimm node for ConstantFP.Evan Cheng2006-01-051-0/+2
| | | | llvm-svn: 25107
* Had expand logic backward.Jim Laskey2006-01-056-1/+12
| | | | llvm-svn: 25105
* Added initial support for DEBUG_LABEL allowing debug specific labels to beJim Laskey2006-01-0512-45/+79
| | | | | | inserted in the code. llvm-svn: 25104
* DAG based isel call support.Evan Cheng2006-01-054-41/+197
| | | | llvm-svn: 25103
* Remove some dead code.Evan Cheng2006-01-051-4/+0
| | | | llvm-svn: 25102
* Applied some recommend changes from sabre. The dominate one beginning "let theJim Laskey2006-01-046-101/+167
| | | | | | | pass manager do it's thing." Fixes crash when compiling -g files and suppresses dwarf statements if no debug info is present. llvm-svn: 25100
* Add unique id to debug location for debug label use (work in progress.)Jim Laskey2006-01-045-20/+30
| | | | llvm-svn: 25096
* Add check for debug presence.Jim Laskey2006-01-041-0/+4
| | | | llvm-svn: 25095
* Tie dwarf generation to darwin assembler.Jim Laskey2006-01-044-9/+131
| | | | llvm-svn: 25093
* Moving MachineDebugInfo to module level location.Jim Laskey2006-01-041-1/+1
| | | | llvm-svn: 25090
* Change how MachineDebugInfo is fetched.Jim Laskey2006-01-041-1/+1
| | | | llvm-svn: 25089
* Extending MachineDebugInfo.Jim Laskey2006-01-041-0/+90
| | | | llvm-svn: 25086
* Patch #6's in Saem's refactor-the-passmanager patch series. From him:Chris Lattner2006-01-042-230/+157
| | | | | | | This sanitises the world, blows away the specialisations and adds traits per passmanager type -- seemed most natural. llvm-svn: 25085
* Add support for targets (like Alpha) that have terminator instructions whichChris Lattner2006-01-041-5/+41
| | | | | | | | | use virtual registers. We now allow the first instruction in a block of terminators to use virtual registers, and update phi elimination to correctly update livevar when eliminating phi's. This fixes a problem on a testcase Andrew sent me. llvm-svn: 25083
* Add an assertion, update DefInst even though no one uses it (dangling pointersChris Lattner2006-01-042-0/+5
| | | | | | don't help anyone) llvm-svn: 25081
* Add a LiveVariables::VarInfo::dump methodChris Lattner2006-01-041-0/+20
| | | | llvm-svn: 25080
* Saem's patch #5 of the passmanager refactoringChris Lattner2006-01-041-47/+93
| | | | llvm-svn: 25078
* patch #4 in Saem's passmanager refactoring.Chris Lattner2006-01-041-15/+50
| | | | llvm-svn: 25077
* implement constant folding of ==/!= on constant packed, simplify some code.Chris Lattner2006-01-041-3/+11
| | | | llvm-svn: 25074
* implement constant folding for the element-wise binary operationsChris Lattner2006-01-041-0/+50
| | | | llvm-svn: 25073
OpenPOWER on IntegriCloud