oota-llvm.git
17 years agoBlockHasNoFallThrough() now returns true if block ends with a return instruction.
Evan Cheng [Mon, 21 May 2007 18:44:17 +0000 (18:44 +0000)]
BlockHasNoFallThrough() now returns true if block ends with a return instruction.

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

17 years agoUpdate
Bill Wendling [Sun, 20 May 2007 19:56:24 +0000 (19:56 +0000)]
Update

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

17 years agoGet the order of the hext digits right!
Reid Spencer [Sat, 19 May 2007 14:44:42 +0000 (14:44 +0000)]
Get the order of the hext digits right!

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

17 years agoAdjust how LLVM names are produced:
Reid Spencer [Sat, 19 May 2007 07:25:21 +0000 (07:25 +0000)]
Adjust how LLVM names are produced:
1. Always use % for local and @ for global.
2. Replace NameNeedsQuotes with QuoteNameIfNeeded so that any adjustments
   to the name can be done in one pass.
3. Implement generation of hex escapes so we don't get "wonky" characters
   in the output.

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

17 years agoMake sure we can round-trip an escaped value in a name.
Reid Spencer [Sat, 19 May 2007 07:22:24 +0000 (07:22 +0000)]
Make sure we can round-trip an escaped value in a name.

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

17 years agoRegenerate
Reid Spencer [Sat, 19 May 2007 07:22:10 +0000 (07:22 +0000)]
Regenerate

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

17 years agoMake the %"..." syntax legal for local name. This just makes it symmetric
Reid Spencer [Sat, 19 May 2007 07:21:26 +0000 (07:21 +0000)]
Make the %"..." syntax legal for local name. This just makes it symmetric
with global names which can already be @"..."

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

17 years agoFix Transforms/InstCombine/2007-05-18-CastFoldBug.ll, a bug that devastates
Chris Lattner [Sat, 19 May 2007 06:51:32 +0000 (06:51 +0000)]
Fix Transforms/InstCombine/2007-05-18-CastFoldBug.ll, a bug that devastates
objc code due to the way the FE lowers objc message sends.

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

17 years agonew testcase
Chris Lattner [Sat, 19 May 2007 06:50:37 +0000 (06:50 +0000)]
new testcase

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

17 years agoOn Linux platforms and at optimization levels -O1 and above, llvm-gcc can
Reid Spencer [Sat, 19 May 2007 01:36:17 +0000 (01:36 +0000)]
On Linux platforms and at optimization levels -O1 and above, llvm-gcc can
turn "putchar" calls into _IO_putc calls which is a lower-level interface.
This patch allows these calls to be executed by lli in interpreter mode.

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

17 years agoadd source
Chris Lattner [Sat, 19 May 2007 01:22:52 +0000 (01:22 +0000)]
add source

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

17 years agoHandle negative strides much more optimally. This compiles X86/lsr-negative-stride.ll
Chris Lattner [Sat, 19 May 2007 01:22:21 +0000 (01:22 +0000)]
Handle negative strides much more optimally.  This compiles X86/lsr-negative-stride.ll
into:

_t:
        movl 8(%esp), %ecx
        movl 4(%esp), %eax
        cmpl %ecx, %eax
        je LBB1_3       #bb17
LBB1_1: #bb
        cmpl %ecx, %eax
        jg LBB1_4       #cond_true
LBB1_2: #cond_false
        subl %eax, %ecx
        cmpl %ecx, %eax
        jne LBB1_1      #bb
LBB1_3: #bb17
        ret
LBB1_4: #cond_true
        subl %ecx, %eax
        cmpl %ecx, %eax
        jne LBB1_1      #bb
        jmp LBB1_3      #bb17

instead of:

_t:
        subl $4, %esp
        movl %esi, (%esp)
        movl 12(%esp), %ecx
        movl 8(%esp), %eax
        cmpl %ecx, %eax
        je LBB1_4       #bb17
LBB1_1: #bb.outer
        movl %ecx, %edx
        negl %edx
LBB1_2: #bb
        cmpl %ecx, %eax
        jle LBB1_5      #cond_false
LBB1_3: #cond_true
        addl %edx, %eax
        cmpl %ecx, %eax
        jne LBB1_2      #bb
LBB1_4: #bb17
        movl (%esp), %esi
        addl $4, %esp
        ret
LBB1_5: #cond_false
        movl %ecx, %edx
        subl %eax, %edx
        movl %eax, %esi
        addl %esi, %esi
        cmpl %ecx, %esi
        je LBB1_4       #bb17
LBB1_6: #cond_false.bb.outer_crit_edge
        movl %edx, %ecx
        jmp LBB1_1      #bb.outer

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

17 years agonew testcase
Chris Lattner [Sat, 19 May 2007 01:21:39 +0000 (01:21 +0000)]
new testcase

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

17 years agosame patch as the previous one, but the symmetric case
Chris Lattner [Sat, 19 May 2007 00:46:51 +0000 (00:46 +0000)]
same patch as the previous one, but the symmetric case

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

17 years agoDisable the (A == (B-A)) -> 2*A == B xform when the sub has multiple uses (in
Chris Lattner [Sat, 19 May 2007 00:43:44 +0000 (00:43 +0000)]
Disable the (A == (B-A)) -> 2*A == B xform when the sub has multiple uses (in
this case, the xform introduces an extra operation).  This compiles
PowerPC/compare-duplicate.ll into:

_test:
        subf r2, r3, r4
        cmplw cr0, r2, r3
        bne cr0, LBB1_2 ;F

instead of:

_test:
        slwi r2, r3, 1
        subf r3, r3, r4
        cmplw cr0, r4, r2
        bne cr0, LBB1_2 ;F

This is target independent of course.

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

17 years agonew testcase
Chris Lattner [Sat, 19 May 2007 00:41:40 +0000 (00:41 +0000)]
new testcase

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

17 years agoFix an assertion introduced by my last change to the toString method. We
Reid Spencer [Sat, 19 May 2007 00:29:55 +0000 (00:29 +0000)]
Fix an assertion introduced by my last change to the toString method. We
can't use getZExtValue() to extract the low order bits for each digit.
Instead, we need to access the low order word directly.

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

17 years agoApply this patch:
Dan Gohman [Fri, 18 May 2007 23:21:46 +0000 (23:21 +0000)]
Apply this patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070514/049845.html

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

17 years agoadd a note
Chris Lattner [Fri, 18 May 2007 20:18:14 +0000 (20:18 +0000)]
add a note

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

17 years agoAdd a testcase for unrolling loops with unknown tripcounts.
Dan Gohman [Fri, 18 May 2007 19:59:23 +0000 (19:59 +0000)]
Add a testcase for unrolling loops with unknown tripcounts.

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

17 years agoClean up.
Evan Cheng [Fri, 18 May 2007 19:32:08 +0000 (19:32 +0000)]
Clean up.

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

17 years agoChange to depth-first traversal.
Evan Cheng [Fri, 18 May 2007 19:26:33 +0000 (19:26 +0000)]
Change to depth-first traversal.

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

17 years agoDocument an inefficiency in tail merging.
Dale Johannesen [Fri, 18 May 2007 18:46:40 +0000 (18:46 +0000)]
Document an inefficiency in tail merging.

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

17 years agoUse MVT::FIRST_VECTOR_VALUETYPE and MVT::LAST_VECTOR_VALUETYPE.
Dan Gohman [Fri, 18 May 2007 18:44:07 +0000 (18:44 +0000)]
Use MVT::FIRST_VECTOR_VALUETYPE and MVT::LAST_VECTOR_VALUETYPE.

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

17 years agoQualify calls to getTypeForValueType with MVT:: too.
Dan Gohman [Fri, 18 May 2007 18:41:29 +0000 (18:41 +0000)]
Qualify calls to getTypeForValueType with MVT:: too.

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

17 years agoSome restructuring in preparation for most aggressive if-conversion.
Evan Cheng [Fri, 18 May 2007 18:14:37 +0000 (18:14 +0000)]
Some restructuring in preparation for most aggressive if-conversion.

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

17 years agoQualify several calls to functions in the MVT namespace, for consistency.
Dan Gohman [Fri, 18 May 2007 17:52:13 +0000 (17:52 +0000)]
Qualify several calls to functions in the MVT namespace, for consistency.

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

17 years agoWatch out for blocks that end with a return.
Evan Cheng [Fri, 18 May 2007 17:06:53 +0000 (17:06 +0000)]
Watch out for blocks that end with a return.

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

17 years agoFix typo.
Duncan Sands [Fri, 18 May 2007 12:13:34 +0000 (12:13 +0000)]
Fix typo.

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

17 years agoFix typo.
Duncan Sands [Fri, 18 May 2007 09:04:20 +0000 (09:04 +0000)]
Fix typo.

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

17 years agobetter portability for intptr_t.
Chris Lattner [Fri, 18 May 2007 07:07:05 +0000 (07:07 +0000)]
better portability for intptr_t.

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

17 years agofinished the first draft
Chris Lattner [Fri, 18 May 2007 06:38:51 +0000 (06:38 +0000)]
finished the first draft

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

17 years agocrank out notes
Chris Lattner [Fri, 18 May 2007 06:33:02 +0000 (06:33 +0000)]
crank out notes

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

17 years agoRegenerate.
Reid Spencer [Fri, 18 May 2007 05:48:07 +0000 (05:48 +0000)]
Regenerate.

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

17 years agovalidation fix
Chris Lattner [Fri, 18 May 2007 05:38:44 +0000 (05:38 +0000)]
validation fix

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

17 years agovalidation fixes
Chris Lattner [Fri, 18 May 2007 05:36:14 +0000 (05:36 +0000)]
validation fixes

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

17 years agoFix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.
Chris Lattner [Fri, 18 May 2007 04:02:46 +0000 (04:02 +0000)]
Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.

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

17 years agoAdd a test case for PR1434
Reid Spencer [Fri, 18 May 2007 03:46:50 +0000 (03:46 +0000)]
Add a test case for PR1434

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

17 years agoAvoid an infinite loop when TestRunner.sh is run outside of the test dir.
Reid Spencer [Fri, 18 May 2007 02:06:03 +0000 (02:06 +0000)]
Avoid an infinite loop when TestRunner.sh is run outside of the test dir.

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

17 years agoIf true / false blocks fallthrough before ifcvt, add unconditional branches to ifcvt...
Evan Cheng [Fri, 18 May 2007 01:55:58 +0000 (01:55 +0000)]
If true / false blocks fallthrough before ifcvt, add unconditional branches to ifcvt'd block.

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

17 years agoMark calls non-predicable for now. Need to ensure it's the last instruction in the...
Evan Cheng [Fri, 18 May 2007 01:53:54 +0000 (01:53 +0000)]
Mark calls non-predicable for now. Need to ensure it's the last instruction in the if-converted block or make sure it preserve condition code.

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

17 years agoRemove some unneeded branches. (spotted by Evan, thanks)
Dale Johannesen [Fri, 18 May 2007 01:28:58 +0000 (01:28 +0000)]
Remove some unneeded branches.  (spotted by Evan, thanks)

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

17 years agoSilence some compilation warnings.
Evan Cheng [Fri, 18 May 2007 01:19:57 +0000 (01:19 +0000)]
Silence some compilation warnings.

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

17 years agotweak
Chris Lattner [Fri, 18 May 2007 00:44:29 +0000 (00:44 +0000)]
tweak

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

17 years agoMake use of target specific block size limits; bug fixes.
Evan Cheng [Fri, 18 May 2007 00:20:58 +0000 (00:20 +0000)]
Make use of target specific block size limits; bug fixes.

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

17 years agoSet ARM if-conversion block size threshold to 10 instructions for now.
Evan Cheng [Fri, 18 May 2007 00:19:34 +0000 (00:19 +0000)]
Set ARM if-conversion block size threshold to 10 instructions for now.

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

17 years agoRemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.
Evan Cheng [Fri, 18 May 2007 00:18:17 +0000 (00:18 +0000)]
RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.

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

17 years agoRemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.
Evan Cheng [Fri, 18 May 2007 00:05:48 +0000 (00:05 +0000)]
RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.

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

17 years agoFix comment.
Evan Cheng [Fri, 18 May 2007 00:00:30 +0000 (00:00 +0000)]
Fix comment.

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

17 years agoMove isSuccessor() offline, change it to use std::find.
Evan Cheng [Thu, 17 May 2007 23:58:53 +0000 (23:58 +0000)]
Move isSuccessor() offline, change it to use std::find.

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

17 years agoFix a problem with building .y files when BISON is not present.
Reid Spencer [Thu, 17 May 2007 22:51:35 +0000 (22:51 +0000)]
Fix a problem with building .y files when BISON is not present.
Merged from the release_20 branch.

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

17 years agoFix PR1431
Devang Patel [Thu, 17 May 2007 22:10:15 +0000 (22:10 +0000)]
Fix PR1431
Test case at Transformations/SCCP/2007-05-16-InvokeCrash.ll

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

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

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

17 years agovalidation fixes
Chris Lattner [Thu, 17 May 2007 22:03:43 +0000 (22:03 +0000)]
validation fixes

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

17 years agollvm-gcc now supports almost all gcc extensions. The key missing one is
Chris Lattner [Thu, 17 May 2007 22:02:24 +0000 (22:02 +0000)]
llvm-gcc now supports almost all gcc extensions.  The key missing one is
builtin_apply.

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

17 years agoadd a section about API changes.
Chris Lattner [Thu, 17 May 2007 21:41:31 +0000 (21:41 +0000)]
add a section about API changes.

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

17 years agoMore effective breakdown of memcpy into repeated load/store. These are now
Dale Johannesen [Thu, 17 May 2007 21:31:21 +0000 (21:31 +0000)]
More effective breakdown of memcpy into repeated load/store.  These are now
in the order lod;lod;lod;sto;sto;sto which means the load-store optimizer
has a better chance of producing ldm/stm.  Ideally you would get cooperation
from the RA as well but this is not there yet.

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

17 years agoCorrect a name in a comment.
Dan Gohman [Thu, 17 May 2007 21:30:39 +0000 (21:30 +0000)]
Correct a name in a comment.

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

17 years agosilence some "comparison between signed and unsigned integer expressions"
Chris Lattner [Thu, 17 May 2007 20:01:40 +0000 (20:01 +0000)]
silence some "comparison between signed and unsigned integer expressions"
warnings

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

17 years agominor tweak
Chris Lattner [Thu, 17 May 2007 19:58:57 +0000 (19:58 +0000)]
minor tweak

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

17 years agoGet rid of leading zeros in the output of toString.
Reid Spencer [Thu, 17 May 2007 19:23:02 +0000 (19:23 +0000)]
Get rid of leading zeros in the output of toString.

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

17 years agoNew test case.
Evan Cheng [Thu, 17 May 2007 18:49:50 +0000 (18:49 +0000)]
New test case.

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

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