Chris Lattner [Sat, 25 Jun 2005 02:47:50 +0000 (02:47 +0000)]
refactor these interfaces a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22281
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jun 2005 18:17:33 +0000 (18:17 +0000)]
improve comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22280
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jun 2005 18:00:40 +0000 (18:00 +0000)]
Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22279
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jun 2005 17:22:57 +0000 (17:22 +0000)]
add a note about variable length array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22278
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jun 2005 16:00:46 +0000 (16:00 +0000)]
add a debug type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22277
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 23 Jun 2005 23:42:05 +0000 (23:42 +0000)]
remove a pseudo instruction, make ret always right, and fix vararg chains
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22276
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 23 Jun 2005 16:48:51 +0000 (16:48 +0000)]
finally, Working varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22275
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 22 Jun 2005 23:04:28 +0000 (23:04 +0000)]
more complete Lowering for vacopy and vaarg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22274
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 22 Jun 2005 21:04:42 +0000 (21:04 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22273
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 22 Jun 2005 20:38:11 +0000 (20:38 +0000)]
SelectionDAG is very unhappy when the argument to an intrinsic is a struct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22272
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 22 Jun 2005 17:19:45 +0000 (17:19 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22271
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 20 Jun 2005 19:59:22 +0000 (19:59 +0000)]
Fixed indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22270
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 20 Jun 2005 15:41:37 +0000 (15:41 +0000)]
because some functions just use va_start and pass things to vfprintf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22269
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 20 Jun 2005 15:25:22 +0000 (15:25 +0000)]
the correct fix was to fix AliasAnalysis.getModRefInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22268
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 20 Jun 2005 15:24:23 +0000 (15:24 +0000)]
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22267
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 20 Jun 2005 15:02:05 +0000 (15:02 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22266
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 20 Jun 2005 13:36:33 +0000 (13:36 +0000)]
prevent va_arg from being hoisted from a loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22265
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 19 Jun 2005 14:46:20 +0000 (14:46 +0000)]
fix DCE + va_arg problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22264
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 19 Jun 2005 14:41:20 +0000 (14:41 +0000)]
prevent DCE of vaarg intrinsics. This should take care of most regressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22263
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 19 Jun 2005 14:04:55 +0000 (14:04 +0000)]
va_end fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22262
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 19 Jun 2005 05:45:00 +0000 (05:45 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22261
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 19 Jun 2005 03:53:56 +0000 (03:53 +0000)]
add a check for the mixing of vaarg and vanext with va_arg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22260
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 23:01:25 +0000 (23:01 +0000)]
Ignore the configure.out file generated by "make reconfigure"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22259
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 23:00:34 +0000 (23:00 +0000)]
Ignore some generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22258
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 22:59:31 +0000 (22:59 +0000)]
Ignore generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22257
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 20:27:32 +0000 (20:27 +0000)]
Fix this test case to actually test the new va_arg instruction not the
old vaarg instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22256
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 18 Jun 2005 18:46:40 +0000 (18:46 +0000)]
OK, at least get rid of old stuff, and mark what needs to be fixed for V9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22255
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 18 Jun 2005 18:34:52 +0000 (18:34 +0000)]
core changes for varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22254
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 18 Jun 2005 18:31:30 +0000 (18:31 +0000)]
header file changes for varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22253
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 18 Jun 2005 18:30:37 +0000 (18:30 +0000)]
new vararg test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22252
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 18 Jun 2005 18:28:17 +0000 (18:28 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22251
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 17:46:28 +0000 (17:46 +0000)]
Fix a problem with the strcmp optimization checking the wrong string and
not casting to the correct type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22250
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 17:37:34 +0000 (17:37 +0000)]
Clean up some uninitialized variables and missing return statements that
GCC 4.0.0 compiler (sometimes incorrectly) warns about under release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22249
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Jun 2005 16:53:27 +0000 (16:53 +0000)]
Make sure a variable is initialized before use to clean up a warning from
GCC 4.0.0 in release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22248
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 17 Jun 2005 16:52:12 +0000 (16:52 +0000)]
A start at a Sparc V8 Pattern ISel. Anyone want to implement the calling
convention? ;)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 13:44:07 +0000 (13:44 +0000)]
silence incredibly braindead GCC 4 warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 13:23:32 +0000 (13:23 +0000)]
silence a bogus warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 13:20:15 +0000 (13:20 +0000)]
silence a huge number of bogus warnings with GCC 4 on Reid's tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22244
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:21:09 +0000 (04:21 +0000)]
Removed IIIi specific changes. This should be fixed to add floating point deps for the IIi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22243
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:16:14 +0000 (04:16 +0000)]
Special dep graph for SMS for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22242
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:15:43 +0000 (04:15 +0000)]
Special versions of the dep graph and scheduled for SMS for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22241
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:01:34 +0000 (04:01 +0000)]
Added statistic to count number of spills.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22240
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:00:57 +0000 (04:00 +0000)]
Numerous bug fixes and the completed modschedSB algorithm (minor bugs still exist for course).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22239
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 04:00:22 +0000 (04:00 +0000)]
Added SMS for superblocks as an option (experimental)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22238
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 17 Jun 2005 03:59:51 +0000 (03:59 +0000)]
Added ModuloSchedSB as a friend class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22237
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 03:59:17 +0000 (03:59 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 03:58:30 +0000 (03:58 +0000)]
new testcase for PR586
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 02:05:55 +0000 (02:05 +0000)]
Don't crash when dealing with INTMIN. This fixes PR585 and
Transforms/InstCombine/2005-06-16-RangeCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 02:04:47 +0000 (02:04 +0000)]
new testcase for PR585
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 01:45:53 +0000 (01:45 +0000)]
Don't crash on: X = phi (X, X).
This fixes PR584 and Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 01:45:03 +0000 (01:45 +0000)]
new testcase for PR584
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jun 2005 01:29:28 +0000 (01:29 +0000)]
avoid constructing out of range shift amounts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22230
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 16 Jun 2005 07:06:03 +0000 (07:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jun 2005 04:55:52 +0000 (04:55 +0000)]
Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jun 2005 04:55:29 +0000 (04:55 +0000)]
new testcase for PR583
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jun 2005 03:00:08 +0000 (03:00 +0000)]
Fix PR571, removing code that does just the WRONG thing :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jun 2005 01:52:07 +0000 (01:52 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 22:49:30 +0000 (22:49 +0000)]
Fix PR575, patch provided by John Mellor-Crummey. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 22:42:53 +0000 (22:42 +0000)]
new testcase for PR580
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 21:29:31 +0000 (21:29 +0000)]
Fix PR582. The rewriter can move casts around, which invalidated the
BB iterator. This fixes Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 21:28:55 +0000 (21:28 +0000)]
new testcase for PR582
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 21:11:48 +0000 (21:11 +0000)]
Do not promote globals only used by main to locals if there are constantexprs
or other uses hanging off of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 21:11:18 +0000 (21:11 +0000)]
new testcase for PR579
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22218
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 20:53:31 +0000 (20:53 +0000)]
Fix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.
Do not perform undefined out of range shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Jun 2005 20:52:39 +0000 (20:52 +0000)]
new testcase for PR577
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22216
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 15 Jun 2005 18:40:45 +0000 (18:40 +0000)]
Don't lie to the casual reader about Value subclassing from Annotable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22215
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 15 Jun 2005 18:28:44 +0000 (18:28 +0000)]
Add some operators the PowerPC backend needs to efficiently and correctly
generate conditional branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22214
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 15 Jun 2005 18:25:30 +0000 (18:25 +0000)]
Put the hack back in that removes features, causes regressions to fail, but
allows test programs to succeed. Actual fix for this is forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22213
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 15 Jun 2005 18:22:43 +0000 (18:22 +0000)]
Commit fix for generating conditional branch pseudo instructions that
avoids dereferencing the end() iterator when selecting the fallthrough
block. This requires an ilist change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22212
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Tue, 14 Jun 2005 07:29:50 +0000 (07:29 +0000)]
nothing funny about building the CFE on Linux/Itanium
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22211
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 14 Jun 2005 03:55:23 +0000 (03:55 +0000)]
Commit a small improvement that is already in the x86 and ia64 backends to
not generate unnecessary register copies. This improves compile time by
2-5% depending on the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22210
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 13 Jun 2005 06:41:26 +0000 (06:41 +0000)]
Unbreak several InstCombine regression checks introduced by a hack to
fix the bzip2 test. A better hack is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22209
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 12 Jun 2005 23:52:58 +0000 (23:52 +0000)]
When compiled with GCC 4.0, a latent bug was exposed where both SparcV9
and the target independant register allocator were both using a class named
'LiveRange'. This lead to the target independant code calling code in the
SparcV9 backend, which crashed. Fixed by renaming SparcV9's LiveRange to
V9LiveRange.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22208
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 12 Jun 2005 23:50:33 +0000 (23:50 +0000)]
Fix a memory smasher caught by Mac OS X's debug malloc library. We were
incorrectly using an iterator after it was invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jun 2005 03:32:54 +0000 (03:32 +0000)]
Fix a 64-bit problem, passing (int)0 through ... instead of (void*)0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jun 2005 02:59:00 +0000 (02:59 +0000)]
Fix a problem on 64-bit targets where we passed (int)0 through ... instead of
(void*)0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22205
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 8 Jun 2005 22:32:51 +0000 (22:32 +0000)]
make SparcV8 and V9 seperately configurable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22204
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 8 Jun 2005 18:02:21 +0000 (18:02 +0000)]
fix BranchCC with a setCC with an arg of 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22203
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 8 Jun 2005 17:44:48 +0000 (17:44 +0000)]
For PR572:
Undefine the PPC symbol which is defined by Linux/PPC (erroneously) so it
doesn't pollute the user namespace and clash with our namespace declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22202
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 8 Jun 2005 04:14:27 +0000 (04:14 +0000)]
Handle some more real world cases of rlwimi. These don't come up that
regularly in "normal" code, but for things like software graphics, they
make a big difference.
For the following code:
unsigned short Trans16Bit(unsigned srcA,unsigned srcB,unsigned alpha)
{
unsigned tmpA,tmpB,mixed;
tmpA = ((srcA & 0x03E0) << 15) | (srcA & 0x7C1F);
tmpB = ((srcB & 0x03E0) << 15) | (srcB & 0x7C1F);
mixed = (tmpA * alpha) + (tmpB * (32 - alpha));
return ((mixed >> 5) & 0x7C1F) | ((mixed >> 20) & 0x03E0);
}
We now generate:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
andi. r2, r4, 31775
rlwimi r2, r4, 15, 7, 11
subfic r4, r5, 32
mullw r2, r2, r4
andi. r4, r3, 31775
rlwimi r4, r3, 15, 7, 11
mullw r3, r4, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
rlwimi r3, r2, 12, 22, 26
blr
Instead of:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
slwi r2, r4, 15
rlwinm r2, r2, 0, 7, 11
andi. r4, r4, 31775
or r2, r2, r4
subfic r4, r5, 32
mullw r2, r2, r4
slwi r4, r3, 15
rlwinm r4, r4, 0, 7, 11
andi. r3, r3, 31775
or r3, r4, r3
mullw r3, r3, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
srwi r2, r2, 20
rlwimi r3, r2, 0, 22, 26
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22201
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 8 Jun 2005 01:02:38 +0000 (01:02 +0000)]
Fix lli linking on Mac OS X 10.4.1 for Intel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22200
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 8 Jun 2005 00:49:08 +0000 (00:49 +0000)]
Remove code for conversion from old style va_args. Preparing the way for
returning to the old style :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22199
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Jun 2005 19:29:36 +0000 (19:29 +0000)]
We also have V8, so do not force every Sparc to be treated like a V9. It is
still possible to force V9 (even if configure doesn't think it's one) via
``./configure --target=sparcv9-sun-solaris2.8'' so nothing is lost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22198
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Jun 2005 19:17:05 +0000 (19:17 +0000)]
* Add ability to specify the target LLVM will compile for via configure
* Minor whitespace cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22197
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Jun 2005 19:08:04 +0000 (19:08 +0000)]
Fix spelling of `correlate'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22196
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 6 Jun 2005 19:03:55 +0000 (19:03 +0000)]
allow marking of loads and stores in the instruction stream with enough information to reconstruct the Value* if it existed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22195
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 6 Jun 2005 19:03:09 +0000 (19:03 +0000)]
hide basic block labels. The utility of these for debuging is long since passed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22194
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Jun 2005 17:39:46 +0000 (17:39 +0000)]
* Replace block of commented-out lines with #if 0
* Remove warning "control reaches end of non-void function"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22193
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 4 Jun 2005 12:43:56 +0000 (12:43 +0000)]
hack to fix bzip2 (bug 571)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22192
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Jun 2005 22:34:49 +0000 (22:34 +0000)]
Fix the definitions of LLVMGCC and LLVMGXX to include the EXEEXT (the
.exe extension) on Cygwin. This fixes the last few remaining Cygwin
issues. Thanks to Aaron Gray for tracking this down.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22191
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Jun 2005 21:33:19 +0000 (21:33 +0000)]
Make sure that Cygwin assembly includes _ as part of function names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22190
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Jun 2005 05:38:20 +0000 (05:38 +0000)]
Put in a hack for Cygwin that prevents mkdtemp from being used since
configure seems to find it on Cygwin but linking against it fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22189
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 May 2005 19:49:34 +0000 (19:49 +0000)]
try custom expanders, doesn't seem to expand yet, so disabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22188
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 May 2005 18:42:18 +0000 (18:42 +0000)]
switch to the new live in thing. Really, this time it works
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22187
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 May 2005 18:37:16 +0000 (18:37 +0000)]
switch to the new live in thing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22186
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 May 2005 18:35:43 +0000 (18:35 +0000)]
switch to the new live in thing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22185
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 May 2005 00:49:24 +0000 (00:49 +0000)]
Make sure the tools get built if no build target is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22184
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 27 May 2005 03:39:30 +0000 (03:39 +0000)]
match gcc, makes diff easier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22179
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 May 2005 18:18:34 +0000 (18:18 +0000)]
Fix 2005-05-12-Int64ToFP
The issue is there is no unsigned -> double conversion, only signed. So I
need to test the sign and do a different thing depending on it. Ideally
this should be in a different BB, but in the mean time, I use a branch
free method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22177
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 26 May 2005 16:28:55 +0000 (16:28 +0000)]
Add a -cvstag option for testing specific branches, such as release candidates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22176
91177308-0d34-0410-b5e6-
96231b3b80d8