Kenneth Uildriks
90fedc6ef9
Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test
...
llvm-svn: 85900
2009-11-03 15:29:06 +00:00
Dan Gohman
f9eafce3af
When extending a memset range past the front, set the alignment of the
...
memset region to the alignment of the new start address.
llvm-svn: 81810
2009-09-14 23:39:10 +00:00
Dan Gohman
1880092722
Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
...
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.
llvm-svn: 81537
2009-09-11 18:01:28 +00:00
Dan Gohman
72a13d2476
Use opt -S instead of piping bitcode output through llvm-dis.
...
llvm-svn: 81257
2009-09-08 22:34:10 +00:00
Dan Gohman
9737a63ed8
Change these tests to feed the assembly files to opt directly, instead
...
of using llvm-as, now that opt supports this.
llvm-svn: 81226
2009-09-08 16:50:01 +00:00
Chris Lattner
f2ab40a46f
Fix PR4882, by making MemCpyOpt not dereference removed stores to get the
...
context for the newly created operations.
Patch by Jakub Staszak!
llvm-svn: 81175
2009-09-08 00:27:14 +00:00
Chris Lattner
1145e33bc6
enhance memcpy opt to turn memmoves into memcpy when the src/dest
...
don't alias. Remove an old and poorly reduced testcase that fails
with this transform for reasons unrelated to the original test.
llvm-svn: 80693
2009-09-01 17:56:32 +00:00
Dan Gohman
a5b9645c4b
Split the Add, Sub, and Mul instruction opcodes into separate
...
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
2009-06-04 22:49:04 +00:00
Owen Anderson
38099c1b6e
Fix two issues that Eli Friedman pointed out, where would misoptimized code like:
...
char a[200];
init(a, a+200);
OR
int a[200];
char* b = (char*)a;
char* c = (char*)a;
foo(b, c);
llvm-svn: 51850
2008-06-01 22:26:26 +00:00
Owen Anderson
e625a3b83f
Test for PR2401
...
llvm-svn: 51849
2008-06-01 21:55:55 +00:00
Gabor Greif
1e427c3264
sabre brings to my attention that the 'tr' suffix is also obsolete
...
llvm-svn: 51349
2008-05-20 21:00:03 +00:00
Gabor Greif
f45ff35bfe
Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
...
llvm-svn: 51328
2008-05-20 19:52:04 +00:00
Owen Anderson
ff7d7b18e5
Fix a bug in memcpyopt where the memcpy-memcpy transform was never being applied because
...
we were checking for it in the wrong order. This caused a miscompilation because the
return slot optimization assumes that the call it is dealing with is NOT a memcpy.
llvm-svn: 50444
2008-04-29 21:26:06 +00:00
Owen Anderson
6a7355caa2
Refactor memcpyopt based on Chris' suggestions. Consolidate several functions
...
and simplify code that was fallout from the separation of memcpyopt and gvn.
llvm-svn: 50034
2008-04-21 07:45:10 +00:00
Owen Anderson
ef9a6fd5c2
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00