- 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
-
Owen Anderson authored
llvm-svn: 47364
-
- Feb 19, 2008
-
-
Owen Anderson authored
Refactor this method a bit, and correct a test that was completely wrong but happened to work out anyways. :-) llvm-svn: 47321
-
Chris Lattner authored
llvm-svn: 47320
-
Chris Lattner authored
llvm-svn: 47319
-
Owen Anderson authored
llvm-svn: 47318
-
Owen Anderson authored
and add some others that should have been in from the first place. Document the whole thing better. llvm-svn: 47315
-
Owen Anderson authored
At some point in the future, this check will become smarter. llvm-svn: 47310
-
Owen Anderson authored
over all the parameters of the callee looking for it. llvm-svn: 47309
-
Owen Anderson authored
to apply to a memcpy into processInstruction. Also, fix a bug in the check due to missing braces. llvm-svn: 47307
-
Owen Anderson authored
Fix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the branches. memcpy's are a kind of CallInst. llvm-svn: 47305
-
- Feb 18, 2008
-
-
Chris Lattner authored
llvm-svn: 47275
-
Owen Anderson authored
Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct return value. llvm-gcc does not emit this by default. Instead, it allocates space in the caller for the sret of the tail call and then uses memcpy to copy the result into the caller's sret parameter. This optimization detects and optimizes that case. llvm-svn: 47265
-
- Feb 14, 2008
-
-
Nick Lewycky authored
llvm-svn: 47111
-
- Feb 12, 2008
-
-
Owen Anderson authored
bugs fixed. This now passes PPC bootstrap. llvm-svn: 47026
-
Eli Friedman authored
checks for a malloc/alloca immediately followed by a load. llvm-svn: 47006
-
- Feb 06, 2008
-
-
Bill Wendling authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080128/057882.html This is causing a miscompilation on PPC G5 and just now seeing it on iMac x86-64. llvm-svn: 46822
-
- Feb 04, 2008
-
-
Owen Anderson authored
llvm-svn: 46693
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Dec 08, 2007
-
-
Owen Anderson authored
Fix several cache coherence bugs in MemDep/GVN that were found. Also add some (disabled) debugging code to make such problems easier to diagnose in the future, written by Duncan Sands. llvm-svn: 44695
-
- Dec 01, 2007
-
-
Duncan Sands authored
into alias analysis. This meant updating the API which now has versions of the getModRefBehavior, doesNotAccessMemory and onlyReadsMemory methods which take a callsite parameter. These should be used unless the callsite is not known, since in general they can do a better job than the versions that take a function. Also, users should no longer call the version of getModRefBehavior that takes both a function and a callsite. To reduce the chance of misuse it is now protected. llvm-svn: 44487
-
- Nov 29, 2007
-
-
Owen Anderson authored
llvm-svn: 44437
-
- Nov 26, 2007
-
-
Owen Anderson authored
llvm-svn: 44325
-
Owen Anderson authored
llvm-svn: 44323
-
- Oct 18, 2007
-
-
Owen Anderson authored
llvm-svn: 43147
-
- Sep 21, 2007
-
-
Owen Anderson authored
speedup for GVN. llvm-svn: 42185
-
- Sep 17, 2007
-
-
Chris Lattner authored
Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table. llvm-svn: 42042
-