summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add a special case that speeds up coallescing a bit, but not enough.Chris Lattner2006-08-311-51/+107
| | | | llvm-svn: 29996
* Delete copies as they are coallesced instead of waiting until the end.Chris Lattner2006-08-311-0/+4
| | | | llvm-svn: 29995
* avoid calling the virtual isMoveInstr method endlessly by caching its results.Chris Lattner2006-08-312-75/+73
| | | | llvm-svn: 29994
* Properties where both Values weren't in the union (as being equal toNick Lewycky2006-08-311-24/+18
| | | | | | | | another Value) weren't being found by findProperties. This fixes predsimplify.ll test6, a missed optimization opportunity. llvm-svn: 29991
* Fix a compiler crash bootstrapping llvm-gcc.Chris Lattner2006-08-301-2/+6
| | | | llvm-svn: 29989
* Guess what happens when asserts are disabled. :(Chris Lattner2006-08-301-1/+2
| | | | | | Also, the assert could never fire due to || instead of &&. llvm-svn: 29977
* Instantiate Statistic<> in one place, not in every .o file that uses it.Chris Lattner2006-08-301-0/+2
| | | | llvm-svn: 29971
* Move to using the EquivalenceClass ADT. Removes SynSets.Nick Lewycky2006-08-301-165/+92
| | | | | | | | | If a branch's condition has become a ConstantBool, simplify it immediately. Removing the edge saves work and exposes up more optimization opportunities in the pass. Add support for SelectInst. llvm-svn: 29970
* Teach the coallescer to coallesce live intervals joined by an arbitraryChris Lattner2006-08-292-155/+249
| | | | | | | | number of copies, potentially defining live ranges that appear to have differing value numbers that become identical when coallsced. Among other things, this fixes CodeGen/X86/shift-coalesce.ll and PR687. llvm-svn: 29968
* Do not rely on std::sort and std::erase to get list of uniqueDevang Patel2006-08-292-10/+57
| | | | | | | | exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. llvm-svn: 29966
* Minor asm fix.Evan Cheng2006-08-292-2/+5
| | | | llvm-svn: 29965
* Remove dead code.Evan Cheng2006-08-291-4/+0
| | | | llvm-svn: 29962
* Don't performance load/op/store transformation if op produces a floating pointEvan Cheng2006-08-291-1/+3
| | | | | | | or vector result. X86 does not have load/mod/store variants of those instructions. llvm-svn: 29957
* - Enable x86 isel preprocessing by default unless -fast is specified.Evan Cheng2006-08-293-8/+13
| | | | | | - Also disable isel load folding if -fast. llvm-svn: 29956
* Handle callee saved registers in dwarf frame info (lead up to exceptionJim Laskey2006-08-292-15/+48
| | | | | | handling.) llvm-svn: 29954
* Tidy up options.Jim Laskey2006-08-291-9/+9
| | | | llvm-svn: 29953
* Avoid making unneeded load/mod/store transformation which can hurt performance.Evan Cheng2006-08-291-5/+10
| | | | llvm-svn: 29952
* Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make ↵Evan Cheng2006-08-292-31/+3
| | | | | | it a static method of SelectionDAG. llvm-svn: 29951
* Clean up a bit.Owen Anderson2006-08-291-51/+32
| | | | llvm-svn: 29950
* Make ppc64 jit kinda work right. About 2/3 of Olden passes with this,Nate Begeman2006-08-293-31/+133
| | | | | | there are clearly some encoding bugs lurking in there somewhere. llvm-svn: 29949
* Add PredicateSimplifier pass. Collapses equal variables into one formNick Lewycky2006-08-281-0/+744
| | | | | | | and simplifies expressions. This implements the optimization described in PR807. llvm-svn: 29947
* On Mac, print jump table entries after the function to work around a linker ↵Evan Cheng2006-08-281-3/+6
| | | | | | issue. llvm-svn: 29946
* Add an optional pass to preprocess the DAG before x86 isel to allow ↵Evan Cheng2006-08-281-0/+130
| | | | | | selecting more load/mod/store instructions. llvm-svn: 29943
* Make LoopUnroll fold excessive BasicBlocks. This results in a significant ↵Owen Anderson2006-08-281-9/+89
| | | | | | | | speedup of gccas on 252.eon llvm-svn: 29936
* For PR387:Reid Spencer2006-08-285-4/+21
| | | | | | | Close out this long standing bug by removing the remaining overloaded virtual functions in LLVM. The -Woverloaded-virtual option is now turned on. llvm-svn: 29934
* simplify AnalysisGroup registration, eliminating one typeid call.Chris Lattner2006-08-2814-16/+16
| | | | llvm-svn: 29932
* Silence -Woverloaded-virtual warnings.Chris Lattner2006-08-281-1/+11
| | | | llvm-svn: 29929
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-2774-101/+106
| | | | llvm-svn: 29925
* Fit to 80 colsChris Lattner2006-08-271-3/+6
| | | | llvm-svn: 29922
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-2718-29/+29
| | | | llvm-svn: 29921
* We no longer care whether something is an opt vs analysis pass, only whetherChris Lattner2006-08-271-3/+3
| | | | | | something is a pass vs an analysis group now. Simplify interfaces. llvm-svn: 29920
* Minor code cleanupsChris Lattner2006-08-271-11/+10
| | | | llvm-svn: 29917
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-2743-43/+43
| | | | llvm-svn: 29911
* typo fixChris Lattner2006-08-271-3/+4
| | | | llvm-svn: 29910
* Add external definitions for commonly-used template specializations and addChris Lattner2006-08-271-7/+28
| | | | | | | | anchor methods to others. This eliminates the vtable/template method bloat in .o files that defining a cl::opt used to impose (~4K per .o file for one cp::opt<unsigned>). llvm-svn: 29909
* Do not use getTargetNode() and SelectNodeTo() which takes more than 3Evan Cheng2006-08-274-66/+77
| | | | | | SDOperand arguments. Use the variants which take an array and number instead. llvm-svn: 29907
* Eliminate SelectNodeTo() and getTargetNode() variants which take more thanEvan Cheng2006-08-271-254/+12
| | | | | | | 3 SDOperand operands. They are replaced by versions which take an array of SDOperand and the number of operands. llvm-svn: 29905
* Fix target matching weights, so that ppc-darwin modules are codegen with theChris Lattner2006-08-262-13/+7
| | | | | | | ppc target, not the itanium target, when run on an itanium machine. This should fix the CodeGen/PowerPC regtest failures on itanium. llvm-svn: 29903
* Properly size the string table, and emit symbol table and string tableNate Begeman2006-08-261-59/+81
| | | | | | entries in the correct order, fixing several fixmes. llvm-svn: 29902
* SelectNodeTo now returns a SDNode*.Evan Cheng2006-08-266-112/+112
| | | | llvm-svn: 29901
* Select() no longer require Result operand by reference.Evan Cheng2006-08-266-82/+68
| | | | llvm-svn: 29898
* Simplifications to liveinterval analysis, no functionality change.Chris Lattner2006-08-262-37/+36
| | | | llvm-svn: 29896
* Match tblgen changes.Evan Cheng2006-08-264-112/+143
| | | | llvm-svn: 29895
* Match tblgen changes; clean up.Evan Cheng2006-08-261-79/+34
| | | | llvm-svn: 29894
* Give a good error message when we try to jit inline asm.Chris Lattner2006-08-261-0/+3
| | | | llvm-svn: 29891
* Completely change the way that joining with physregs is implemented. ThisChris Lattner2006-08-252-35/+72
| | | | | | | | paves the way for future changes, increases coallescing opportunities (in theory, not witnessed in practice), and eliminates the really expensive LiveIntervals::overlapsAliases method. llvm-svn: 29890
* Add a comment.Evan Cheng2006-08-251-0/+1
| | | | llvm-svn: 29889
* Tidy up.Jim Laskey2006-08-251-2/+4
| | | | llvm-svn: 29888
* Fix a crash related to updating Phi nodes in the original header block. ↵Owen Anderson2006-08-251-1/+2
| | | | | | | | This was causing a crash in 175.vpr llvm-svn: 29887
* Add an assertion to check that we're really preserving LCSSA.Owen Anderson2006-08-251-0/+2
| | | | llvm-svn: 29886
OpenPOWER on IntegriCloud