oota-llvm.git
17 years agoStyle police: Expand the tabs to spaces!
Scott Michel [Thu, 2 Aug 2007 02:22:46 +0000 (02:22 +0000)]
Style police: Expand the tabs to spaces!

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

17 years agoTeach BasicAA about noalias parameter attributes, but do it correctly this time.
Christopher Lamb [Thu, 2 Aug 2007 01:18:14 +0000 (01:18 +0000)]
Teach BasicAA about noalias parameter attributes, but do it correctly this time.

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

17 years agoInstead of adding copyfromreg's to handle physical definitions. Now isel can
Evan Cheng [Thu, 2 Aug 2007 00:28:15 +0000 (00:28 +0000)]
Instead of adding copyfromreg's to handle physical definitions. Now isel can
simply specify them as results and let scheduledag handle them. That
is, instead of
SDOperand Flag = DAG.getTargetNode(Opc, MVT::i32, MVT::Flag, ...)
SDOperand Result = DAG.getCopyFromReg(Chain, X86::EAX, MVT::i32, Flag)

Just write:
SDOperand Result = DAG.getTargetNode(Opc, MVT::i32, MVT::i32, ...)

And let scheduledag emit the move from X86::EAX to a virtual register.

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

17 years agoAdded TargetInstrDescriptor::numDefs - num of results.
Evan Cheng [Thu, 2 Aug 2007 00:20:17 +0000 (00:20 +0000)]
Added TargetInstrDescriptor::numDefs - num of results.

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

17 years agoCan't handle offset and scale if rip-relative addressing is to be used.
Evan Cheng [Wed, 1 Aug 2007 23:46:47 +0000 (23:46 +0000)]
Can't handle offset and scale if rip-relative addressing is to be used.

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

17 years agoMac OS X X86-64 low 4G address not available.
Evan Cheng [Wed, 1 Aug 2007 23:46:10 +0000 (23:46 +0000)]
Mac OS X X86-64 low 4G address not available.

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

17 years agoMac OS X X86-64 low 4G address not available.
Evan Cheng [Wed, 1 Aug 2007 23:45:51 +0000 (23:45 +0000)]
Mac OS X X86-64 low 4G address not available.

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

17 years agoUndo previous check-in.
Devang Patel [Wed, 1 Aug 2007 23:24:50 +0000 (23:24 +0000)]
Undo previous check-in.

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

17 years agoSome out operands were incorrectly specified as input operands.
Evan Cheng [Wed, 1 Aug 2007 23:07:38 +0000 (23:07 +0000)]
Some out operands were incorrectly specified as input operands.

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

17 years agoMake sure these tests pass for the right reasons (verifier error, rather than
Reid Spencer [Wed, 1 Aug 2007 23:07:36 +0000 (23:07 +0000)]
Make sure these tests pass for the right reasons (verifier error, rather than
failure to assemble).

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

17 years agoUpdate dominator info for the middle blocks created while spliting
Devang Patel [Wed, 1 Aug 2007 22:23:50 +0000 (22:23 +0000)]
Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.

Fix dominance frontier update during loop unswitch. This fixes PR 1589.

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

17 years agoMake non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.
Owen Anderson [Wed, 1 Aug 2007 22:01:54 +0000 (22:01 +0000)]
Make non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.

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

17 years agoMissing Requires.
Evan Cheng [Wed, 1 Aug 2007 21:42:24 +0000 (21:42 +0000)]
Missing Requires.

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

17 years agoNew test. Bogus implicit-def prevented a copy from being coalesced.
Evan Cheng [Wed, 1 Aug 2007 20:26:40 +0000 (20:26 +0000)]
New test. Bogus implicit-def prevented a copy from being coalesced.

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

17 years agoBe more precise.
Evan Cheng [Wed, 1 Aug 2007 20:22:37 +0000 (20:22 +0000)]
Be more precise.

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

17 years agoBugs: missing partial uses and redundant partial defs.
Evan Cheng [Wed, 1 Aug 2007 20:18:21 +0000 (20:18 +0000)]
Bugs: missing partial uses and redundant partial defs.

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

17 years agoAdd a test for the load/store alignment.
Lauro Ramos Venancio [Wed, 1 Aug 2007 20:07:59 +0000 (20:07 +0000)]
Add a test for the load/store alignment.

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

17 years agoExpand unaligned loads/stores when the target doesn't support them. (PR1548)
Lauro Ramos Venancio [Wed, 1 Aug 2007 19:34:21 +0000 (19:34 +0000)]
Expand unaligned loads/stores when the target doesn't support them. (PR1548)

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

17 years agoClean up C++ restrict test cases and add a test for restrict qualified methods.
Christopher Lamb [Wed, 1 Aug 2007 18:48:29 +0000 (18:48 +0000)]
Clean up C++ restrict test cases and add a test for restrict qualified methods.

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

17 years agothese tests aren't xfailed.
Chris Lattner [Wed, 1 Aug 2007 18:37:44 +0000 (18:37 +0000)]
these tests aren't xfailed.

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

17 years agowe're now handling this right :)
Chris Lattner [Wed, 1 Aug 2007 17:10:30 +0000 (17:10 +0000)]
we're now handling this right :)

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

17 years agoForgot to update these files for the FastDSE changes.
Owen Anderson [Wed, 1 Aug 2007 16:53:51 +0000 (16:53 +0000)]
Forgot to update these files for the FastDSE changes.

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

17 years agoMore explicit keywords.
Dan Gohman [Wed, 1 Aug 2007 15:32:29 +0000 (15:32 +0000)]
More explicit keywords.

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

17 years agoChange a .size directive to use a tab instead of a space, for consistency.
Dan Gohman [Wed, 1 Aug 2007 14:42:30 +0000 (14:42 +0000)]
Change a .size directive to use a tab instead of a space, for consistency.

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

17 years agoMake ImmutablePass::runOnModule non-virtual, since it is not
Dan Gohman [Wed, 1 Aug 2007 14:28:20 +0000 (14:28 +0000)]
Make ImmutablePass::runOnModule non-virtual, since it is not
intended to be overridden.

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

17 years agoRename FastDSE to just DSE.
Owen Anderson [Wed, 1 Aug 2007 06:36:51 +0000 (06:36 +0000)]
Rename FastDSE to just DSE.

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

17 years agoMove FastDSE in to DeadStoreElimination.
Owen Anderson [Wed, 1 Aug 2007 06:30:51 +0000 (06:30 +0000)]
Move FastDSE in to DeadStoreElimination.

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

17 years agoRemove old DSE.
Owen Anderson [Wed, 1 Aug 2007 06:30:10 +0000 (06:30 +0000)]
Remove old DSE.

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

17 years agoUpdate generated files.
David Greene [Wed, 1 Aug 2007 03:59:32 +0000 (03:59 +0000)]
Update generated files.

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

17 years agoNew CallInst interface to address GLIBCXX_DEBUG errors caused by
David Greene [Wed, 1 Aug 2007 03:43:44 +0000 (03:43 +0000)]
New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.

Updates to all clients.

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

17 years agoIndexed loads each has 2 outputs.
Evan Cheng [Wed, 1 Aug 2007 00:12:08 +0000 (00:12 +0000)]
Indexed loads each has 2 outputs.

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

17 years agoRequires SSE2.
Evan Cheng [Wed, 1 Aug 2007 00:10:12 +0000 (00:10 +0000)]
Requires SSE2.

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

17 years agoDon't let the memory allocator outsmart GVN. ;-)
Owen Anderson [Tue, 31 Jul 2007 23:27:13 +0000 (23:27 +0000)]
Don't let the memory allocator outsmart GVN. ;-)

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

17 years agosimpleregistercoalescing -> regcoalescing. It's too long for me to handle.
Evan Cheng [Tue, 31 Jul 2007 22:37:44 +0000 (22:37 +0000)]
simpleregistercoalescing -> regcoalescing. It's too long for me to handle.

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

17 years agoFix a failure I accidentally caused in my last commit by mishandling the
Owen Anderson [Tue, 31 Jul 2007 20:18:28 +0000 (20:18 +0000)]
Fix a failure I accidentally caused in my last commit by mishandling the
removal of redundant phis.

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

17 years agoFix a bug in GetKnownAlignment of packed structs.
Lauro Ramos Venancio [Tue, 31 Jul 2007 20:13:21 +0000 (20:13 +0000)]
Fix a bug in GetKnownAlignment of packed structs.

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

17 years agoChange the x86 assembly output to use tab characters to separate the
Dan Gohman [Tue, 31 Jul 2007 20:11:57 +0000 (20:11 +0000)]
Change the x86 assembly output to use tab characters to separate the
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.

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

17 years agoFix GLIBCXX_DEBUG error owing to dereference of end iterator. There's
David Greene [Tue, 31 Jul 2007 20:01:27 +0000 (20:01 +0000)]
Fix GLIBCXX_DEBUG error owing to dereference of end iterator.  There's
no guarantee that an instruction returned by getDependency exists in
the maps.

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

17 years agoFix a misoptimization in aha.
Owen Anderson [Tue, 31 Jul 2007 17:43:14 +0000 (17:43 +0000)]
Fix a misoptimization in aha.

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

17 years agoUse SCEVExpander::InsertCastOfTo instead of calling new IntToPtrInst
Dan Gohman [Tue, 31 Jul 2007 17:22:27 +0000 (17:22 +0000)]
Use SCEVExpander::InsertCastOfTo instead of calling new IntToPtrInst
directly, because the insert point used by the SCEVExpander may vary
from what LSR originally computes.

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

17 years agoAdd note.
Devang Patel [Tue, 31 Jul 2007 16:52:25 +0000 (16:52 +0000)]
Add note.

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

17 years agonew testcase
Chris Lattner [Tue, 31 Jul 2007 16:18:25 +0000 (16:18 +0000)]
new testcase

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

17 years agoRevert overly aggressive interpretation of noalias
Christopher Lamb [Tue, 31 Jul 2007 16:18:07 +0000 (16:18 +0000)]
Revert overly aggressive interpretation of noalias

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

17 years agoRegenerate.
Reid Spencer [Tue, 31 Jul 2007 14:41:17 +0000 (14:41 +0000)]
Regenerate.

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

17 years agofp2uint -> fptoui
Reid Spencer [Tue, 31 Jul 2007 14:40:14 +0000 (14:40 +0000)]
fp2uint -> fptoui

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

17 years agoAfter a discussion with Anton, it turns out that the InReg attribute is not
Reid Spencer [Tue, 31 Jul 2007 14:39:10 +0000 (14:39 +0000)]
After a discussion with Anton, it turns out that the InReg attribute is not
permitted on function results. So, revert the last patch to make it illegal.

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

17 years agoBunch of tests to check loop passes.
Devang Patel [Tue, 31 Jul 2007 08:04:17 +0000 (08:04 +0000)]
Bunch of tests to check loop passes.

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

17 years agoRedo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32...
Evan Cheng [Tue, 31 Jul 2007 08:04:03 +0000 (08:04 +0000)]
Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )

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

17 years agoLoop unswitch preserves dom info.
Devang Patel [Tue, 31 Jul 2007 08:03:26 +0000 (08:03 +0000)]
Loop unswitch preserves dom info.
Use simple analysis interface to preserve analysis info maintained by other loop passes.

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

17 years agoImplement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
Devang Patel [Tue, 31 Jul 2007 08:01:41 +0000 (08:01 +0000)]
Implement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.

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

17 years agoIntroduce Simple Analysis interface for loop passes.
Devang Patel [Tue, 31 Jul 2007 08:00:57 +0000 (08:00 +0000)]
Introduce Simple Analysis interface for loop passes.
Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.

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

17 years agoTeach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
Christopher Lamb [Tue, 31 Jul 2007 07:04:51 +0000 (07:04 +0000)]
Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.

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

17 years agoUn-XFAIL these tests after r40622 fixed them.
Christopher Lamb [Tue, 31 Jul 2007 07:03:24 +0000 (07:03 +0000)]
Un-XFAIL these tests after r40622 fixed them.

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

17 years agoRegenerate.
Reid Spencer [Tue, 31 Jul 2007 06:37:43 +0000 (06:37 +0000)]
Regenerate.

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

17 years agoAllow the INREG parameter attribute to be added to functions. This permits the
Reid Spencer [Tue, 31 Jul 2007 06:37:27 +0000 (06:37 +0000)]
Allow the INREG parameter attribute to be added to functions. This permits the
function result to be passed in a register. This implements the GCC regparm
function attribute for llvm by translation to the InReg parameter attribute
and fixes test/CFrontend/2002-07-30-SubregSetAssertion.c

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

17 years agoThe InReg parameter attribute is valid on function results. The llvm-gcc-4.0
Reid Spencer [Tue, 31 Jul 2007 06:33:37 +0000 (06:33 +0000)]
The InReg parameter attribute is valid on function results. The llvm-gcc-4.0
front end converts regparm attribute on the gcc function into InReg attribute
on the llvm function. This fixes test/CFrontend/2002-07-30-SubrefSetAssertion.c

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

17 years agoThis isn't safe when there are uses of load's chain result.
Evan Cheng [Tue, 31 Jul 2007 06:21:44 +0000 (06:21 +0000)]
This isn't safe when there are uses of load's chain result.

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

17 years agoFix PR1581, patch by Timo Savola
Chris Lattner [Tue, 31 Jul 2007 06:00:51 +0000 (06:00 +0000)]
Fix PR1581, patch by Timo Savola

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

17 years agoRegenerate (again).
Reid Spencer [Tue, 31 Jul 2007 03:55:56 +0000 (03:55 +0000)]
Regenerate (again).

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

17 years agoDon't include newlines in the whitespace before newline (WSNL) rule.
Reid Spencer [Tue, 31 Jul 2007 03:55:43 +0000 (03:55 +0000)]
Don't include newlines in the whitespace before newline (WSNL) rule.
Fix the comment for WSNL to describe its actual function.

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

17 years agoRegenerate.
Reid Spencer [Tue, 31 Jul 2007 03:50:36 +0000 (03:50 +0000)]
Regenerate.

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

17 years agoFor PR1553:
Reid Spencer [Tue, 31 Jul 2007 02:57:37 +0000 (02:57 +0000)]
For PR1553:
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the
end-of-line ambiguity.

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

17 years agoIf loop can be unswitched again, then do it yourself.
Devang Patel [Mon, 30 Jul 2007 23:07:10 +0000 (23:07 +0000)]
If loop can be unswitched again, then do it yourself.

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

17 years agoAdd a comment: don't expect from external function resolver in interpreter
Anton Korobeynikov [Mon, 30 Jul 2007 23:03:25 +0000 (23:03 +0000)]
Add a comment: don't expect from external function resolver in interpreter
things, it wasn't designed to handle.

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

17 years agoAvoid potential iterator invalidation problems.
Owen Anderson [Mon, 30 Jul 2007 21:26:39 +0000 (21:26 +0000)]
Avoid potential iterator invalidation problems.

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

17 years agoRemove dead code.
Devang Patel [Mon, 30 Jul 2007 21:10:44 +0000 (21:10 +0000)]
Remove dead code.

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

17 years ago- Allow custom lowering for CTPOP, CTTZ, CTLZ.
Scott Michel [Mon, 30 Jul 2007 21:00:31 +0000 (21:00 +0000)]
- Allow custom lowering for CTPOP, CTTZ, CTLZ.
- Fixed an existing unexpanded tab.

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

17 years agoLCSSA preserves dom info.
Devang Patel [Mon, 30 Jul 2007 20:23:45 +0000 (20:23 +0000)]
LCSSA preserves dom info.

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

17 years agoLoop Rotation pass preserves dominator tree and frontier.
Devang Patel [Mon, 30 Jul 2007 20:22:53 +0000 (20:22 +0000)]
Loop Rotation pass preserves dominator tree and frontier.

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

17 years agoLICM preserves scalar evolution and dom frontier.
Devang Patel [Mon, 30 Jul 2007 20:19:59 +0000 (20:19 +0000)]
LICM preserves scalar evolution and dom frontier.

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

17 years agoRegenerate for __dso_handle, per Anton's request.
Reid Spencer [Mon, 30 Jul 2007 20:13:24 +0000 (20:13 +0000)]
Regenerate for __dso_handle, per Anton's request.

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

17 years agoAdd detection of __dso_handle presence during configure. Use this information in the
Anton Korobeynikov [Mon, 30 Jul 2007 20:02:02 +0000 (20:02 +0000)]
Add detection of __dso_handle presence during configure. Use this information in the
JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built
binaries, since cxa_atexit is enabled by default on much more targets.

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

17 years agoFix a typo/thinko.
Reid Spencer [Mon, 30 Jul 2007 19:53:57 +0000 (19:53 +0000)]
Fix a typo/thinko.

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

17 years agoFix a bug in getCopyFromParts turned up in the testcase for PR1132.
Dan Gohman [Mon, 30 Jul 2007 19:09:17 +0000 (19:09 +0000)]
Fix a bug in getCopyFromParts turned up in the testcase for PR1132.

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

17 years agoUse more caching when computing non-local dependence. This makes bzip2 not
Owen Anderson [Mon, 30 Jul 2007 17:29:24 +0000 (17:29 +0000)]
Use more caching when computing non-local dependence.  This makes bzip2 not
use up the entire 32-bit address space.

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

17 years agoFix a bug caused by indiscriminantly asking for the dominators of a predecessor.
Owen Anderson [Mon, 30 Jul 2007 16:57:08 +0000 (16:57 +0000)]
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.

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

17 years agoUse tabs more consistently in assembler pseudo-ops.
Dan Gohman [Mon, 30 Jul 2007 15:08:02 +0000 (15:08 +0000)]
Use tabs more consistently in assembler pseudo-ops.

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

17 years agoPrint a space between the comment character and the basic block name,
Dan Gohman [Mon, 30 Jul 2007 15:06:25 +0000 (15:06 +0000)]
Print a space between the comment character and the basic block name,
for prettiness.

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

17 years agoFix the comments for the 'fast' parameter in addPassesToEmitFile.
Dan Gohman [Mon, 30 Jul 2007 15:04:59 +0000 (15:04 +0000)]
Fix the comments for the 'fast' parameter in addPassesToEmitFile.

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

17 years agoRemove a FIXME comment that wasn't removed when the code it accompanied
Dan Gohman [Mon, 30 Jul 2007 15:01:09 +0000 (15:01 +0000)]
Remove a FIXME comment that wasn't removed when the code it accompanied
was removed.

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

17 years agoFix the comment for getClosestTargetForJIT to reflect the fact that
Dan Gohman [Mon, 30 Jul 2007 14:58:59 +0000 (14:58 +0000)]
Fix the comment for getClosestTargetForJIT to reflect the fact that
it does not have a Module parameter.

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

17 years agoMore explicit keywords.
Dan Gohman [Mon, 30 Jul 2007 14:51:59 +0000 (14:51 +0000)]
More explicit keywords.

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

17 years agoFix pastos in comments for doFinalization functions.
Dan Gohman [Mon, 30 Jul 2007 14:51:13 +0000 (14:51 +0000)]
Fix pastos in comments for doFinalization functions.

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

17 years agoNew test case.
Evan Cheng [Mon, 30 Jul 2007 07:52:03 +0000 (07:52 +0000)]
New test case.

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

17 years agoVector fneg must be expanded into fsub -0.0, X.
Evan Cheng [Mon, 30 Jul 2007 07:51:22 +0000 (07:51 +0000)]
Vector fneg must be expanded into fsub -0.0, X.

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

17 years agoAdd tests for generating noalias parameter attribute from __restrict qualified functi...
Christopher Lamb [Sun, 29 Jul 2007 23:29:16 +0000 (23:29 +0000)]
Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.

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

17 years agoBe explicit about which level of optimization is being asked for. The -O option
Reid Spencer [Sun, 29 Jul 2007 18:23:22 +0000 (18:23 +0000)]
Be explicit about which level of optimization is being asked for. The -O option
is equivalent to -O1.

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

17 years agoChange the x86 backend to use extract_subreg for truncation operations. Passes DejaGn...
Christopher Lamb [Sun, 29 Jul 2007 01:24:57 +0000 (01:24 +0000)]
Change the x86 backend to use extract_subreg for truncation operations. Passes DejaGnu, SingleSource and MultiSource.

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

17 years agoAdd register info needed to use subreg sets on X86.
Christopher Lamb [Sat, 28 Jul 2007 19:03:30 +0000 (19:03 +0000)]
Add register info needed to use subreg sets on X86.

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

17 years agoMake this explictly signed. Fixes PR1571.
Nick Lewycky [Sat, 28 Jul 2007 16:43:10 +0000 (16:43 +0000)]
Make this explictly signed. Fixes PR1571.

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

17 years agoAdd facility to dump pass manager structure
Devang Patel [Fri, 27 Jul 2007 20:06:09 +0000 (20:06 +0000)]
Add facility to dump pass manager structure
to make it easier to understand failure.

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

17 years agoTrampoline codegen support for X86-32.
Duncan Sands [Fri, 27 Jul 2007 20:02:49 +0000 (20:02 +0000)]
Trampoline codegen support for X86-32.

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

17 years agoForget to add 'nest' to the list of parameter
Duncan Sands [Fri, 27 Jul 2007 19:57:41 +0000 (19:57 +0000)]
Forget to add 'nest' to the list of parameter
attributes.

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

17 years agoFix edge cases in handling basic block split.
Devang Patel [Fri, 27 Jul 2007 19:13:43 +0000 (19:13 +0000)]
Fix edge cases in handling basic block split.

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

17 years agoUse SmallPtrSet.
Devang Patel [Fri, 27 Jul 2007 18:34:27 +0000 (18:34 +0000)]
Use SmallPtrSet.

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

17 years agoVStudio compiler errors and placing Function*->ExFunc map under ManagedStatic control.
Chuck Rose III [Fri, 27 Jul 2007 18:26:35 +0000 (18:26 +0000)]
VStudio compiler errors and placing Function*->ExFunc map under ManagedStatic control.

This commit fixes two things.  One is a pair of VStudio compiler errors stemming from variables
which defined within the for loop statement and also within the body of the for loop.  I fixed these
by renaming one of the two variables.  Additionally, I've made the Function*->ExFunc map in
ExternalFunctions.cpp a ManagedStatic object, so that cleanup will be done on llvm_shutdown.  In repeated
uses of the interpreter, where the same Function* address may get used for completely differnet functions,
this was causing a crash.

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

17 years agoUpdates to the VStudio project files:
Chuck Rose III [Fri, 27 Jul 2007 18:20:11 +0000 (18:20 +0000)]
Updates to the VStudio project files:

1. Switch from VStudio 2k3 to VStudio 2k5

2. All pdb files now will be placed as $(OutputDir)/$(ProjectName).pdb.  This puts them alongside the
binaries with the same base name as the binary.  If you need to copy the results of your llvm build
into another project's tree, this will simplify that process.

3. Recent files added to the tree were added to the proejects within the VStudio project

4. Project build dependency order fixed so that the build can take place in one pass.  A generated
file was not being built at the correct time, causing a build error in about half the projects until
the build was run a second time.

Note you will need flex and bison installed an in your path in order to build properly.

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

17 years agoAllow SmallPtrSet to hold pointers to const data.
Owen Anderson [Fri, 27 Jul 2007 18:07:02 +0000 (18:07 +0000)]
Allow SmallPtrSet to hold pointers to const data.

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

17 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

17 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