- 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 20, 2008
-
-
Duncan Sands authored
of mayReadFromMemory and mayWriteToMemory. llvm-svn: 56387
-
- 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
-
Duncan Sands authored
can get the readnone/readonly attributes, and gives them it. The plan is to remove markmodref (which did the same thing by querying GlobalsModRef) and delete the analogous functionality from GlobalsModRef. llvm-svn: 56341
-
Devang Patel authored
Fixes PR 2805 llvm-svn: 56321
-
Bill Wendling authored
Thanks to Ji Young Park for the patch! llvm-svn: 56316
-
Devang Patel authored
llvm-svn: 56315
-
- Sep 17, 2008
-
-
Devang Patel authored
llvm-svn: 56286
-
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
-
Anton Korobeynikov authored
llvm-svn: 56005
-
Anton Korobeynikov authored
llvm-svn: 56001
-
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: 55971
-
Devang Patel authored
llvm-svn: 55965
-
- Sep 08, 2008
-
-
Devang Patel authored
llvm-svn: 55924
-
Devang Patel authored
llvm-svn: 55913
-
Duncan Sands authored
llvm-svn: 55896
-
Duncan Sands authored
llvm-svn: 55895
-
Duncan Sands authored
long as the callgraph is correct. It checks for wrong callgraphs more strictly. llvm-svn: 55894
-
- Sep 07, 2008
-
-
Duncan Sands authored
llvm-svn: 55883
-
- Sep 06, 2008
-
-
Nuno Lopes authored
this pass doesnt seem to be used, but still it's now a little more correct llvm-svn: 55873
-
Duncan Sands authored
call (thus changing the call site) it didn't inform the callgraph about this. But the call site does matter - as shown by the testcase, the callgraph become invalid after the inliner ran (with an edge between two functions simply missing), resulting in wrong deductions by GlobalsModRef. llvm-svn: 55872
-
Owen Anderson authored
llvm-svn: 55865
-
- Sep 05, 2008
-
-
Devang Patel authored
llvm-svn: 55861
-
Duncan Sands authored
because it does not maintain a correct list of callsites. I discovered (see following commit) that the inliner will create a wrong callgraph if it is fed a callgraph with correct edges but incorrect callsites. These were created by Prune-EH, and while it wasn't done via removeCallEdgeTo, it could have been done via removeCallEdgeTo, which is an accident waiting to happen. Use removeCallEdgeFor instead. llvm-svn: 55859
-
Duncan Sands authored
edges one by one by hand. llvm-svn: 55836
-
Duncan Sands authored
llvm-svn: 55835
-