oota-llvm.git
18 years agoAdd support to the X86 backend for emitting ELF files. To use this, we
Chris Lattner [Mon, 27 Jun 2005 06:30:12 +0000 (06:30 +0000)]
Add support to the X86 backend for emitting ELF files.  To use this, we
currently use: llc t.bc --filetype=obj

This will produce a t.o file which is dumpable with readelf.  Currently
the file produced is empty, but the scaffolding to do more is now in place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22292 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoiniital checkin of ELFWriter implementation
Chris Lattner [Mon, 27 Jun 2005 06:29:00 +0000 (06:29 +0000)]
iniital checkin of ELFWriter implementation

For now, the elf writer is only capable of emitting an empty elf file, with
a section table and a section table string table.  This will be enhanced
in the future :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22291 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoiniital checkin of ELFWriter header.
Chris Lattner [Mon, 27 Jun 2005 06:28:45 +0000 (06:28 +0000)]
iniital checkin of ELFWriter header.

For now, the elf writer is only capable of emitting an empty elf file, with
a section table and a section table string table.  This will be enhanced
in the future :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22290 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agodepend more on legalize putting constants on the RHS
Andrew Lenharth [Sun, 26 Jun 2005 23:01:11 +0000 (23:01 +0000)]
depend more on legalize putting constants on the RHS

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22289 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWith setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand), Legalize
Andrew Lenharth [Sun, 26 Jun 2005 22:23:06 +0000 (22:23 +0000)]
With setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand), Legalize
should be able to handle this case.  The code is there, so let's see
if it works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22288 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a new -filetype argument to llc.
Chris Lattner [Sat, 25 Jun 2005 03:32:05 +0000 (03:32 +0000)]
add a new -filetype argument to llc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22287 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd some new file types
Chris Lattner [Sat, 25 Jun 2005 03:31:43 +0000 (03:31 +0000)]
add some new file types

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22286 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agominor cleanups, use copy ctor instead of manually doing it.
Chris Lattner [Sat, 25 Jun 2005 03:00:34 +0000 (03:00 +0000)]
minor cleanups, use copy ctor instead of manually doing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22285 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agorefactor this interface
Chris Lattner [Sat, 25 Jun 2005 02:50:35 +0000 (02:50 +0000)]
refactor this interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22284 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRefactor the addPassesToEmitAssembly interface into a addPassesToEmitFile
Chris Lattner [Sat, 25 Jun 2005 02:48:37 +0000 (02:48 +0000)]
Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile
interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22282 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agorefactor these interfaces a bit
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

18 years agoimprove comments
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

18 years agoFix grammar
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

18 years agoadd a note about variable length array
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

18 years agoadd a debug type
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

18 years agoremove a pseudo instruction, make ret always right, and fix vararg chains
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

18 years agofinally, Working varargs
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

18 years agomore complete Lowering for vacopy and vaarg
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

18 years agoIf we support structs as va_list, we must pass pointers to them to va_copy
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

18 years agoSelectionDAG is very unhappy when the argument to an intrinsic is a struct
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

18 years agoMake it easier to find alpha stuff in doxygen, and fixup labeling
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

18 years agoFixed indentation.
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

18 years agobecause some functions just use va_start and pass things to vfprintf
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

18 years agothe correct fix was to fix AliasAnalysis.getModRefInfo
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

18 years agomake AliasAnalysis know that VAArg writes memory. This is extremely conservative...
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

18 years agoprevent GCSE from forwarding stores to loads around vaarg. This is uggly, and I...
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

18 years agoprevent va_arg from being hoisted from a loop
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

18 years agofix DCE + va_arg problem
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

18 years agoprevent DCE of vaarg intrinsics. This should take care of most regressions
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

18 years agova_end fix
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

18 years agoso this doesn't crash when run. It is hard to tell if things are right enough to...
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

18 years agoadd a check for the mixing of vaarg and vanext with va_arg
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

18 years agoIgnore the configure.out file generated by "make reconfigure"
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

18 years agoIgnore some generated files.
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

18 years agoIgnore generated files.
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

18 years agoFix this test case to actually test the new va_arg instruction not the
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

18 years agoOK, at least get rid of old stuff, and mark what needs to be fixed for V9
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

18 years agocore changes for varargs
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

18 years agoheader file changes for varargs
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

18 years agonew vararg test
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

18 years agoOK, after checking the backwards compatibility code on X86 and the new code
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

18 years agoFix a problem with the strcmp optimization checking the wrong string and
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

18 years agoClean up some uninitialized variables and missing return statements that
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

18 years agoMake sure a variable is initialized before use to clean up a warning from
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

18 years agoA start at a Sparc V8 Pattern ISel. Anyone want to implement the calling
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

18 years agosilence incredibly braindead GCC 4 warning
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

18 years agosilence a bogus warning
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

18 years agosilence a huge number of bogus warnings with GCC 4 on Reid's tester.
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

18 years agoRemoved IIIi specific changes. This should be fixed to add floating point deps for...
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

18 years agoSpecial dep graph for SMS for superblocks.
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

18 years agoSpecial versions of the dep graph and scheduled for SMS for superblocks.
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

18 years agoAdded statistic to count number of spills.
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

18 years agoNumerous bug fixes and the completed modschedSB algorithm (minor bugs still exist...
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

18 years agoAdded SMS for superblocks as an option (experimental)
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

18 years agoAdded ModuloSchedSB as a friend class.
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

18 years agoThis is not true: (X != 13 | X < 15) -> X < 15
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

18 years agonew testcase for PR586
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

18 years agoDon't crash when dealing with INTMIN. This fixes PR585 and
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

18 years agonew testcase for PR585
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

18 years agoDon't crash on: X = phi (X, X).
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

18 years agonew testcase for PR584
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

18 years agoavoid constructing out of range shift amounts.
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

18 years agoFix bug 537 test 2, which checks to make sure that we fold A+(B-A) -> B for
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

18 years agoFix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
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

18 years agonew testcase for PR583
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

18 years agoFix PR571, removing code that does just the WRONG thing :)
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

18 years agoFix a bug in my previous patch. Do not get the shift amount type (which
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

18 years agoFix PR575, patch provided by John Mellor-Crummey. Thanks!
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

18 years agonew testcase for PR580
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

18 years agoFix PR582. The rewriter can move casts around, which invalidated the
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

18 years agonew testcase for PR582
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

18 years agoDo not promote globals only used by main to locals if there are constantexprs
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

18 years agonew testcase for PR579
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

18 years agoFix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.
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

18 years agonew testcase for PR577
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

18 years agoDon't lie to the casual reader about Value subclassing from Annotable.
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

18 years agoAdd some operators the PowerPC backend needs to efficiently and correctly
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

18 years agoPut the hack back in that removes features, causes regressions to fail, but
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

18 years agoCommit fix for generating conditional branch pseudo instructions that
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

18 years agonothing funny about building the CFE on Linux/Itanium
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

18 years agoCommit a small improvement that is already in the x86 and ia64 backends to
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

18 years agoUnbreak several InstCombine regression checks introduced by a hack to
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

18 years agoWhen compiled with GCC 4.0, a latent bug was exposed where both SparcV9
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

18 years agoFix a memory smasher caught by Mac OS X's debug malloc library. We were
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

18 years agoFix a 64-bit problem, passing (int)0 through ... instead of (void*)0
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

18 years agoFix a problem on 64-bit targets where we passed (int)0 through ... instead of
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

18 years agomake SparcV8 and V9 seperately configurable
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

18 years agofix BranchCC with a setCC with an arg of 0
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

18 years agoFor PR572:
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

18 years agoHandle some more real world cases of rlwimi. These don't come up that
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

18 years agoFix lli linking on Mac OS X 10.4.1 for Intel.
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

18 years agoRemove code for conversion from old style va_args. Preparing the way for
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

18 years agoWe also have V8, so do not force every Sparc to be treated like a V9. It is
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

18 years ago* Add ability to specify the target LLVM will compile for via configure
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

18 years agoFix spelling of `correlate'
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

18 years agoallow marking of loads and stores in the instruction stream with enough information...
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

18 years agohide basic block labels. The utility of these for debuging is long since passed
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

18 years ago* Replace block of commented-out lines with #if 0
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

18 years agohack to fix bzip2 (bug 571)
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

18 years agoFix the definitions of LLVMGCC and LLVMGXX to include the EXEEXT (the
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