Andrew Lenharth [Fri, 1 Jul 2005 19:12:13 +0000 (19:12 +0000)]
simplify call code, remove pseudo ops for div and rem, track more loads and stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Jul 2005 06:40:58 +0000 (06:40 +0000)]
remove some debugging code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22321
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 30 Jun 2005 19:32:57 +0000 (19:32 +0000)]
oops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22320
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 30 Jun 2005 19:22:37 +0000 (19:22 +0000)]
FP EXTLOAD is not support on all archs, expand to LOAD and FP_EXTEND
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 30 Jun 2005 07:29:44 +0000 (07:29 +0000)]
Fix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll.
The optimization for locally used allocas was not safe for allocas that
were read before they were written. This change disables that optimization
in that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22318
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 30 Jun 2005 07:28:54 +0000 (07:28 +0000)]
new testcase for PR590
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22317
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 30 Jun 2005 00:53:20 +0000 (00:53 +0000)]
Make the x86 asm printer darwin-aware. This mostly entails doing the same
thing as cygwin most of the time, and printing our alignments in log2
rather than number of bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22316
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 18:54:02 +0000 (18:54 +0000)]
restore old srcValueNode behavior and try to to work around it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22315
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Jun 2005 17:41:25 +0000 (17:41 +0000)]
Don't crash on a query where the block is not in any loop. Thanks to
Sameer D. Sahasrabuddhe for pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22314
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 29 Jun 2005 16:22:34 +0000 (16:22 +0000)]
Bug fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22313
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 29 Jun 2005 15:57:50 +0000 (15:57 +0000)]
Doh! Forgot to LLVMify the style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22312
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 15:57:19 +0000 (15:57 +0000)]
tracking the instructions causing loads and stores provides more information than just the pointer being loaded or stored
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22311
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 29 Jun 2005 15:03:18 +0000 (15:03 +0000)]
Basic fix for PR#591; don't convert an fprintf() to an fwrite() if there
is a mismatch in their character type pointers (i.e. fprintf() prints an
array of ubytes while fwrite() takes an array of sbytes).
We can probably do better than this (such as casting the ubyte to an
sbyte).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22310
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 13:35:05 +0000 (13:35 +0000)]
thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22309
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 12:49:51 +0000 (12:49 +0000)]
unify SelectExpr and SelectFP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22308
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 12:23:34 +0000 (12:23 +0000)]
fix most regressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22307
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 00:39:17 +0000 (00:39 +0000)]
support more relocations for stores also
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22306
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 29 Jun 2005 00:31:08 +0000 (00:31 +0000)]
Get rid of all symbolic loads. I now do gernate all relocations sequences
rather than relying on the assembler. Only a few more pseudo instructions
left. Also merge load code paths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22305
91177308-0d34-0410-b5e6-
96231b3b80d8
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