- Jun 19, 2008
-
-
Owen Anderson authored
llvm-svn: 52505
-
Owen Anderson authored
This fixes a failure on povray. llvm-svn: 52499
-
Owen Anderson authored
GVN expects that all inputs which to an instruction fall somewhere in the value hierarchy, which isn't true for these. llvm-svn: 52496
-
- Jun 18, 2008
-
-
Owen Anderson authored
llvm-svn: 52472
-
Owen Anderson authored
Add local PRE to GVN. This only operates in cases where it would not increase code size, namely when the instantiated expression would only need to be created in one predecessor. llvm-svn: 52471
-
Owen Anderson authored
We don't want to find dependencies within the same block in this case. It leads to incorrect results because we're detecting something at or after the call we're querying on. llvm-svn: 52433
-
- Jun 12, 2008
-
-
Owen Anderson authored
llvm-svn: 52242
-
- Jun 05, 2008
-
-
Matthijs Kooijman authored
deprecated by the GVN and GVNPRE passes. llvm-svn: 51983
-
- Jun 04, 2008
-
-
Owen Anderson authored
llvm-svn: 51955
-
- May 18, 2008
-
-
Nate Begeman authored
llvm-svn: 51230
-
- May 14, 2008
-
-
Owen Anderson authored
bug as well as a missed optimization. We weren't properly checking for local dependencies before moving on to non-local ones when doing non-local read-only call CSE. llvm-svn: 51082
-
- May 13, 2008
-
-
Owen Anderson authored
llvm-svn: 51035
-
Owen Anderson authored
llvm-svn: 51024
-
- May 12, 2008
-
-
Owen Anderson authored
llvm-svn: 50995
-
Owen Anderson authored
Move the various analyses used by GVN into static variables so we don't have to keep passing them around or refetching them. llvm-svn: 50963
-
- Apr 21, 2008
-
-
Owen Anderson authored
llvm-svn: 50035
-
- Apr 17, 2008
-
-
Owen Anderson authored
llvm-svn: 49842
-
- Apr 11, 2008
-
-
Owen Anderson authored
of calls and less aggressive with non-readnone calls. llvm-svn: 49516
-
- Apr 09, 2008
-
-
Owen Anderson authored
GVN and into its own pass. llvm-svn: 49419
-
Owen Anderson authored
llvm-svn: 49418
-
- Apr 07, 2008
-
-
Owen Anderson authored
in both time and memory savings for GVN. For example, one testcase went from 10.5s to 6s with this patch. llvm-svn: 49345
-
Owen Anderson authored
allocations, which GVN can't optimize anyways. llvm-svn: 49329
-
- Apr 06, 2008
-
-
Gabor Greif authored
Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
-
- Mar 29, 2008
-
-
Chris Lattner authored
when something changes, instead of moving forward. This allows us to simplify memset lowering, inserting the memset at the end of the range of stuff we're touching instead of at the start. This, in turn, allows us to make use of the addressing instructions already used in the function instead of inserting our own. For example, we now codegen: %tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0 ; <i8*> [#uses=2] call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 ) instead of: %tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7 ; <i8*> [#uses=1] %ptroffset = getelementptr i8* %tmp20, i64 -7 ; <i8*> [#uses=1] call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 ) llvm-svn: 48940
-
Chris Lattner authored
into a memset!) faster by avoiding an allocation of an std::list node. llvm-svn: 48939
-
Chris Lattner authored
llvm-svn: 48937
-
- Mar 28, 2008
-
-
Chris Lattner authored
memsets that initialize "structs of arrays" and other store sequences that are not sequential. This is still only enabled if you pass -form-memset-from-stores. The flag is not heavily tested and I haven't analyzed the perf regressions when -form-memset-from-stores is passed either, but this causes no make check regressions. llvm-svn: 48909
-
- Mar 24, 2008
-
-
Evan Cheng authored
llvm-svn: 48720
-
- Mar 22, 2008
-
-
Chris Lattner authored
This fires dozens of times across spec and multisource, but I don't know if it actually speeds stuff up. Hopefully the testers will show something nice :) llvm-svn: 48680
-
Chris Lattner authored
llvm-svn: 48679
-
Chris Lattner authored
merging optimization. Nothing to see here, hopefully more later :) llvm-svn: 48670
-
- Mar 21, 2008
-
-
Chris Lattner authored
llvm-svn: 48662
-
Chris Lattner authored
each basic block. llvm-svn: 48660
-
Chris Lattner authored
llvm-svn: 48658
-
- Mar 13, 2008
-
-
Owen Anderson authored
pointer bitcast when performing return slot optimization. llvm-svn: 48343
-
- Mar 12, 2008
-
-
Owen Anderson authored
Improve the return slot optimization to be both more aggressive (not limited to sret parameters), and safer (when the passed pointer might be invalid). Thanks to Duncan and Chris for the idea behind this, and extra thanks to Duncan for helping me work out the trap-safety. llvm-svn: 48280
-
- Feb 27, 2008
-
-
Owen Anderson authored
in an invalid transformation. llvm-svn: 47639
-
- Feb 25, 2008
-
-
Owen Anderson authored
not safe. This is fixed by more aggressively checking that the return slot is not used elsewhere in the function. llvm-svn: 47544
-
Owen Anderson authored
Fix an issue where GVN would try to use an instruction before its definition when performing return slot optimization. llvm-svn: 47541
-
- Feb 20, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47371
-