oota-llvm.git
19 years agoFix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll.
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

19 years agonew testcase for PR590
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

19 years agoMake the x86 asm printer darwin-aware. This mostly entails doing the same
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

19 years agorestore old srcValueNode behavior and try to to work around it
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

19 years agoDon't crash on a query where the block is not in any loop. Thanks to
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

19 years agoBug fixed.
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

19 years agoDoh! Forgot to LLVMify the style.
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

19 years agotracking the instructions causing loads and stores provides more information than...
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

19 years agoBasic fix for PR#591; don't convert an fprintf() to an fwrite() if there
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

19 years agothinko
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

19 years agounify SelectExpr and SelectFP
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

19 years agofix most regressions
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

19 years agosupport more relocations for stores also
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

19 years agoGet rid of all symbolic loads. I now do gernate all relocations sequences
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

19 years agoAdd ElfWriter stuff to Visual Studio
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

19 years agosome call work
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

19 years agoAdapt the code for handling uint -> fp conversion for the 32 bit case to
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

19 years agoSo, it turns out I forgot that one valid way of restoring GP after a call
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

19 years agoInitial set of .td file changes necessary to get scalar fp in xmm registers
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

19 years agoget rid of another pseudo op
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

19 years agogenerate address of constant pool entries
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

19 years agoMisha happification patch
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

19 years agoReduce use of pseudo ops
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

19 years agomissed a load
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

19 years agomake constant pool labels local
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

19 years agowho said we had to use the return address in the return address register. Might...
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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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

19 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