- Nov 14, 2010
-
-
Duncan Sands authored
it to get better phi node simplification. llvm-svn: 119055
-
Chris Lattner authored
llvm-svn: 119054
-
Chris Lattner authored
llvm-svn: 119053
-
Chris Lattner authored
and the Alpha backend isn't MCized yet. Approved by Andrew. llvm-svn: 119051
-
Chris Lattner authored
llvm-svn: 119049
-
Duncan Sands authored
offload the work to hasConstantValue rather than do something more complicated (such handling mutually recursive phis) because (1) it is not clear it is worth it; and (2) if it is worth it, maybe such logic would be better placed in hasConstantValue. Adjust some GVN tests which are now cleaned up much further (eg: all phi nodes are removed). llvm-svn: 119043
-
Duncan Sands authored
operands are the phi node itself or undef, then return undef. This logic already existed at a higher level so in practice it shouldn't make the slightest difference. Note that this code could be replaced by a call to PN->hasConstantValue(). However since we bail out the moment we see a non-constant operand, it is more efficient to have a specialized version of that logic. llvm-svn: 119041
-
Duncan Sands authored
llvm-svn: 119038
-
Owen Anderson authored
llvm-svn: 119029
-
Rafael Espindola authored
signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026
-
Rafael Espindola authored
the symbols. llvm-svn: 119022
-
Rafael Espindola authored
llvm-svn: 119021
-
- Nov 13, 2010
-
-
Peter Collingbourne authored
llvm-svn: 119007
-
Peter Collingbourne authored
llvm-svn: 119006
-
Duncan Sands authored
SimplifyAssociativeOrCommutative) "(A op C1) op C2" -> "A op (C1 op C2)", which previously was only done if C1 and C2 were constants, to occur whenever "C1 op C2" simplifies (a la InstructionSimplify). Since the simplifying operand combination can no longer be assumed to be the right-hand terms, consider all of the possible permutations. When compiling "gcc as one big file", transform 2 (i.e. using right-hand operands) fires about 4000 times but it has to be said that most of the time the simplifying operands are both constants. Transforms 3, 4 and 5 each fired once. Transform 6, which is an existing transform that I didn't change, never fired. With this change, the testcase is now optimized perfectly with one run of instcombine (previously it required instcombine + reassociate + instcombine, and it may just have been luck that this worked). llvm-svn: 119002
-
Duncan Sands authored
llvm-svn: 119001
-
Bill Wendling authored
llvm-svn: 119000
-
Bill Wendling authored
llvm-svn: 118999
-
Bill Wendling authored
llvm-svn: 118998
-
Bill Wendling authored
- Get the opcode once. - Add a ParserMatchClass to reglist. llvm-svn: 118997
-
Bill Wendling authored
future to separate out the ia, ib, da, db variants of the load/store multiple instructions. llvm-svn: 118995
-
Daniel Dunbar authored
- What was I thinking????? llvm-svn: 118992
-
Wesley Peck authored
llvm-svn: 118987
-
Evan Cheng authored
llvm-svn: 118985
-
Rafael Espindola authored
llvm-svn: 118981
-
Rafael Espindola authored
llvm-svn: 118980
-
Rafael Espindola authored
another patch. This lets us parse a bit more of the gcc 4.5 output. llvm-svn: 118975
-
Daniel Dunbar authored
llvm-svn: 118973
-
Daniel Dunbar authored
llvm-svn: 118972
-
Wesley Peck authored
2. Fixing several errors in disassembler uncovered by test cases. 3. Fixing invalid encoding of PCMPEQ and PCMPNE uncovered by test cases. llvm-svn: 118969
-
Evan Cheng authored
llvm-svn: 118968
-
Jim Grosbach authored
llvm-svn: 118965
-
Jim Grosbach authored
instructions. llvm-svn: 118963
-
Rafael Espindola authored
llvm-svn: 118962
-
Daniel Dunbar authored
llvm-svn: 118959
-
Daniel Dunbar authored
llvm-svn: 118958
-
Jim Grosbach authored
flag for the LDRT/STRT family instructions as a side effect. llvm-svn: 118955
-
Dan Gohman authored
llvm-svn: 118954
-
Evan Cheng authored
llvm-svn: 118951
-
Wesley Peck authored
2. Fixing improper immediate mode reverse subtract. llvm-svn: 118948
-