- Sep 24, 2008
-
-
Devang Patel authored
Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511
-
- Sep 23, 2008
-
-
Devang Patel authored
llvm-svn: 56477
-
- Sep 22, 2008
-
-
Oscar Fuentes authored
llvm-svn: 56419
-
- Sep 19, 2008
-
-
Duncan Sands authored
Unfortunately this means removing one regression test of GlobalsModRef because I couldn't work out how to perform it without MarkModRef. llvm-svn: 56342
-
Devang Patel authored
Fixes PR 2805 llvm-svn: 56321
-
Bill Wendling authored
Thanks to Ji Young Park for the patch! llvm-svn: 56316
-
- Sep 17, 2008
-
-
Devang Patel authored
This one slipped through cracks very well. llvm-svn: 56284
-
- Sep 16, 2008
-
-
Dan Gohman authored
- Recognize expressions like "x > -1 ? x : 0" as min/max and turn them into expressions like "x < 0 ? 0 : x", which is easily recognizable as a min/max operation. - Refrain from folding expression like "y/2 < 1" to "y < 2" when the comparison is being used as part of a min or max idiom, like "y/2 < 1 ? 1 : y/2". In that case, the division has another use, so folding doesn't eliminate it, and obfuscates the min/max, making it harder to recognize as a min/max operation. These benefit ScalarEvolution, CodeGen, and anything else that wants to recognize integer min and max. llvm-svn: 56246
-
- Sep 15, 2008
-
-
Dan Gohman authored
cases. See the comment above OptimizeSMax for the full story, and the testcase for an example. This cancels out a pessimization commonly attributed to indvars, and will allow us to lift some of the artificial throttles in indvars, rather than add new ones. llvm-svn: 56230
-
- Sep 12, 2008
-
-
Dan Gohman authored
getelementptr indices, inserting an explicit cast if necessary. This helps expose the sign-extension operation to other optimizations. llvm-svn: 56133
-
Dan Gohman authored
Patch by Nicolas Capens! llvm-svn: 56129
-
- Sep 11, 2008
-
-
Dan Gohman authored
cases it was still getting lucky and detecting overflow but it was clearly incorrect. llvm-svn: 56113
-
Dan Gohman authored
multiplication overflows. llvm-svn: 56082
-
Dan Gohman authored
condition. This fixes PR2740. llvm-svn: 56076
-
- Sep 10, 2008
-
-
Devang Patel authored
llvm-svn: 56056
-
Dan Gohman authored
llvm-svn: 56040
-
- Sep 09, 2008
-
-
Devang Patel authored
extend the type of induction variable. llvm-svn: 56017
-
Devang Patel authored
llvm-svn: 56011
-
Dan Gohman authored
users, and teach it about shufflevector instructions. Also, fix a subtle bug in SimplifyDemandedVectorElts' insertelement code. This is a patch that was originally written by Eli Friedman, with some fixes and cleanup by me. llvm-svn: 55995
-
Devang Patel authored
llvm-svn: 55965
-
- Sep 08, 2008
-
-
Devang Patel authored
llvm-svn: 55924
-
Devang Patel authored
llvm-svn: 55913
-
- Sep 05, 2008
-
-
Devang Patel authored
llvm-svn: 55861
-
Devang Patel authored
llvm-svn: 55806
-
- Sep 04, 2008
-
-
Devang Patel authored
llvm-svn: 55792
-
Devang Patel authored
llvm-svn: 55786
-
Dale Johannesen authored
forms remain to handle older IR files, but will go away soon. llvm-svn: 55781
-
Dan Gohman authored
llvm-svn: 55779
-
Owen Anderson authored
llvm-svn: 55744
-
- Sep 03, 2008
-
-
Nick Lewycky authored
llvm-svn: 55690
-
Devang Patel authored
llvm-svn: 55682
-
Devang Patel authored
llvm-svn: 55680
-
Devang Patel authored
llvm-svn: 55678
-
Devang Patel authored
llvm-svn: 55674
-
- Sep 01, 2008
-
-
Duncan Sands authored
attributes on functions, based on the result of alias analysis. It's not hardwired to use GlobalsModRef even though this is the only (AFAIK) alias analysis that results in this pass actually doing something. Enable as follows: opt ... -globalsmodref-aa -markmodref ... Advantages of this pass: (1) records the result of globalsmodref in the bitcode, meaning it is available for use by later passes (currently the pass manager isn't smart enough to magically make an advanced alias analysis available to all later passes), which may expose more optimization opportunities; (2) hopefully speeds up compilation when code is optimized twice, for example when a file is compiled to bitcode, then later LTO is done on it: marking functions readonly/readnone when producing the initial bitcode should speed up alias analysis during LTO; (3) good for discovering that globalsmodref doesn't work very well :) Not currently turned on by default. llvm-svn: 55604
-
- Aug 27, 2008
-
-
Devang Patel authored
llvm-svn: 55433
-
Devang Patel authored
llvm-svn: 55424
-
Owen Anderson authored
Put a heuristic in place to prevent GVN from falling into bad cases with massively complicated CFGs. This speeds up a particular testcase from 12+ hours to 5 seconds with little perceptible loss of quality. llvm-svn: 55391
-
- Aug 26, 2008
-
-
Devang Patel authored
llvm-svn: 55374
-
- Aug 24, 2008
-
-
Chris Lattner authored
llvm-svn: 55271
-