oota-llvm.git
17 years agoFix a bogus check that prevented folding VECTOR_SHUFFLE to UNDEF; add an optimization...
Evan Cheng [Thu, 17 May 2007 18:45:50 +0000 (18:45 +0000)]
Fix a bogus check that prevented folding VECTOR_SHUFFLE to UNDEF; add an optimization to fold VECTOR_SHUFFLE to a zero vector.

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

17 years agoAdded missing patterns for UNPCKH* and PUNPCKH*.
Evan Cheng [Thu, 17 May 2007 18:44:37 +0000 (18:44 +0000)]
Added missing patterns for UNPCKH* and PUNPCKH*.

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

17 years agoFix some sporadic segfaults that are triggered when SmallVector's heap
Dan Gohman [Thu, 17 May 2007 18:29:01 +0000 (18:29 +0000)]
Fix some sporadic segfaults that are triggered when SmallVector's heap
storage lands near the end of the available address space. In the expression
Begin+N > Capacity, the Begin+N was overflowing. Fix this by replacing it
by with an expression that doesn't involve computation of an address
beyond the end of allocated memory.

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

17 years agoadd testcase for 128-bit add/sub
Chris Lattner [Thu, 17 May 2007 18:22:37 +0000 (18:22 +0000)]
add testcase for 128-bit add/sub

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

17 years agodisable MaskedValueIsZero, ComputeMaskedBits, and SimplifyDemandedBits for
Chris Lattner [Thu, 17 May 2007 18:19:23 +0000 (18:19 +0000)]
disable MaskedValueIsZero, ComputeMaskedBits, and SimplifyDemandedBits for
i128 integers.  The 64-bit masks are not wide enough to represent the results.
These should be converted to APInt someday.

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

17 years agoadd expand support for ADDC/SUBC/ADDE/SUBE so we can codegen 128-bit add/sub on 32...
Chris Lattner [Thu, 17 May 2007 18:15:41 +0000 (18:15 +0000)]
add expand support for ADDC/SUBC/ADDE/SUBE so we can codegen 128-bit add/sub on 32-bit (or less) targets

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

17 years agoRegenerate.
Reid Spencer [Thu, 17 May 2007 18:11:03 +0000 (18:11 +0000)]
Regenerate.

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

17 years agoMake Perl a required dependency and cause configure script to fail if it
Reid Spencer [Thu, 17 May 2007 18:06:19 +0000 (18:06 +0000)]
Make Perl a required dependency and cause configure script to fail if it
is not found.

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

17 years agoThis is the correct fix for PR1427. This fixes mmx-shuffle.ll and doesn't
Chris Lattner [Thu, 17 May 2007 17:13:13 +0000 (17:13 +0000)]
This is the correct fix for PR1427.  This fixes mmx-shuffle.ll and doesn't
cause other regressions.

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

17 years agoRevert patch for PR1427. It breaks almost all vector tests.
Anton Korobeynikov [Thu, 17 May 2007 07:50:14 +0000 (07:50 +0000)]
Revert patch for PR1427. It breaks almost all vector tests.

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

17 years agoadd support for 128-bit add/sub on ppc64
Chris Lattner [Thu, 17 May 2007 06:52:46 +0000 (06:52 +0000)]
add support for 128-bit add/sub on ppc64

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

17 years agoPrint integer values as both decimal and hexadecimal for convenience
Reid Spencer [Thu, 17 May 2007 06:47:54 +0000 (06:47 +0000)]
Print integer values as both decimal and hexadecimal for convenience
of verifying result values when debugging.

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

17 years agoadd support for 128-bit integer add/sub
Chris Lattner [Thu, 17 May 2007 06:35:11 +0000 (06:35 +0000)]
add support for 128-bit integer add/sub

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

17 years agoFor lshr by 0 bits, just return *this as a short cut. This also prevents
Reid Spencer [Thu, 17 May 2007 06:26:29 +0000 (06:26 +0000)]
For lshr by 0 bits, just return *this as a short cut. This also prevents
undefined behavior when the width > 64 bits.

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

17 years agoNew test.
Devang Patel [Thu, 17 May 2007 06:22:12 +0000 (06:22 +0000)]
New test.

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

17 years agoFix PR1427 and test/CodeGen/X86/mmx-shuffle.ll
Chris Lattner [Thu, 17 May 2007 03:29:42 +0000 (03:29 +0000)]
Fix PR1427 and test/CodeGen/X86/mmx-shuffle.ll

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

17 years agotestcase for PR1427
Chris Lattner [Thu, 17 May 2007 03:29:17 +0000 (03:29 +0000)]
testcase for PR1427

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

17 years agoRemove. Not needed.
Evan Cheng [Thu, 17 May 2007 00:11:35 +0000 (00:11 +0000)]
Remove. Not needed.

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

17 years agoDefault implementation of TargetInstrInfo::getBlockSize().
Evan Cheng [Wed, 16 May 2007 23:53:44 +0000 (23:53 +0000)]
Default implementation of TargetInstrInfo::getBlockSize().

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

17 years agoAdd target hook to specify block size limit for if-conversion.
Evan Cheng [Wed, 16 May 2007 23:45:53 +0000 (23:45 +0000)]
Add target hook to specify block size limit for if-conversion.

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

17 years agoMerged in both release announcement guts.
Tanya Lattner [Wed, 16 May 2007 23:25:46 +0000 (23:25 +0000)]
Merged in both release announcement guts.

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

17 years agoDon't fold bitconvert(load) for preinc/postdec loads. Likewise stores.
Dale Johannesen [Wed, 16 May 2007 22:45:30 +0000 (22:45 +0000)]
Don't fold bitconvert(load) for preinc/postdec loads.  Likewise stores.

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

17 years agoisBlockPredicable() always ignore terminal instructions; add comments.
Evan Cheng [Wed, 16 May 2007 21:54:37 +0000 (21:54 +0000)]
isBlockPredicable() always ignore terminal instructions; add comments.

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

17 years agoARM::tB is also predicable.
Evan Cheng [Wed, 16 May 2007 21:53:43 +0000 (21:53 +0000)]
ARM::tB is also predicable.

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

17 years agoPredicateInstruction returns true if the operation was successful.
Evan Cheng [Wed, 16 May 2007 21:53:07 +0000 (21:53 +0000)]
PredicateInstruction returns true if the operation was successful.

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

17 years agoAdd default implementation of PredicateInstruction().
Evan Cheng [Wed, 16 May 2007 21:20:37 +0000 (21:20 +0000)]
Add default implementation of PredicateInstruction().

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

17 years agoRename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr.
Evan Cheng [Wed, 16 May 2007 20:56:08 +0000 (20:56 +0000)]
Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr.

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

17 years agoMove if-conversion after all passes that may use register scavenger.
Evan Cheng [Wed, 16 May 2007 20:52:46 +0000 (20:52 +0000)]
Move if-conversion after all passes that may use register scavenger.

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

17 years agoRemoved isPredicable().
Evan Cheng [Wed, 16 May 2007 20:50:23 +0000 (20:50 +0000)]
Removed isPredicable().

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

17 years agoMake ARM::B isPredicable; Make Bcc and MOVCC condition option a normal operand so...
Evan Cheng [Wed, 16 May 2007 20:50:01 +0000 (20:50 +0000)]
Make ARM::B isPredicable; Make Bcc and MOVCC condition option a normal operand so they are not predicable.

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

17 years agoAdded isPredicable bit to class Instruction.
Evan Cheng [Wed, 16 May 2007 20:47:01 +0000 (20:47 +0000)]
Added isPredicable bit to class Instruction.

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

17 years agoRename M_PREDICATED to M_PREDICABLE; opcode can be specified isPredicable without...
Evan Cheng [Wed, 16 May 2007 20:45:24 +0000 (20:45 +0000)]
Rename M_PREDICATED to M_PREDICABLE; opcode can be specified isPredicable without having a PredicateOperand.

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

17 years agoRename M_PREDICATED to M_PREDICABLE; Move TargetInstrInfo::isPredicatable() to Machin...
Evan Cheng [Wed, 16 May 2007 20:43:42 +0000 (20:43 +0000)]
Rename M_PREDICATED to M_PREDICABLE; Move TargetInstrInfo::isPredicatable() to MachineInstr::isPredicable().

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

17 years agoFix a bug in the "fromString" method where radix 2,8 and 16 values were
Reid Spencer [Wed, 16 May 2007 19:18:22 +0000 (19:18 +0000)]
Fix a bug in the "fromString" method where radix 2,8 and 16 values were
not being generated correctly because the shl operator does not mutate its
object but returns a new value. Also, make the distinction between radix
16 and the others more clear.

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

17 years agoUpdate for arbitrary precision integer types.
Reid Spencer [Wed, 16 May 2007 18:44:01 +0000 (18:44 +0000)]
Update for arbitrary precision integer types.

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

17 years agoFix PR1355: Only compute the SUBPATH and TESTDIR once.
Reid Spencer [Wed, 16 May 2007 17:56:56 +0000 (17:56 +0000)]
Fix PR1355: Only compute the SUBPATH and TESTDIR once.

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

17 years agoFix PR number.
Devang Patel [Wed, 16 May 2007 16:51:31 +0000 (16:51 +0000)]
Fix PR number.

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

17 years agoNew test for PR1417
Devang Patel [Wed, 16 May 2007 16:50:32 +0000 (16:50 +0000)]
New test for PR1417

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

17 years agoAvoid a "loss of precision" error in gcc 4.1.3.
Reid Spencer [Wed, 16 May 2007 16:39:29 +0000 (16:39 +0000)]
Avoid a "loss of precision" error in gcc 4.1.3.

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

17 years agoOutput exception call-sites in address order, as required by the unwinding
Duncan Sands [Wed, 16 May 2007 12:12:23 +0000 (12:12 +0000)]
Output exception call-sites in address order, as required by the unwinding
runtime.

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

17 years agoConditional branch is not a barrier.
Evan Cheng [Wed, 16 May 2007 07:45:54 +0000 (07:45 +0000)]
Conditional branch is not a barrier.

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

17 years agoUse a ptr set instead of a linear search to unique TokenFactor operands.
Chris Lattner [Wed, 16 May 2007 06:37:59 +0000 (06:37 +0000)]
Use a ptr set instead of a linear search to unique TokenFactor operands.
This fixes PR1423

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

17 years agotestcase for maskmovq
Chris Lattner [Wed, 16 May 2007 06:14:10 +0000 (06:14 +0000)]
testcase for maskmovq

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

17 years agoimplement the missing maskmovq mmx intrinsic that akor hit.
Chris Lattner [Wed, 16 May 2007 06:08:17 +0000 (06:08 +0000)]
implement the missing maskmovq mmx intrinsic that akor hit.

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

17 years agoadd missing mmx intrinsic
Chris Lattner [Wed, 16 May 2007 06:03:49 +0000 (06:03 +0000)]
add missing mmx intrinsic

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

17 years agoFix comment.
Evan Cheng [Wed, 16 May 2007 05:14:06 +0000 (05:14 +0000)]
Fix comment.

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

17 years agoDevang points out that we need an assertion here.
Evan Cheng [Wed, 16 May 2007 05:11:10 +0000 (05:11 +0000)]
Devang points out that we need an assertion here.

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

17 years agoFix comments.
Evan Cheng [Wed, 16 May 2007 05:09:34 +0000 (05:09 +0000)]
Fix comments.

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

17 years agoImplement printing of instruction result values when debug info is turned
Reid Spencer [Wed, 16 May 2007 02:05:13 +0000 (02:05 +0000)]
Implement printing of instruction result values when debug info is turned
on. This helps to speed up the debugging time by showing computational
results as the program executes.

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

17 years agoBug fix: should check ABI alignment, not pref. alignment.
Evan Cheng [Wed, 16 May 2007 02:04:50 +0000 (02:04 +0000)]
Bug fix: should check ABI alignment, not pref. alignment.

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

17 years agoHooks for predication support.
Evan Cheng [Wed, 16 May 2007 02:01:49 +0000 (02:01 +0000)]
Hooks for predication support.

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

17 years agoInitial commit of (very basic) if converter.
Evan Cheng [Wed, 16 May 2007 02:00:57 +0000 (02:00 +0000)]
Initial commit of (very basic) if converter.

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

17 years agoAdd TargetInstrInfo predication hooks.
Evan Cheng [Wed, 16 May 2007 01:58:56 +0000 (01:58 +0000)]
Add TargetInstrInfo predication hooks.

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

17 years agoNew test.
Devang Patel [Tue, 15 May 2007 23:44:27 +0000 (23:44 +0000)]
New test.

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

17 years agoRemove extra CFG edges before doing these passes; it makes them happier.
Dale Johannesen [Tue, 15 May 2007 21:19:17 +0000 (21:19 +0000)]
Remove extra CFG edges before doing these passes; it makes them happier.

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

17 years agoadd PR number and testcase from the PR.
Chris Lattner [Tue, 15 May 2007 20:40:25 +0000 (20:40 +0000)]
add PR number and testcase from the PR.

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

17 years agonew testcase
Chris Lattner [Tue, 15 May 2007 20:29:56 +0000 (20:29 +0000)]
new testcase

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

17 years agoFix an infinite recursion in GetNegatedExpression.
Lauro Ramos Venancio [Tue, 15 May 2007 17:05:43 +0000 (17:05 +0000)]
Fix an infinite recursion in GetNegatedExpression.

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

17 years agoDon't put test cases into regression test suite before the bug is fixed.
Reid Spencer [Tue, 15 May 2007 15:46:41 +0000 (15:46 +0000)]
Don't put test cases into regression test suite before the bug is fixed.

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

17 years agoThe index into the actions table is a ULEB128 not a SLEB128.
Duncan Sands [Tue, 15 May 2007 13:54:14 +0000 (13:54 +0000)]
The index into the actions table is a ULEB128 not a SLEB128.

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

17 years agoNote on current implementation of ELF32/PPC ABI.
Nicolas Geoffray [Tue, 15 May 2007 09:21:28 +0000 (09:21 +0000)]
Note on current implementation of ELF32/PPC ABI.

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

17 years agoAdd a test case for PR1420
Reid Spencer [Tue, 15 May 2007 06:52:15 +0000 (06:52 +0000)]
Add a test case for PR1420

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

17 years agoselects can also reach here
Chris Lattner [Tue, 15 May 2007 06:42:04 +0000 (06:42 +0000)]
selects can also reach here

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

17 years agoimplement the ModuleProvider::dematerializeFunction hook
Chris Lattner [Tue, 15 May 2007 06:29:44 +0000 (06:29 +0000)]
implement the ModuleProvider::dematerializeFunction hook

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

17 years agoUn-brain-dead-ify the lowering of part set for the reverse case.
Reid Spencer [Tue, 15 May 2007 02:26:52 +0000 (02:26 +0000)]
Un-brain-dead-ify the lowering of part set for the reverse case.

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

17 years agoFix CodeGen/PowerPC/2007-05-14-InlineAsmSelectCrash.ll, the other recent
Chris Lattner [Tue, 15 May 2007 01:36:44 +0000 (01:36 +0000)]
Fix CodeGen/PowerPC/2007-05-14-InlineAsmSelectCrash.ll, the other recent
patches are also needed.

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

17 years agoFix some subtle issues handling immediate values. This fixes
Chris Lattner [Tue, 15 May 2007 01:33:58 +0000 (01:33 +0000)]
Fix some subtle issues handling immediate values.  This fixes
test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll

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

17 years agonew testcase that crashes llc
Chris Lattner [Tue, 15 May 2007 01:33:12 +0000 (01:33 +0000)]
new testcase that crashes llc

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

17 years agofix some subtle inline asm selection issues
Chris Lattner [Tue, 15 May 2007 01:31:05 +0000 (01:31 +0000)]
fix some subtle inline asm selection issues

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

17 years agoAdd PredicateOperand to all ARM instructions that have the condition field.
Evan Cheng [Tue, 15 May 2007 01:29:07 +0000 (01:29 +0000)]
Add PredicateOperand to all ARM instructions that have the condition field.

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

17 years agofix subtle bugs in inline asm operand selection
Chris Lattner [Tue, 15 May 2007 01:28:08 +0000 (01:28 +0000)]
fix subtle bugs in inline asm operand selection

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

17 years agoAdded getNumExplicitOperands and findFirstPredOperand.
Evan Cheng [Tue, 15 May 2007 01:26:09 +0000 (01:26 +0000)]
Added getNumExplicitOperands and findFirstPredOperand.

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

17 years agoAdded \!con(a,b) syntax to concatnate two dag fragments.
Evan Cheng [Tue, 15 May 2007 01:23:24 +0000 (01:23 +0000)]
Added \!con(a,b) syntax to concatnate two dag fragments.

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

17 years agoAll operands that made up of the predicate operands are maked M_PREDICATE_OPERAND.
Evan Cheng [Tue, 15 May 2007 01:21:27 +0000 (01:21 +0000)]
All operands that made up of the predicate operands are maked M_PREDICATE_OPERAND.

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

17 years agoMark all (not just the first) predicate operand M_PREDICATE_OPERAND.
Evan Cheng [Tue, 15 May 2007 01:20:36 +0000 (01:20 +0000)]
Mark all (not just the first) predicate operand M_PREDICATE_OPERAND.

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

17 years agoPredicateOperand related bug fix.
Evan Cheng [Tue, 15 May 2007 01:19:51 +0000 (01:19 +0000)]
PredicateOperand related bug fix.

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

17 years agotestcase that crashes llc
Chris Lattner [Tue, 15 May 2007 01:13:42 +0000 (01:13 +0000)]
testcase that crashes llc

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

17 years agoCorrect a comment.
Dan Gohman [Tue, 15 May 2007 00:20:13 +0000 (00:20 +0000)]
Correct a comment.

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

17 years agoFix Transforms/InstCombine/2007-05-14-Crash.ll
Chris Lattner [Tue, 15 May 2007 00:16:00 +0000 (00:16 +0000)]
Fix Transforms/InstCombine/2007-05-14-Crash.ll

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

17 years agoNew testcase that crashes instcombine
Chris Lattner [Tue, 15 May 2007 00:15:49 +0000 (00:15 +0000)]
New testcase that crashes instcombine

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

17 years agoFix previous patch. GOTOFF can be used only when the symbol has internal
Lauro Ramos Venancio [Mon, 14 May 2007 23:20:21 +0000 (23:20 +0000)]
Fix previous patch. GOTOFF can be used only when the symbol has internal
linkage or hidden visibility.

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

17 years agoimplement a simple fneg optimization/propagation thing. This compiles:
Chris Lattner [Mon, 14 May 2007 22:04:50 +0000 (22:04 +0000)]
implement a simple fneg optimization/propagation thing.  This compiles:
CodeGen/PowerPC/fneg.ll into:

_t4:
        fmul f0, f3, f4
        fmadd f1, f1, f2, f0
        blr

instead of:

_t4:
        fneg f0, f3
        fmul f0, f0, f4
        fmsub f1, f1, f2, f0
        blr

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

17 years agonew testcase
Chris Lattner [Mon, 14 May 2007 22:04:16 +0000 (22:04 +0000)]
new testcase

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

17 years agoOnly worry about intervening kill if there are more than one live ranges in the interval.
Evan Cheng [Mon, 14 May 2007 21:23:51 +0000 (21:23 +0000)]
Only worry about intervening kill if there are more than one live ranges in the interval.

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

17 years agoTest for PR1406.
Evan Cheng [Mon, 14 May 2007 21:12:43 +0000 (21:12 +0000)]
Test for PR1406.

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

17 years agoFix for PR1406:
Evan Cheng [Mon, 14 May 2007 21:10:05 +0000 (21:10 +0000)]
Fix for PR1406:

v1 =
r2 = move v1
   = op r2<kill>
...
r2 = move v1
   = op r2<kill>

Clear the first r2 kill if v1 and r2 are joined.

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

17 years agoNew test.
Evan Cheng [Mon, 14 May 2007 20:47:21 +0000 (20:47 +0000)]
New test.

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

17 years agoDoh. .cpp -> .ll
Evan Cheng [Mon, 14 May 2007 20:43:28 +0000 (20:43 +0000)]
Doh. .cpp -> .ll

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

17 years agoWhen marking a register as being implicitly defined, make sure to clear its partial...
Evan Cheng [Mon, 14 May 2007 20:39:18 +0000 (20:39 +0000)]
When marking a register as being implicitly defined, make sure to clear its partial use info as well.

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

17 years agoOptimize PIC implementation. GOTOFF can be used when the symbol is defined
Lauro Ramos Venancio [Mon, 14 May 2007 18:46:23 +0000 (18:46 +0000)]
Optimize PIC implementation. GOTOFF can be used when the symbol is defined
and used in the same module.

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

17 years agoEnable aliases on arm-linux.
Lauro Ramos Venancio [Mon, 14 May 2007 18:32:56 +0000 (18:32 +0000)]
Enable aliases on arm-linux.

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

17 years agoRemove duplicated line.
Evan Cheng [Mon, 14 May 2007 18:03:45 +0000 (18:03 +0000)]
Remove duplicated line.

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

17 years agoReverse last patch .. premature. Depends on uncommitted CBE patch.
Reid Spencer [Mon, 14 May 2007 17:58:52 +0000 (17:58 +0000)]
Reverse last patch .. premature. Depends on uncommitted CBE patch.

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

17 years agoUpdate this test to match the (corrected) output from the CBE.
Reid Spencer [Mon, 14 May 2007 17:56:39 +0000 (17:56 +0000)]
Update this test to match the (corrected) output from the CBE.

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

17 years agoGive names to the final result values of the part_set computations. This
Reid Spencer [Mon, 14 May 2007 17:21:17 +0000 (17:21 +0000)]
Give names to the final result values of the part_set computations. This
just aids in readability and debugability of the output. No functional change.

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

17 years agoThe wrapping behavior of part_set is not desirable. Adjust the
Reid Spencer [Mon, 14 May 2007 16:50:20 +0000 (16:50 +0000)]
The wrapping behavior of part_set is not desirable. Adjust the
documentation to describe the desired behavior.

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

17 years agoRevise definition of part_select. The wrapping behavior is not useful so
Reid Spencer [Mon, 14 May 2007 16:14:57 +0000 (16:14 +0000)]
Revise definition of part_select. The wrapping behavior is not useful so
in the reverse case the only difference is that the bits are returned in
reverse order.

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

17 years agoCorrect a few comments.
Dan Gohman [Mon, 14 May 2007 14:31:17 +0000 (14:31 +0000)]
Correct a few comments.

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

17 years agoAdd passes -view-cfg and -view-cfg-only that are like -print-cfg and
Dan Gohman [Mon, 14 May 2007 14:25:08 +0000 (14:25 +0000)]
Add passes -view-cfg and -view-cfg-only that are like -print-cfg and
-print-cfg-only except they use the ViewCFG function, which displays the
CFG rendered with graphviz with gv.

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

17 years agoUse templates for the GraphType for DefaultDOTGraphTraits' members instead
Dan Gohman [Mon, 14 May 2007 14:23:27 +0000 (14:23 +0000)]
Use templates for the GraphType for DefaultDOTGraphTraits' members instead
of just using void*. This allows it to be used with graph adapters like
Inverse.

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