- 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
-
Duncan Sands authored
it modifies a functions attributes. llvm-svn: 55831
-
Devang Patel authored
llvm-svn: 55806
-
- Sep 04, 2008
-
-
Devang Patel authored
llvm-svn: 55792
-
Devang Patel authored
llvm-svn: 55786
-
Andrew Lenharth authored
llvm-svn: 55785
-
Dale Johannesen authored
forms remain to handle older IR files, but will go away soon. llvm-svn: 55781
-
Dan Gohman authored
llvm-svn: 55779
-
Andrew Lenharth authored
llvm-svn: 55766
-
Devang Patel authored
llvm-svn: 55745
-
Owen Anderson authored
llvm-svn: 55744
-
- Sep 03, 2008
-
-
Andrew Lenharth authored
Initial version of a Partial Specialization IPO pass. It triggers a couple hundred times on 176.gcc. I don't know the performance impact yet, the heuristic is quite simple still. llvm-svn: 55734
-
Devang Patel authored
llvm-svn: 55720
-
Devang Patel authored
llvm-svn: 55717
-
Devang Patel authored
llvm-svn: 55716
-
Devang Patel authored
llvm-svn: 55713
-
Devang Patel authored
llvm-svn: 55712
-
Devang Patel authored
llvm-svn: 55711
-
Devang Patel authored
llvm-svn: 55708
-
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: 55676
-
Devang Patel authored
llvm-svn: 55674
-
Devang Patel authored
llvm-svn: 55673
-
- 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
-