1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
Commit Graph

19027 Commits

Author SHA1 Message Date
Andrew Lenharth
51d9d1b763 finally, Working varargs
llvm-svn: 22275
2005-06-23 16:48:51 +00:00
Andrew Lenharth
eda77c60a0 more complete Lowering for vacopy and vaarg
llvm-svn: 22274
2005-06-22 23:04:28 +00:00
Andrew Lenharth
4fd2bde906 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
0d30c53b5f 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
e54b651806 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
00c8485c77 Fixed indentation.
llvm-svn: 22270
2005-06-20 19:59:22 +00:00
Andrew Lenharth
ce6f907ffe 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
4e1c8055ea the correct fix was to fix AliasAnalysis.getModRefInfo
llvm-svn: 22268
2005-06-20 15:25:22 +00:00
Andrew Lenharth
8ff5960b39 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
262b657737 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
08ff634c2b prevent va_arg from being hoisted from a loop
llvm-svn: 22265
2005-06-20 13:36:33 +00:00
Andrew Lenharth
ce40ab3077 fix DCE + va_arg problem
llvm-svn: 22264
2005-06-19 14:46:20 +00:00
Andrew Lenharth
cdaaa66e7d 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
231216b573 va_end fix
llvm-svn: 22262
2005-06-19 14:04:55 +00:00
Andrew Lenharth
4a1dc74471 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
6bbe9d92c6 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
156f57a605 Ignore the configure.out file generated by "make reconfigure"
llvm-svn: 22259
2005-06-18 23:01:25 +00:00
Reid Spencer
750bfcaba8 Ignore some generated files.
llvm-svn: 22258
2005-06-18 23:00:34 +00:00
Reid Spencer
d52740ca20 Ignore generated files.
llvm-svn: 22257
2005-06-18 22:59:31 +00:00
Reid Spencer
b0798d1f2b 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
5750531305 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
a9214fec08 core changes for varargs
llvm-svn: 22254
2005-06-18 18:34:52 +00:00
Andrew Lenharth
108f509fb5 header file changes for varargs
llvm-svn: 22253
2005-06-18 18:31:30 +00:00
Andrew Lenharth
f6b033a01f new vararg test
llvm-svn: 22252
2005-06-18 18:30:37 +00:00
Andrew Lenharth
70a6a4b463 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
a6012f9023 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
678c9a3b00 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
58090fdf3d 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
0bb2dab54a 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
70914ca850 silence incredibly braindead GCC 4 warning
llvm-svn: 22246
2005-06-17 13:44:07 +00:00
Chris Lattner
dce633f2dd silence a bogus warning
llvm-svn: 22245
2005-06-17 13:23:32 +00:00
Chris Lattner
96e6d65c22 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
2114488760 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
c6760c1661 Special dep graph for SMS for superblocks.
llvm-svn: 22242
2005-06-17 04:16:14 +00:00
Tanya Lattner
7b1d09e9b2 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
6d38454b14 Added statistic to count number of spills.
llvm-svn: 22240
2005-06-17 04:01:34 +00:00
Tanya Lattner
3d6e51fdac 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
df10cee694 Added SMS for superblocks as an option (experimental)
llvm-svn: 22238
2005-06-17 04:00:22 +00:00
Tanya Lattner
e8f3fe8b46 Added ModuloSchedSB as a friend class.
llvm-svn: 22237
2005-06-17 03:59:51 +00:00
Chris Lattner
11bbeace0c 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
e1cd9ee2f5 new testcase for PR586
llvm-svn: 22235
2005-06-17 03:58:30 +00:00
Chris Lattner
01a5794292 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
6da2f63146 new testcase for PR585
llvm-svn: 22233
2005-06-17 02:04:47 +00:00
Chris Lattner
8c76d5c957 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
53d776a6fd new testcase for PR584
llvm-svn: 22231
2005-06-17 01:45:03 +00:00
Chris Lattner
226f919ead avoid constructing out of range shift amounts.
llvm-svn: 22230
2005-06-17 01:29:28 +00:00
Nate Begeman
ed49a51836 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
f95b989825 Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
llvm-svn: 22227
2005-06-16 04:55:52 +00:00
Chris Lattner
95b9f36fc5 new testcase for PR583
llvm-svn: 22226
2005-06-16 04:55:29 +00:00
Chris Lattner
4af04a8d54 Fix PR571, removing code that does just the WRONG thing :)
llvm-svn: 22225
2005-06-16 03:00:08 +00:00