Jeff Cohen [Tue, 28 Jun 2005 02:43:03 +0000 (02:43 +0000)]
Add ElfWriter stuff to Visual Studio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22304
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 23:59:51 +0000 (23:59 +0000)]
some call work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22303
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 23:28:32 +0000 (23:28 +0000)]
Adapt the code for handling uint -> fp conversion for the 32 bit case to
handling it in the 64 bit case. The two code paths should probably be merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22302
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 23:24:11 +0000 (23:24 +0000)]
So, it turns out I forgot that one valid way of restoring GP after a call
is to use RA, which assumes the called function uses RA for the register
holding the return address when it issues a ret.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22301
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 27 Jun 2005 21:20:31 +0000 (21:20 +0000)]
Initial set of .td file changes necessary to get scalar fp in xmm registers
working. The instruction selector changes will hopefully be coming later
this week once they are debugged. This is necessary to support the darwin
x86 FP model, and is recommended by intel as the replacement for x87. As
a bonus, the register allocator knows how to deal with these registers
across basic blocks, unliky the FP stackifier. This leads to significantly
better codegen in several cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22300
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 21:11:40 +0000 (21:11 +0000)]
get rid of another pseudo op
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22299
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 21:02:56 +0000 (21:02 +0000)]
generate address of constant pool entries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22298
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 17:39:17 +0000 (17:39 +0000)]
Misha happification patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22297
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 17:15:36 +0000 (17:15 +0000)]
Reduce use of pseudo ops
Namely, output the rellocation flags explicitly when loading constants.
Added benifit: save a load when loading from the constant pool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22296
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 16:40:26 +0000 (16:40 +0000)]
missed a load
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22295
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 16:29:54 +0000 (16:29 +0000)]
make constant pool labels local
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22294
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Jun 2005 15:36:48 +0000 (15:36 +0000)]
who said we had to use the return address in the return address register. Might save a move in many cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22293
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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