Andrew Lenharth
253145299b
If we support structs as va_list, we must pass pointers to them to va_copy
...
See last commit for LangRef, this implements it on all targets.
llvm-svn: 22273
2005-06-22 21:04:42 +00:00
Andrew Lenharth
5305ea5c86
SelectionDAG is very unhappy when the argument to an intrinsic is a struct
...
llvm-svn: 22272
2005-06-22 20:38:11 +00:00
Andrew Lenharth
cf9008afea
Make it easier to find alpha stuff in doxygen, and fixup labeling
...
of memory instructions in the assembly, to allow later linking
of traces with LLVM Value*s.
llvm-svn: 22271
2005-06-22 17:19:45 +00:00
John Criswell
9cb5a82cdc
Fixed indentation.
...
llvm-svn: 22270
2005-06-20 19:59:22 +00:00
Andrew Lenharth
d6bee05fc4
because some functions just use va_start and pass things to vfprintf
...
llvm-svn: 22269
2005-06-20 15:41:37 +00:00
Andrew Lenharth
5488847304
the correct fix was to fix AliasAnalysis.getModRefInfo
...
llvm-svn: 22268
2005-06-20 15:25:22 +00:00
Andrew Lenharth
f42d7b54c0
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
...
llvm-svn: 22267
2005-06-20 15:24:23 +00:00
Andrew Lenharth
805d84a077
prevent GCSE from forwarding stores to loads around vaarg. This is uggly, and I am trying to fix the AliasInfo, as it should catch the problem instead.
...
llvm-svn: 22266
2005-06-20 15:02:05 +00:00
Andrew Lenharth
cf52eb2b99
prevent va_arg from being hoisted from a loop
...
llvm-svn: 22265
2005-06-20 13:36:33 +00:00
Andrew Lenharth
2929266127
fix DCE + va_arg problem
...
llvm-svn: 22264
2005-06-19 14:46:20 +00:00
Andrew Lenharth
d4b103107e
prevent DCE of vaarg intrinsics. This should take care of most regressions
...
llvm-svn: 22263
2005-06-19 14:41:20 +00:00
Andrew Lenharth
717f1610f0
va_end fix
...
llvm-svn: 22262
2005-06-19 14:04:55 +00:00
Andrew Lenharth
237e6afde7
so this doesn't crash when run. It is hard to tell if things are right enough to work correctly with all the TmpInstructions running around
...
llvm-svn: 22261
2005-06-19 05:45:00 +00:00
Andrew Lenharth
aa1d999682
add a check for the mixing of vaarg and vanext with va_arg
...
llvm-svn: 22260
2005-06-19 03:53:56 +00:00
Reid Spencer
da180831e4
Ignore the configure.out file generated by "make reconfigure"
...
llvm-svn: 22259
2005-06-18 23:01:25 +00:00
Reid Spencer
5503ee7d88
Ignore some generated files.
...
llvm-svn: 22258
2005-06-18 23:00:34 +00:00
Reid Spencer
ce3f35a84f
Ignore generated files.
...
llvm-svn: 22257
2005-06-18 22:59:31 +00:00
Reid Spencer
ef0d7c6af6
Fix this test case to actually test the new va_arg instruction not the
...
old vaarg instruction.
llvm-svn: 22256
2005-06-18 20:27:32 +00:00
Andrew Lenharth
a4c10cd6f2
OK, at least get rid of old stuff, and mark what needs to be fixed for V9
...
llvm-svn: 22255
2005-06-18 18:46:40 +00:00
Andrew Lenharth
9144ec4764
core changes for varargs
...
llvm-svn: 22254
2005-06-18 18:34:52 +00:00
Andrew Lenharth
4549a86233
header file changes for varargs
...
llvm-svn: 22253
2005-06-18 18:31:30 +00:00
Andrew Lenharth
435054cd1b
new vararg test
...
llvm-svn: 22252
2005-06-18 18:30:37 +00:00
Andrew Lenharth
5fb787c619
OK, after checking the backwards compatibility code on X86 and the new code
...
path on alpha, now has come the time for new vararg support. So, with out
further ado, I revert behavior back a couple of years!
Well, ok, I lied. A few more notes.
First, the Simple ISels cannot be expected to work any longer, but they
should still compile
Second, there are likely some bugs to track down once the nightly testers
start with this.
Third, the initial patch doesn't include sparcv9, but I'll do that today.
Forth, subsequent patches won't bother being long winded.
llvm-svn: 22251
2005-06-18 18:28:17 +00:00
Reid Spencer
a7828baa3c
Fix a problem with the strcmp optimization checking the wrong string and
...
not casting to the correct type.
llvm-svn: 22250
2005-06-18 17:46:28 +00:00
Reid Spencer
4fdd96c4e0
Clean up some uninitialized variables and missing return statements that
...
GCC 4.0.0 compiler (sometimes incorrectly) warns about under release build.
llvm-svn: 22249
2005-06-18 17:37:34 +00:00
Reid Spencer
1fb9d01919
Make sure a variable is initialized before use to clean up a warning from
...
GCC 4.0.0 in release build.
llvm-svn: 22248
2005-06-18 16:53:27 +00:00
Andrew Lenharth
26fc33fd2a
A start at a Sparc V8 Pattern ISel. Anyone want to implement the calling
...
convention? ;)
llvm-svn: 22247
2005-06-17 16:52:12 +00:00
Chris Lattner
3d57b4c75f
silence incredibly braindead GCC 4 warning
...
llvm-svn: 22246
2005-06-17 13:44:07 +00:00
Chris Lattner
459a9cbe1e
silence a bogus warning
...
llvm-svn: 22245
2005-06-17 13:23:32 +00:00
Chris Lattner
8f7da41021
silence a huge number of bogus warnings with GCC 4 on Reid's tester.
...
llvm-svn: 22244
2005-06-17 13:20:15 +00:00
Tanya Lattner
8a78658cc0
Removed IIIi specific changes. This should be fixed to add floating point deps for the IIi.
...
llvm-svn: 22243
2005-06-17 04:21:09 +00:00
Tanya Lattner
123d238dc6
Special dep graph for SMS for superblocks.
...
llvm-svn: 22242
2005-06-17 04:16:14 +00:00
Tanya Lattner
64a1a12dd0
Special versions of the dep graph and scheduled for SMS for superblocks.
...
llvm-svn: 22241
2005-06-17 04:15:43 +00:00
Tanya Lattner
d092f6a71a
Added statistic to count number of spills.
...
llvm-svn: 22240
2005-06-17 04:01:34 +00:00
Tanya Lattner
8bf6374d90
Numerous bug fixes and the completed modschedSB algorithm (minor bugs still exist for course).
...
llvm-svn: 22239
2005-06-17 04:00:57 +00:00
Tanya Lattner
b1ba8df090
Added SMS for superblocks as an option (experimental)
...
llvm-svn: 22238
2005-06-17 04:00:22 +00:00
Tanya Lattner
dba361d134
Added ModuloSchedSB as a friend class.
...
llvm-svn: 22237
2005-06-17 03:59:51 +00:00
Chris Lattner
2ceb6ee576
This is not true: (X != 13 | X < 15) -> X < 15
...
It is actually always true. This fixes PR586 and
Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
llvm-svn: 22236
2005-06-17 03:59:17 +00:00
Chris Lattner
e708353d04
new testcase for PR586
...
llvm-svn: 22235
2005-06-17 03:58:30 +00:00
Chris Lattner
73bcba5f61
Don't crash when dealing with INTMIN. This fixes PR585 and
...
Transforms/InstCombine/2005-06-16-RangeCrash.ll
llvm-svn: 22234
2005-06-17 02:05:55 +00:00
Chris Lattner
d230aee4be
new testcase for PR585
...
llvm-svn: 22233
2005-06-17 02:04:47 +00:00
Chris Lattner
5e735294bf
Don't crash on: X = phi (X, X).
...
This fixes PR584 and Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
llvm-svn: 22232
2005-06-17 01:45:53 +00:00
Chris Lattner
29ae6f6ed9
new testcase for PR584
...
llvm-svn: 22231
2005-06-17 01:45:03 +00:00
Chris Lattner
c53cb9d3ff
avoid constructing out of range shift amounts.
...
llvm-svn: 22230
2005-06-17 01:29:28 +00:00
Nate Begeman
a2e8779b0d
Fix bug 537 test 2, which checks to make sure that we fold A+(B-A) -> B for
...
integer types. Add a couple checks to not perform these kinds of transform
on floating point values.
llvm-svn: 22228
2005-06-16 07:06:03 +00:00
Chris Lattner
89dc4f16f5
Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
...
llvm-svn: 22227
2005-06-16 04:55:52 +00:00
Chris Lattner
69d21ed707
new testcase for PR583
...
llvm-svn: 22226
2005-06-16 04:55:29 +00:00
Chris Lattner
252a845e30
Fix PR571, removing code that does just the WRONG thing :)
...
llvm-svn: 22225
2005-06-16 03:00:08 +00:00
Chris Lattner
104002bee3
Fix a bug in my previous patch. Do not get the shift amount type (which
...
is always ubyte, get the type being shifted). This unbreaks espresso
llvm-svn: 22224
2005-06-16 01:52:07 +00:00
Chris Lattner
d48b127aea
Fix PR575, patch provided by John Mellor-Crummey. Thanks!
...
llvm-svn: 22223
2005-06-15 22:49:30 +00:00