- Nov 27, 2012
-
-
Eric Christopher authored
and O0 + debug codegen. llvm-svn: 168680
-
Preston Briggs authored
If the Src and Dst are the same instruction, no loop-independent dependence is possible, so we force the PossiblyLoopIndependent flag to false. The test case results are updated appropriately. llvm-svn: 168678
-
Meador Inge authored
This patch migrates the sprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168677
-
Jakub Staszak authored
llvm-svn: 168670
-
Eric Christopher authored
llvm-svn: 168666
-
Jakub Staszak authored
llvm-svn: 168664
-
NAKAMURA Takumi authored
llvm-svn: 168663
-
Joe Abbey authored
llvm-svn: 168661
-
Jakub Staszak authored
llvm-svn: 168660
-
Jakub Staszak authored
llvm-svn: 168659
-
Chad Rosier authored
classes. The associated test case still doesn't pass, but it does have far fewer issues. rdar://12719844 llvm-svn: 168657
-
Owen Anderson authored
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model". It appears to have broken at least one buildbot. llvm-svn: 168654
-
Michael Ilseman authored
Added in first optimization using fast-math flags to serve as an example for following optimizations. SimplifyInstruction will now try to optimize an fmul observing its FastMathFlags to see if it can fold multiply by zero when 'nnan' and 'nsz' flags are set. llvm-svn: 168648
-
Michael Ilseman authored
Added in bitcode enum for the serializing of fast-math flags. Added in the reading/writing of fast-math flags from the OptimizationFlags record for BinaryOps. llvm-svn: 168646
-
Michael Ilseman authored
Added in the ability to read LLVM IR text that contains fast-math flags as a sequence of capital letters separated by spaces in any order. Added in the printing of the fast-math flags in a canonical order, and don't print the other flags when 'fast' is specified, as 'fast' implies all the others. llvm-svn: 168645
-
Eric Christopher authored
llvm-svn: 168644
-
Eric Christopher authored
add a TODO for starting. llvm-svn: 168643
-
Michael Ilseman authored
Add in getter/setter methods for Instructions, allowing them to be the interface to FPMathOperator similarly to now NUS/NSW is handled. llvm-svn: 168642
-
Eric Christopher authored
llvm-svn: 168638
-
Eric Christopher authored
llvm-svn: 168637
-
Owen Anderson authored
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model Patch by Pedro Artigas, with feedback from by Chandler Carruth. llvm-svn: 168635
-
Chad Rosier authored
llvm-svn: 168633
-
Chad Rosier authored
r168627), we no longer need to call the freezeReservedRegs() function a second time. Previously, this pass was conservatively adding the FP to the set of reserved registers, requiring the second update to the reserved registers. rdar://12719844 llvm-svn: 168631
-
Chad Rosier authored
r168627), we no longer need to call the freezeReservedRegs() function a second time. Previously, this pass was conservatively adding the FP to the set of reserved registers, requiring the second update to the reserved registers. rdar://12719844 llvm-svn: 168630
-
Eli Friedman authored
InstCombineLoadStoreAlloca.cpp, which had many issues. (At least two bugs were noted on llvm-commits, and it was overly conservative.) Instead, use getOrEnforceKnownAlignment. llvm-svn: 168629
-
- Nov 26, 2012
-
-
Chad Rosier authored
This pass was conservative in that it always reserved the FP to enable dynamic stack realignment, which allowed the RA to use aligned spills for vector registers. This happens even when spills were not necessary. The RA has since been improved to use unaligned spills when necessary. The new behavior is to realign the stack if the frame pointer was already reserved for some other reason, but don't reserve the frame pointer just because a function contains vector virtual registers. Part of rdar://12719844 llvm-svn: 168627
-
Jakub Staszak authored
llvm-svn: 168622
-
Jyotsna Verma authored
llvm-svn: 168617
-
rdar://12329730Shuxin Yang authored
Enhancement to InstCombine. Try to catch this opportunity: --------------------------------------------------------------- ((X^C1) >> C2) ^ C3 => (X>>C2) ^ ((C1>>C2)^C3) where the subexpression "X ^ C1" has more than one uses, and "(X^C1) >> C2" has single use. ---------------------------------------------------------------- Reviewed by Nadav (with minor change per his request). llvm-svn: 168615
-
Jakub Staszak authored
llvm-svn: 168608
-
Meador Inge authored
When I migrated the toascii simplifier in r168580 Benjamin Kramer noticed a bug in one of the comments that I migrated. llvm-svn: 168605
-
Meador Inge authored
This patch migrates the printf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168604
-
Nadav Rotem authored
llvm-svn: 168601
-
Jakub Staszak authored
llvm-svn: 168600
-
Benjamin Kramer authored
llvm-svn: 168597
-
Matt Beaumont-Gay authored
llvm-svn: 168592
-
Dmitry Vyukov authored
llvm-svn: 168590
-
Benjamin Kramer authored
Simplify some repetitive code with it. No functionality change. llvm-svn: 168587
-
Dmitry Vyukov authored
llvm-svn: 168586
-
Zhou Sheng authored
The bug can be triggered when we require LoopInfo analysis ahead of DominatorTree construction in a Module Pass. The cause is that the LoopInfo analysis itself also invokes DominatorTree construction, therefore, when PassManager schedules LoopInfo, it will add DominatorTree first. Then after that, when the PassManger turns to schedule DominatorTree invoked by the above ModulePass, it finds there is already a DominatorTree, so it delete the redundant one. However, somehow it still try to access that pass pointer after free as code pasted below, which results in segment fault. llvm-svn: 168581
-