oota-llvm.git
16 years agoRe-apply 40504, but with a fix for the segfault it caused in oggenc:
Dan Gohman [Fri, 27 Jul 2007 17:16:43 +0000 (17:16 +0000)]
Re-apply 40504, but with a fix for the segfault it caused in oggenc:
Make the alignedload and alignedstore patterns always require 16-byte
alignment. This way when they are used in the "Fs" instructions, in which
a vector instruction is used for a scalar purpose, they can still require
the full vector alignment. And add a regression test for this.

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

16 years agoIt seems logical that InReg should be incompatible
Duncan Sands [Fri, 27 Jul 2007 16:45:18 +0000 (16:45 +0000)]
It seems logical that InReg should be incompatible
with StructReturn and ByVal, so make it so.

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

16 years agoAs the number of parameter attributes increases,
Duncan Sands [Fri, 27 Jul 2007 15:09:54 +0000 (15:09 +0000)]
As the number of parameter attributes increases,
Verifier::visitFunction is suffering a combinatorial
explosion due to the number of mutually incompatible
attributes.  This patch tidies the whole thing up
using attribute masks.  While there I fixed some
small bugs: (1) the ByVal attribute tests cast a
type to a pointer type, which can fail.  Yes, the
fact it is of a pointer type is checked before,
but a failing check does not cause the program
to exit, it continues on outputting further errors;
(2) Nothing was checking that an sret attribute is
on the first parameter; (3) nothing was checking that
a function for which isStructReturn() is true has a
parameter with the sret attribute and vice-versa (I
don't think it is possible for this to go wrong, but
it seems right to check it).

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

16 years agoSupport for trampolines, except for X86 codegen which is
Duncan Sands [Fri, 27 Jul 2007 12:58:54 +0000 (12:58 +0000)]
Support for trampolines, except for X86 codegen which is
still under discussion.

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

16 years agoMove subreg lowering pass to be right after regalloc, per feedback.
Christopher Lamb [Fri, 27 Jul 2007 07:36:14 +0000 (07:36 +0000)]
Move subreg lowering pass to be right after regalloc, per feedback.

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

16 years agoReverting 40504 for now. It's breaking oggenc.
Evan Cheng [Fri, 27 Jul 2007 01:37:47 +0000 (01:37 +0000)]
Reverting 40504 for now. It's breaking oggenc.

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

16 years agoFix thinko. Update return status appropriately.
Devang Patel [Thu, 26 Jul 2007 20:21:42 +0000 (20:21 +0000)]
Fix thinko. Update return status appropriately.

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

16 years agoFix a bug introduced in my last commit.
Owen Anderson [Thu, 26 Jul 2007 18:57:04 +0000 (18:57 +0000)]
Fix a bug introduced in my last commit.

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

16 years agoFix a couple more bugs in the phi construction by pulling in code that does
Owen Anderson [Thu, 26 Jul 2007 18:26:51 +0000 (18:26 +0000)]
Fix a couple more bugs in the phi construction by pulling in code that does
almost the same things from LCSSA.

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

16 years agoTest case for PR1573.
Evan Cheng [Thu, 26 Jul 2007 17:45:57 +0000 (17:45 +0000)]
Test case for PR1573.

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

16 years agoMake sure epilogue esp adjustment is placed before any terminator and pop instructions.
Evan Cheng [Thu, 26 Jul 2007 17:45:41 +0000 (17:45 +0000)]
Make sure epilogue esp adjustment is placed before any terminator and pop instructions.

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

16 years agoDon't pollute the meaning of isUnpredicatedTerminator.
Evan Cheng [Thu, 26 Jul 2007 17:32:14 +0000 (17:32 +0000)]
Don't pollute the meaning of isUnpredicatedTerminator.

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

16 years agoFix test.
Evan Cheng [Thu, 26 Jul 2007 17:07:03 +0000 (17:07 +0000)]
Fix test.

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

16 years agoMinor bug.
Evan Cheng [Thu, 26 Jul 2007 17:02:45 +0000 (17:02 +0000)]
Minor bug.

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

16 years agoFix the alias analysis query in DAGCombiner to not add in two
Dan Gohman [Thu, 26 Jul 2007 16:14:06 +0000 (16:14 +0000)]
Fix the alias analysis query in DAGCombiner to not add in two
offsets. The SrcValueOffset values are the real offsets from the
SrcValue base pointers.

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

16 years agoMove the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead
Dan Gohman [Thu, 26 Jul 2007 16:06:08 +0000 (16:06 +0000)]
Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead
to Instruction::mayWriteToMemory, fixing a FIXME, and helping
various places that call mayWriteToMemory directly.

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

16 years agoRemove a bogus return statement, what appears to have been a pasto
Dan Gohman [Thu, 26 Jul 2007 15:29:35 +0000 (15:29 +0000)]
Remove a bogus return statement, what appears to have been a pasto
from Relation::contradicts in Relation::incorporate.

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

16 years agoDummyInst's member functions don't need to be virtual.
Dan Gohman [Thu, 26 Jul 2007 15:25:08 +0000 (15:25 +0000)]
DummyInst's member functions don't need to be virtual.

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

16 years agoIn the .loc directive, print the fields as "debug" fields, so they
Dan Gohman [Thu, 26 Jul 2007 15:24:15 +0000 (15:24 +0000)]
In the .loc directive, print the fields as "debug" fields, so they
don't get decorated as if for immediate fields for instructions.

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

16 years agoFix a whitespace difference between CMPSSrr and CMPSDrr.
Dan Gohman [Thu, 26 Jul 2007 15:11:50 +0000 (15:11 +0000)]
Fix a whitespace difference between CMPSSrr and CMPSDrr.

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

16 years agoFix a pasto in a comment.
Dan Gohman [Thu, 26 Jul 2007 15:11:00 +0000 (15:11 +0000)]
Fix a pasto in a comment.

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

16 years agoAdd a MachineFunction pass, which runs post register allocation, that turns subreg...
Christopher Lamb [Thu, 26 Jul 2007 08:18:32 +0000 (08:18 +0000)]
Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions.

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

16 years agoTeach DAG scheduling how to properly emit subreg insert/extract machine instructions...
Christopher Lamb [Thu, 26 Jul 2007 08:12:07 +0000 (08:12 +0000)]
Teach DAG scheduling how to properly emit subreg insert/extract machine instructions. PR1350

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

16 years agoHave register info provide the inverse mapping of register->superregisters. PR1350
Christopher Lamb [Thu, 26 Jul 2007 08:01:58 +0000 (08:01 +0000)]
Have register info provide the inverse mapping of register->superregisters. PR1350

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

16 years agoAdd target independent MachineInstr's to represent subreg insert/extract in MBB's...
Christopher Lamb [Thu, 26 Jul 2007 07:48:21 +0000 (07:48 +0000)]
Add target independent MachineInstr's to represent subreg insert/extract in MBB's. PR1350

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

16 years agoSame goes for constantpool, etc.
Evan Cheng [Thu, 26 Jul 2007 07:35:15 +0000 (07:35 +0000)]
Same goes for constantpool, etc.

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

16 years agoAdd selection DAG nodes for subreg insert/extract. PR1350
Christopher Lamb [Thu, 26 Jul 2007 07:34:40 +0000 (07:34 +0000)]
Add selection DAG nodes for subreg insert/extract. PR1350

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

16 years agoFix 80 col violation.
Christopher Lamb [Thu, 26 Jul 2007 07:03:08 +0000 (07:03 +0000)]
Fix 80 col violation.

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

16 years agoRemove subreg index from MachineInstr's and also keep vregs as unsigned when adding...
Christopher Lamb [Thu, 26 Jul 2007 07:00:46 +0000 (07:00 +0000)]
Remove subreg index from MachineInstr's and also keep vregs as unsigned when adding operands.

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

16 years agoTeach TableGen about the new vector types.
Christopher Lamb [Thu, 26 Jul 2007 06:41:18 +0000 (06:41 +0000)]
Teach TableGen about the new vector types.

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

16 years agoFix infinite recursion for when extract_vector_elt is legal. Unfortunately no public...
Christopher Lamb [Thu, 26 Jul 2007 03:33:13 +0000 (03:33 +0000)]
Fix infinite recursion for when extract_vector_elt is legal. Unfortunately no public targets use this code-path, so no test.

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

16 years agoFix comments for new types.
Christopher Lamb [Thu, 26 Jul 2007 01:48:57 +0000 (01:48 +0000)]
Fix comments for new types.

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

16 years agoAdd support for 3 element 32-bit vector ValueTypes.
Christopher Lamb [Thu, 26 Jul 2007 01:46:52 +0000 (01:46 +0000)]
Add support for 3 element 32-bit vector ValueTypes.

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

16 years agoRemove X86ISD::LOAD_PACK and X86ISD::LOAD_UA and associated code from the
Dan Gohman [Thu, 26 Jul 2007 00:31:09 +0000 (00:31 +0000)]
Remove X86ISD::LOAD_PACK and X86ISD::LOAD_UA and associated code from the
x86 target, replacing them with the new alignment attributes on memory
references.

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

16 years agoFix what is _hopefully_ the last corner case for loops.
Owen Anderson [Wed, 25 Jul 2007 23:54:42 +0000 (23:54 +0000)]
Fix what is _hopefully_ the last corner case for loops.

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

16 years agoMac OS X x86-64 lower 4G address is not available.
Evan Cheng [Wed, 25 Jul 2007 23:41:36 +0000 (23:41 +0000)]
Mac OS X x86-64 lower 4G address is not available.

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

16 years agoMac OS X should use 0x90 to fill in gaps to satisfy function alignment requirements.
Evan Cheng [Wed, 25 Jul 2007 23:36:05 +0000 (23:36 +0000)]
Mac OS X should use 0x90 to fill in gaps to satisfy function alignment requirements.

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

16 years agoEmitAlignment() also emits optional fill value.
Evan Cheng [Wed, 25 Jul 2007 23:35:07 +0000 (23:35 +0000)]
EmitAlignment() also emits optional fill value.

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

16 years agoFunctions with LinkOnce and weak linkage still need to be aligned. Doh.
Evan Cheng [Wed, 25 Jul 2007 22:28:16 +0000 (22:28 +0000)]
Functions with LinkOnce and weak linkage still need to be aligned. Doh.

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

16 years agoMy last commit was not correct for nested loops. Fix it, and add a testcase for it.
Owen Anderson [Wed, 25 Jul 2007 22:19:40 +0000 (22:19 +0000)]
My last commit was not correct for nested loops.  Fix it, and add a testcase for it.

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

16 years agoFix an infinite loop on 300.twolf.
Owen Anderson [Wed, 25 Jul 2007 22:03:06 +0000 (22:03 +0000)]
Fix an infinite loop on 300.twolf.

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

16 years agoForgot to include this file in my last commit.
Owen Anderson [Wed, 25 Jul 2007 21:30:15 +0000 (21:30 +0000)]
Forgot to include this file in my last commit.

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

16 years agoFix a bug in non-local memdep that was causing an infinite loop on 175.vpr.
Owen Anderson [Wed, 25 Jul 2007 21:26:36 +0000 (21:26 +0000)]
Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.

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

16 years agoFix a bug that was causing GVN to crash on 252.eon.
Owen Anderson [Wed, 25 Jul 2007 21:13:41 +0000 (21:13 +0000)]
Fix a bug that was causing GVN to crash on 252.eon.

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

16 years agoFix example code.
Devang Patel [Wed, 25 Jul 2007 21:05:39 +0000 (21:05 +0000)]
Fix example code.

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

16 years agoAdd basic support for performing whole-function RLE.
Owen Anderson [Wed, 25 Jul 2007 19:57:03 +0000 (19:57 +0000)]
Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested.  Use at your own risk.

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

16 years agoMoving regression test to reflect move in source and headers to Bitcode.
Chandler Carruth [Wed, 25 Jul 2007 19:47:31 +0000 (19:47 +0000)]
Moving regression test to reflect move in source and headers to Bitcode.

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

16 years agoDon't ignore the return value of AsmPrinter::doInitialization and
Dan Gohman [Wed, 25 Jul 2007 19:33:14 +0000 (19:33 +0000)]
Don't ignore the return value of AsmPrinter::doInitialization and
AsmPrinter::doFinalization.

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

16 years agoAdd BasicInliner interface.
Devang Patel [Wed, 25 Jul 2007 18:00:25 +0000 (18:00 +0000)]
Add BasicInliner interface.
This interface allows clients to inline bunch of functions with module
level call graph information.:wq

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

16 years agotest commit
Chris Lattner [Wed, 25 Jul 2007 06:15:23 +0000 (06:15 +0000)]
test commit

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

16 years agoFix debug info and globals filled with zeros.
Nick Lewycky [Wed, 25 Jul 2007 03:48:45 +0000 (03:48 +0000)]
Fix debug info and globals filled with zeros.

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

16 years agoMinor cleanup:
Anton Korobeynikov [Wed, 25 Jul 2007 00:06:28 +0000 (00:06 +0000)]
Minor cleanup:
 - Split EH and debug infiormation
 - Make DwarfWriter more verbose in some cases

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

16 years agoAdd const to CanBeFoldedBy, CheckAndMask, and CheckOrMask.
Dan Gohman [Tue, 24 Jul 2007 23:00:27 +0000 (23:00 +0000)]
Add const to CanBeFoldedBy, CheckAndMask, and CheckOrMask.

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

16 years agoA minor simplication in the generated code.
Dan Gohman [Tue, 24 Jul 2007 22:58:00 +0000 (22:58 +0000)]
A minor simplication in the generated code.

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

16 years agoUse movaps to load a v4f32 build_vector of all-constant values into a
Dan Gohman [Tue, 24 Jul 2007 22:55:08 +0000 (22:55 +0000)]
Use movaps to load a v4f32 build_vector of all-constant values into a
register instead of loading each element individually.

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

16 years agoAdd initial support for non-local memory dependence analysis.
Owen Anderson [Tue, 24 Jul 2007 21:52:37 +0000 (21:52 +0000)]
Add initial support for non-local memory dependence analysis.
NOTE: This has only been cursorily tested.  Expected improvements soon.

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

16 years agoMake the copy constructor of SmallPtrSet much faster.
Owen Anderson [Tue, 24 Jul 2007 21:31:23 +0000 (21:31 +0000)]
Make the copy constructor of SmallPtrSet much faster.

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

16 years agoHeal EH handling stuff by emitting correct offsets to callee-saved registers.
Anton Korobeynikov [Tue, 24 Jul 2007 21:07:39 +0000 (21:07 +0000)]
Heal EH handling stuff by emitting correct offsets to callee-saved registers.

Pretty hackish, but code itself is dirty mess, so we won't make anything worse. :)

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

16 years agoAdd a GVN pass, using the value numbering code I developed for GVNPRE and the
Owen Anderson [Tue, 24 Jul 2007 17:55:58 +0000 (17:55 +0000)]
Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.

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

16 years agoMake output match actual condition tested. Thanks, Duncan.
Reid Spencer [Tue, 24 Jul 2007 14:35:44 +0000 (14:35 +0000)]
Make output match actual condition tested. Thanks, Duncan.

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

16 years agoUnreachable block is not a root node in post dominator tree.
Devang Patel [Tue, 24 Jul 2007 01:02:25 +0000 (01:02 +0000)]
Unreachable block is not a root node in post dominator tree.

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

16 years agoRename a lot of things to change FastDLE to RedundantLoadElimination.
Owen Anderson [Tue, 24 Jul 2007 00:17:04 +0000 (00:17 +0000)]
Rename a lot of things to change FastDLE to RedundantLoadElimination.

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

16 years agoRename FastDLE as RedundantLoadElimination.
Owen Anderson [Tue, 24 Jul 2007 00:08:38 +0000 (00:08 +0000)]
Rename FastDLE as RedundantLoadElimination.

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

16 years ago1. Make sure we print the Function Value for parameter attribute errors
Reid Spencer [Mon, 23 Jul 2007 23:46:43 +0000 (23:46 +0000)]
1. Make sure we print the Function Value for parameter attribute errors
2. Fold an if statement into the Assert1 macro call.

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

16 years agoAdd better verification of attributes on function types. It is not permitted
Reid Spencer [Mon, 23 Jul 2007 23:09:55 +0000 (23:09 +0000)]
Add better verification of attributes on function types. It is not permitted
to use sret or inreg on the function. It is equally illegal to use noreturn
or nounwind on a parameter; they only go with the function. This patch
enforces these rules.

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

16 years agoFix for PR1567, which involves a weird bug on non-32bit architectures and silly C...
Chandler Carruth [Mon, 23 Jul 2007 22:42:15 +0000 (22:42 +0000)]
Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.

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

16 years agoAdd testcases for FastDLE.
Owen Anderson [Mon, 23 Jul 2007 22:18:05 +0000 (22:18 +0000)]
Add testcases for FastDLE.

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

16 years agoDon't delete volatile loads. Doing so is not safe.
Owen Anderson [Mon, 23 Jul 2007 22:05:54 +0000 (22:05 +0000)]
Don't delete volatile loads.  Doing so is not safe.

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

16 years agoForgot to commit this file.
Owen Anderson [Mon, 23 Jul 2007 22:00:03 +0000 (22:00 +0000)]
Forgot to commit this file.

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

16 years agoFix a comment.
Owen Anderson [Mon, 23 Jul 2007 21:51:37 +0000 (21:51 +0000)]
Fix a comment.

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

16 years agoAdd FastDLE, the load-elimination counterpart of FastDSE.
Owen Anderson [Mon, 23 Jul 2007 21:48:08 +0000 (21:48 +0000)]
Add FastDLE, the load-elimination counterpart of FastDSE.

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

16 years agoMove these tests to use FastDSE instead of old DSE.
Owen Anderson [Mon, 23 Jul 2007 20:49:13 +0000 (20:49 +0000)]
Move these tests to use FastDSE instead of old DSE.

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

16 years agoFix some uses of dyn_cast to be uses of cast.
Dan Gohman [Mon, 23 Jul 2007 20:24:29 +0000 (20:24 +0000)]
Fix some uses of dyn_cast to be uses of cast.

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

16 years agoDelete the svn:executable property on these files, which aren't executable.
Dan Gohman [Mon, 23 Jul 2007 19:26:08 +0000 (19:26 +0000)]
Delete the svn:executable property on these files, which aren't executable.

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

16 years agoFix file header.
Owen Anderson [Mon, 23 Jul 2007 18:30:37 +0000 (18:30 +0000)]
Fix file header.

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

16 years agocompletely remove a transformation that is unsafe in the face of
Chris Lattner [Mon, 23 Jul 2007 17:10:17 +0000 (17:10 +0000)]
completely remove a transformation that is unsafe in the face of
undefs.

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

16 years agoThe Ada f-e produces various auxiliary output files
Duncan Sands [Mon, 23 Jul 2007 15:23:35 +0000 (15:23 +0000)]
The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.

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

16 years agoFor multipart tests, place the parts with no
Duncan Sands [Mon, 23 Jul 2007 13:41:53 +0000 (13:41 +0000)]
For multipart tests, place the parts with no
RUN line in Support.  Give up on sending output
to /dev/null - this cannot always be arranged.

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

16 years agoRestore ability to build archives (oops)
Reid Spencer [Mon, 23 Jul 2007 08:20:46 +0000 (08:20 +0000)]
Restore ability to build archives (oops)
Fix -include line so it doesn't reference /dev/null

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

16 years agoRemove bizarre use of /dev/null in a makefile include line that
Reid Spencer [Mon, 23 Jul 2007 08:09:15 +0000 (08:09 +0000)]
Remove bizarre use of /dev/null in a makefile include line that
produces warning from make about bad timestamp on /dev/null

Patch by Holger Schurig.

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

16 years agoFix some validation errors.
Bill Wendling [Mon, 23 Jul 2007 04:44:02 +0000 (04:44 +0000)]
Fix some validation errors.

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

16 years agoConverted to "svn" and reformatted.
Bill Wendling [Mon, 23 Jul 2007 04:41:42 +0000 (04:41 +0000)]
Converted to "svn" and reformatted.

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

16 years agoRemove dead option.
Reid Spencer [Mon, 23 Jul 2007 04:23:32 +0000 (04:23 +0000)]
Remove dead option.

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

16 years agoSmall change.
Bill Wendling [Mon, 23 Jul 2007 03:56:42 +0000 (03:56 +0000)]
Small change.

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

16 years agoPoint to the correct SVN repository.
Bill Wendling [Mon, 23 Jul 2007 03:56:11 +0000 (03:56 +0000)]
Point to the correct SVN repository.

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

16 years agoAdd missing SSE builtins:
Bill Wendling [Mon, 23 Jul 2007 03:07:27 +0000 (03:07 +0000)]
Add missing SSE builtins:

    __builtin_ia32_cvtss2si64
    __builtin_ia32_cvttss2si64
    __builtin_ia32_cvtsi642ss
    __builtin_ia32_cvtsd2si64
    __builtin_ia32_cvttsd2si64
    __builtin_ia32_cvtsi642sd

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

16 years agoReport an error if one occurs in releaseModule.
Reid Spencer [Sun, 22 Jul 2007 21:39:37 +0000 (21:39 +0000)]
Report an error if one occurs in releaseModule.

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

16 years agoDisable the string map copy ctor and assignment operators,
Chris Lattner [Sun, 22 Jul 2007 20:08:01 +0000 (20:08 +0000)]
Disable the string map copy ctor and assignment operators,
they don't do the right thing.

Implement StringMap::erase.

Fix a nasty bug in the default ctor.

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

16 years agoRemove -O1 in favour of making llvm-gcc-4.2 a bit
Duncan Sands [Sun, 22 Jul 2007 10:25:44 +0000 (10:25 +0000)]
Remove -O1 in favour of making llvm-gcc-4.2 a bit
smarter.

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

16 years agoThis xform isn't safe, removing it.
Chris Lattner [Sat, 21 Jul 2007 21:27:27 +0000 (21:27 +0000)]
This xform isn't safe, removing it.

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

16 years agoUpdate for changes in library.sh
Reid Spencer [Sat, 21 Jul 2007 09:33:41 +0000 (09:33 +0000)]
Update for changes in library.sh

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

16 years agoApply temporary work around to fix llvm mis-compilation
Devang Patel [Sat, 21 Jul 2007 00:34:29 +0000 (00:34 +0000)]
Apply temporary work around to fix llvm mis-compilation
reported in PR 1556.

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

16 years agoNo more noResults.
Evan Cheng [Sat, 21 Jul 2007 00:34:19 +0000 (00:34 +0000)]
No more noResults.

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

16 years agoDon't assume that only Uses can be kills. Defs are marked as kills initially
Dan Gohman [Fri, 20 Jul 2007 23:17:34 +0000 (23:17 +0000)]
Don't assume that only Uses can be kills. Defs are marked as kills initially
when there are no uses. This fixes a dangling-pointer bug, where pointers to
deleted instructions were not removed from kills lists. More info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html

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

16 years agoSimplify the logic for setVolatile.
Dan Gohman [Fri, 20 Jul 2007 23:14:50 +0000 (23:14 +0000)]
Simplify the logic for setVolatile.

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

16 years agoNeed -O1 or better to have these builtins lowered to
Duncan Sands [Fri, 20 Jul 2007 22:39:06 +0000 (22:39 +0000)]
Need -O1 or better to have these builtins lowered to
llvm intrinsics in llvm-gcc-4.2.  This is because
get_pointer_alignment bails out: it relies on TER
to compute accurate alignment information.

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

16 years agozext(undef) = 0 and sext(undef) = 0, not undef.
Chris Lattner [Fri, 20 Jul 2007 22:09:02 +0000 (22:09 +0000)]
zext(undef) = 0 and sext(undef) = 0, not undef.
This hopefully fixes a miscompilation of TargetData.cpp when self hosting.

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

16 years agothis xform is already done by the constant folder.
Chris Lattner [Fri, 20 Jul 2007 22:06:41 +0000 (22:06 +0000)]
this xform is already done by the constant folder.

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

16 years agoAdded -print-emitted-asm to print out JIT generated asm to cerr.
Evan Cheng [Fri, 20 Jul 2007 21:56:13 +0000 (21:56 +0000)]
Added -print-emitted-asm to print out JIT generated asm to cerr.

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

16 years agoUpdate to include clean and install commands.
Reid Spencer [Fri, 20 Jul 2007 20:54:41 +0000 (20:54 +0000)]
Update to include clean and install commands.

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