| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
them into a single file.
llvm-svn: 182211
|
|
|
|
|
|
|
|
|
|
|
|
| |
The simplify-libcalls pass implemented a doInitialization hook to infer
function prototype attributes for well-known functions. Given that the
simplify-libcalls pass is going away *and* that the functionattrs pass
is already in place to deduce function attributes, I am moving this logic
to the functionattrs pass. This approach was discussed during patch
review:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121126/157465.html.
llvm-svn: 177619
|
|
|
|
|
|
|
|
|
|
|
| |
function attributes.
This makes the LLVM assembly look better. E.g.:
define void @foo() #0 { ret void }
attributes #0 = { nounwind noinline ssp }
llvm-svn: 175605
|
|
|
|
| |
llvm-svn: 174865
|
|
|
|
|
|
|
|
| |
ModuleID
This is done to avoid odd test failures, like the one fixed in r171243.
llvm-svn: 171246
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch migrates the puts optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
All the simplifiers from simplify-libcalls have now been migrated to
instcombine. Yay! Just a few other bits to migrate (prototype attribute
inference and a few statistics) and simplify-libcalls can finally be put
to rest.
llvm-svn: 168925
|
|
|
|
|
|
|
| |
This patch migrates the fputs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168893
|
|
|
|
|
|
|
| |
This patch migrates the fwrite optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168892
|
|
|
|
|
|
|
| |
This patch migrates the fprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168891
|
|
|
|
|
|
|
| |
The tests from SPrintF.ll should have been migrated to sprintf-1.ll in
r168677, but I forgot to do it.
llvm-svn: 168702
|
|
|
|
| |
llvm-svn: 168691
|
|
|
|
|
|
| |
-instcombine, not -simplify-libcalls.
llvm-svn: 168690
|
|
|
|
| |
llvm-svn: 168689
|
|
|
|
| |
llvm-svn: 168688
|
|
|
|
|
|
|
|
| |
unveiled another failure.
FYI, this test makes no sense with "not grep"... I saw "assertion failure" in stderr.
llvm-svn: 168679
|
|
|
|
|
|
|
| |
This patch migrates the sprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168677
|
|
|
|
|
|
|
| |
This patch migrates the printf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168604
|
|
|
|
|
|
|
| |
This patch migrates the toascii optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168580
|
|
|
|
|
|
|
| |
This patch migrates the isdigit optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168578
|
|
|
|
|
|
|
| |
This patch migrates the *abs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168574
|
|
|
|
|
|
|
| |
This patch migrates the ffs* optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168571
|
|
|
|
|
|
| |
Update some test cases accordingly.
llvm-svn: 168516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch migrates the math library call simplifications from the
simplify-libcalls pass into the instcombine library call simplifier.
I have typically migrated just one simplifier at a time, but the math
simplifiers are interdependent because:
1. CosOpt, PowOpt, and Exp2Opt all depend on UnaryDoubleFPOpt.
2. CosOpt, PowOpt, Exp2Opt, and UnaryDoubleFPOpt all depend on
the option -enable-double-float-shrink.
These two factors made migrating each of these simplifiers individually
more of a pain than it would be worth. So, I migrated them all together.
llvm-svn: 167815
|
|
|
|
|
|
|
| |
This patch migrates the memset optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167689
|
|
|
|
|
|
|
| |
This patch migrates the memmove optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167687
|
|
|
|
|
|
|
| |
This patch migrates the memcmp optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167683
|
|
|
|
|
|
|
| |
This patch migrates the strstr optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167682
|
|
|
|
|
|
|
| |
This patch migrates the strcspn optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167675
|
|
|
|
|
|
|
| |
This patch migrates the strspn optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167568
|
|
|
|
|
|
|
| |
This patch migrates the strto* optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167119
|
|
|
|
|
|
|
| |
This patch migrates the strpbrk optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167105
|
|
|
|
|
|
|
| |
This patch migrates the strlen optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167103
|
|
|
|
|
|
|
| |
This patch migrates the strncpy optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 167102
|
|
|
|
|
|
|
|
| |
This patch migrates the stpcpy optimizations from the simplify-libcalls
pass into the instcombine library call simplifier. Note that the
__stpcpy_chk simplifications were migrated in a previous commit.
llvm-svn: 167083
|
|
|
|
|
|
|
|
| |
input is zero.
Fixes PR13028.
llvm-svn: 166313
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch migrates the strcpy optimizations from the simplify-libcalls pass
into the instcombine library call simplifier. Note also that StrCpyChkOpt
has been updated with a few simplifications that were being done in the
simplify-libcalls version of StrCpyOpt, but not in the migrated implementation
of StrCpyOpt. There is no reason to overload StrCpyOpt with fortified and
regular simplifications in the new model since there is already a dedicated
simplifier for __strcpy_chk.
llvm-svn: 166198
|
|
|
|
|
|
|
| |
This patch migrates the strcmp and strncmp optimizations from the
simplify-libcalls pass into the instcombine library call simplifier.
llvm-svn: 165915
|
|
|
|
|
|
|
| |
This patch migrates the strchr and strrchr optimizations from the
simplify-libcalls pass into the instcombine library call simplifier.
llvm-svn: 165875
|
|
|
|
|
|
|
| |
This patch migrates the strcat and strncat optimizations from the
simplify-libcalls pass into the instcombine library call simplifier.
llvm-svn: 165874
|
|
|
|
| |
llvm-svn: 162383
|
|
|
|
| |
llvm-svn: 162370
|
|
|
|
| |
llvm-svn: 162369
|
|
|
|
|
|
| |
to shrink from double to float.
llvm-svn: 162173
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
another mechanical change accomplished though the power of terrible Perl
scripts.
I have manually switched some "s to 's to make escaping simpler.
While I started this to fix tests that aren't run in all configurations,
the massive number of tests is due to a really frustrating fragility of
our testing infrastructure: things like 'grep -v', 'not grep', and
'expected failures' can mask broken tests all too easily.
Essentially, I'm deeply disturbed that I can change the testsuite so
radically without causing any change in results for most platforms. =/
llvm-svn: 159547
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was done through the aid of a terrible Perl creation. I will not
paste any of the horrors here. Suffice to say, it require multiple
staged rounds of replacements, state carried between, and a few
nested-construct-parsing hacks that I'm not proud of. It happens, by
luck, to be able to deal with all the TCL-quoting patterns in evidence
in the LLVM test suite.
If anyone is maintaining large out-of-tree test trees, feel free to poke
me and I'll send you the steps I used to convert things, as well as
answer any painful questions etc. IRC works best for this type of thing
I find.
Once converted, switch the LLVM lit config to use ShTests the same as
Clang. In addition to being able to delete large amounts of Python code
from 'lit', this will also simplify the entire test suite and some of
lit's architecture.
Finally, the test suite runs 33% faster on Linux now. ;]
For my 16-hardware-thread (2x 4-core xeon e5520): 36s -> 24s
llvm-svn: 159525
|
|
|
|
|
|
| |
perfectly ok to mark realloc as noalias
llvm-svn: 159175
|
|
|
|
|
|
| |
whole thing should be upgraded to use the MemoryBuiltin interface anyway..
llvm-svn: 159173
|
|
|
|
|
|
|
|
| |
objectsize intrinsic.
After a lot of discussion, we realized it's not the best option for run-time bounds checking
llvm-svn: 157255
|
|
|
|
| |
llvm-svn: 157051
|
|
|
|
| |
llvm-svn: 156815
|