- Nov 14, 2010
-
-
Dale Johannesen authored
llvm-svn: 119050
-
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
-
Chris Lattner authored
llvm-svn: 119033
-
Chris Lattner authored
llvm-svn: 119032
-
Chris Lattner authored
llvm-svn: 119031
-
Rafael Espindola authored
signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026
-
- Nov 13, 2010
-
-
Duncan Sands authored
as it goes"). Before -std-compile-opts only got it down to %a = tail call i32 @foo(i32 0) readnone %x = tail call i32 @foo(i32 %a) readnone %y = tail call i32 @foo(i32 %a) readnone %z = icmp eq i32 %x, %y ret i1 %z while now -basicaa -gvn alone reduce it to %a = call i32 @foo(i32 0) readnone %x = call i32 @foo(i32 %a) readnone ret i1 true llvm-svn: 119009
-
Peter Collingbourne authored
llvm-svn: 119007
-
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
-
Wesley Peck authored
llvm-svn: 118987
-
Rafael Espindola authored
llvm-svn: 118980
-
Dale Johannesen authored
darwin and, judging from the buildbots, Linux. Removing it for now, but this is not the right fix, Wesley please look at it. llvm-svn: 118977
-
Rafael Espindola authored
another patch. This lets us parse a bit more of the gcc 4.5 output. llvm-svn: 118975
-
Wesley Peck authored
llvm-svn: 118974
-
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
-
Rafael Espindola authored
llvm-svn: 118962
-
Daniel Dunbar authored
- Also, switch tests to not using llvm-as. They run 20% faster now, not that it matters. llvm-svn: 118952
-
Evan Cheng authored
llvm-svn: 118951
-
Eric Christopher authored
forget-me-stick for now. llvm-svn: 118950
-
Wesley Peck authored
2. Fixing improper immediate mode reverse subtract. llvm-svn: 118948
-
Wesley Peck authored
llvm-svn: 118943
-
Wesley Peck authored
2. Parsing .word directive in MBlaze asm parser 3. Fixing hack where memory instructions reversed order of last two parameters 4. Fixing many improperly encoded instructions 5. Support parsing special instructions (MFS,MTS,etc.) 6. Removing unused functions from inst printer llvm-svn: 118941
-
- Nov 12, 2010
-
-
Evan Cheng authored
llvm-svn: 118935
-
Owen Anderson authored
llvm-svn: 118924
-
Evan Cheng authored
Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next. llvm-svn: 118922
-
Chris Lattner authored
llvm-svn: 118916
-
Andrew Trick authored
llvm-svn: 118908
-
Andrew Trick authored
llvm-svn: 118906
-
Chris Lattner authored
llvm-svn: 118903
-
Rafael Espindola authored
llvm-svn: 118893
-
Kalle Raiskila authored
support for the case where alignment<value size. These cases were silently miscompiled before this patch. Now they are overly verbose -especially storing is- and any front-end should still avoid misaligned memory accesses as much as possible. The bit juggling algorithm added here probably has some room for improvement still. llvm-svn: 118889
-
Dan Gohman authored
one store dead. This is especially noticeable in SingleSource/Benchmarks/Shootout/objinst. llvm-svn: 118875
-
Dan Gohman authored
llvm-svn: 118874
-
Bruno Cardoso Lopes authored
llvm-svn: 118864
-
Owen Anderson authored
llvm-svn: 118854
-
- Nov 11, 2010
-
-
Wesley Peck authored
Fix minimum 16-bit signed value error exposed by MC asm parser tests Add initial MC asm parser tests for the MBlaze backend llvm-svn: 118844
-
Owen Anderson authored
llvm-svn: 118843
-
Dan Gohman authored
testing for dereferenceable pointers into a helper function, isDereferenceablePointer. Teach it how to reason about GEPs with simple non-zero indices. Also eliminate ArgumentPromtion's IsAlwaysValidPointer, which didn't check for weak externals or out of range gep indices. llvm-svn: 118840
-
Owen Anderson authored
llvm-svn: 118837
-