- May 22, 2011
-
-
Chris Lattner authored
llvm-svn: 131862
-
Evan Cheng authored
llvm-svn: 131861
-
Chris Lattner authored
result is non-zero. Implement an example optimization (PR9814), which allows us to transform: A / ((1 << B) >>u 2) into: A >>u (B-2) which we compile into: _divu3: ## @divu3 leal -2(%rsi), %ecx shrl %cl, %edi movl %edi, %eax ret instead of: _divu3: ## @divu3 movb %sil, %cl movl $1, %esi shll %cl, %esi shrl $2, %esi movl %edi, %eax xorl %edx, %edx divl %esi, %eax ret llvm-svn: 131860
-
Johnny Chen authored
Modified the patch to .td file supplied by Jyun-Yan You. Add a test case and modified ARMDisassemblerCore.cpp a little bit. llvm-svn: 131859
-
Chris Lattner authored
failing to form a memset, then having to delete it" but my approximation isn't safe for self recurrent loops. Instead of doign a hack, just do it the right way. llvm-svn: 131858
-
Frits van Bommel authored
Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior. I also changed -simplifycfg, -jump-threading and -codegenprepare to use this to produce slightly better code without any extra cleanup passes (AFAICT this was the only place in -simplifycfg where now-dead conditions of replaced terminators weren't being cleaned up). The only other user of this function is -sccp, but I didn't read that thoroughly enough to figure out whether it might be holding pointers to instructions that could be deleted by this. llvm-svn: 131855
-
Chris Lattner authored
llvm-svn: 131854
-
Chris Lattner authored
llvm-svn: 131853
-
Chris Lattner authored
llvm-svn: 131851
-
Chris Lattner authored
llvm-svn: 131850
-
Chris Lattner authored
"stored once" even if its address is compared. llvm-svn: 131849
-
Chris Lattner authored
causing it to get into infinite loops when it would widen a load (which can necessarily leave around dead loads). llvm-svn: 131847
-
Chris Lattner authored
llvm-svn: 131846
-
Chris Lattner authored
llvm-svn: 131845
-
Chris Lattner authored
llvm-svn: 131843
-
Chris Lattner authored
llvm-svn: 131842
-
Chris Lattner authored
llvm-svn: 131841
-
Nick Lewycky authored
llvm-svn: 131839
-
Nick Lewycky authored
of the inlinee to the code representing the original function. llvm-svn: 131838
-
Chris Lattner authored
llvm-svn: 131837
-
Chris Lattner authored
llvm-svn: 131836
-
Chris Lattner authored
llvm-svn: 131835
-
Charles Davis authored
these tables. llvm-svn: 131833
-
Charles Davis authored
directive. Implement emission of Win64 EH unwind info. Pull in <cassert> in MCWin64EH.h so it can use the assert() macro. llvm-svn: 131832
-
Nick Lewycky authored
llvm-svn: 131831
-
Charles Davis authored
Also, fix threshold for 'Big' register saves. llvm-svn: 131830
-
Chris Lattner authored
llvm-svn: 131829
-
Chris Lattner authored
llvm-svn: 131828
-
Chris Lattner authored
llvm-svn: 131827
-
Chris Lattner authored
llvm-svn: 131824
-
Chris Lattner authored
passes, it should be converted to use extension points. llvm-svn: 131823
-
Chris Lattner authored
llvm-svn: 131821
-
Chris Lattner authored
llvm-svn: 131820
-
Chris Lattner authored
should eventually convert to PMBuilder, but I don't plan to do this. llvm-svn: 131819
-
Charles Davis authored
llvm-svn: 131817
-
Charles Davis authored
class. llvm-svn: 131816
-
Chris Lattner authored
the pass manager. llvm-svn: 131814
-
Nick Lewycky authored
use these soon. llvm-svn: 131812
-
- May 21, 2011
-
-
Duncan Sands authored
Original log message: When BasicAA can determine that two pointers have the same base but differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. llvm-svn: 131809
-
Chris Lattner authored
llvm-svn: 131807
-