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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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