oota-llvm.git
17 years agoBlocks that cond-br and uncond-br/fallthrough to same block should have
Dale Johannesen [Thu, 24 May 2007 18:31:55 +0000 (18:31 +0000)]
Blocks that cond-br and uncond-br/fallthrough to same block should have
only one successor.

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

17 years agoFix for PR1444: do not create two successors to the same block.
Dale Johannesen [Thu, 24 May 2007 17:39:32 +0000 (17:39 +0000)]
Fix for PR1444: do not create two successors to the same block.
Temporarily, this breaks CodeGen/Generic/2006-02-12-InsertLibraryCall.ll
by exposing an unrelated latent problem; working on that.

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

17 years agoCompute the correct word number.
Zhou Sheng [Thu, 24 May 2007 15:03:18 +0000 (15:03 +0000)]
Compute the correct word number.

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

17 years agoMinor comment cleanups.
Dan Gohman [Thu, 24 May 2007 14:36:04 +0000 (14:36 +0000)]
Minor comment cleanups.

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

17 years agoAdd explicit qualification for namespace MVT members.
Dan Gohman [Thu, 24 May 2007 14:33:05 +0000 (14:33 +0000)]
Add explicit qualification for namespace MVT members.

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

17 years agoAdd cases for v2f32.
Dan Gohman [Thu, 24 May 2007 14:29:12 +0000 (14:29 +0000)]
Add cases for v2f32.

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

17 years agoFix a typo that caused combiner to create mal-formed pre-indexed store where value...
Evan Cheng [Thu, 24 May 2007 02:35:39 +0000 (02:35 +0000)]
Fix a typo that caused combiner to create mal-formed pre-indexed store where value store is the same as the base pointer.

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

17 years agoAdd a new test case.
Evan Cheng [Thu, 24 May 2007 02:31:15 +0000 (02:31 +0000)]
Add a new test case.

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

17 years agotail merging shrinks this code a bit. Could do more in future.
Dale Johannesen [Wed, 23 May 2007 21:09:26 +0000 (21:09 +0000)]
tail merging shrinks this code a bit.  Could do more in future.

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

17 years agoTwo tail merging improvements:
Dale Johannesen [Wed, 23 May 2007 21:07:20 +0000 (21:07 +0000)]
Two tail merging improvements:
When considering blocks with more than 2 predecessors, merge the block with
the largest number of matching insns, rather than the first block found.
Considering that 1 matching insn is enough to show a win for candidates that
already end with a branch.

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

17 years agoAdd dump() routines for debugging assistance.
Devang Patel [Wed, 23 May 2007 19:55:36 +0000 (19:55 +0000)]
Add dump() routines for debugging assistance.

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

17 years agoMark all calls as "could throw", when exceptions are enabled. Emit necessary LP info...
Anton Korobeynikov [Wed, 23 May 2007 11:08:31 +0000 (11:08 +0000)]
Mark all calls as "could throw", when exceptions are enabled. Emit necessary LP info too. This fixes PR1439

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

17 years agoprevent exponential recursion in isNegatibleForFree
Chris Lattner [Wed, 23 May 2007 07:35:22 +0000 (07:35 +0000)]
prevent exponential recursion in isNegatibleForFree

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

17 years agoPreliminary iterative if-conversion support.
Evan Cheng [Wed, 23 May 2007 07:23:16 +0000 (07:23 +0000)]
Preliminary iterative if-conversion support.

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

17 years agoHooks for predication support.
Evan Cheng [Wed, 23 May 2007 07:22:05 +0000 (07:22 +0000)]
Hooks for predication support.

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

17 years agoRename a parameter.
Evan Cheng [Wed, 23 May 2007 07:21:11 +0000 (07:21 +0000)]
Rename a parameter.

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

17 years agoAdd a couple of target hooks for predication.
Evan Cheng [Wed, 23 May 2007 07:19:12 +0000 (07:19 +0000)]
Add a couple of target hooks for predication.

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

17 years agowhen merging two alias sets together, be sure to propagate the volatility of
Chris Lattner [Wed, 23 May 2007 06:36:35 +0000 (06:36 +0000)]
when merging two alias sets together, be sure to propagate the volatility of
the inner set.  This fixes PR1435 and Transforms/LICM/2007-05-22-VolatileSink.ll

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

17 years agonew testcase for PR1435
Chris Lattner [Wed, 23 May 2007 06:35:52 +0000 (06:35 +0000)]
new testcase for PR1435

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

17 years agomake these accessors private.
Chris Lattner [Wed, 23 May 2007 05:46:04 +0000 (05:46 +0000)]
make these accessors private.

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

17 years agoIf user wants to run instcombine twice, do not block it.
Devang Patel [Wed, 23 May 2007 05:08:52 +0000 (05:08 +0000)]
If user wants to run instcombine twice, do not block it.

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

17 years agofinal updates
Chris Lattner [Wed, 23 May 2007 04:39:32 +0000 (04:39 +0000)]
final updates

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

17 years agofix a miscompilation when passing a float through varargs
Chris Lattner [Wed, 23 May 2007 01:17:04 +0000 (01:17 +0000)]
fix a miscompilation when passing a float through varargs

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

17 years agoThe Intrinsic::getDeclaration function's Tys parameter only contains the
Reid Spencer [Tue, 22 May 2007 19:30:31 +0000 (19:30 +0000)]
The Intrinsic::getDeclaration function's Tys parameter only contains the
types of the iAny types involved in the overloaded intrinsic. Thus, we
can't use the argument number as the index but have to count them separately
in order to index Tys correctly. This patch rectifies this situation.

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

17 years agoReinstate the patch for escaping non-printing characters and allow for
Reid Spencer [Tue, 22 May 2007 19:27:35 +0000 (19:27 +0000)]
Reinstate the patch for escaping non-printing characters and allow for
\\ to escape \. All these cases are now handled by the AsmParser.

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

17 years agoRegenerate.
Reid Spencer [Tue, 22 May 2007 19:08:16 +0000 (19:08 +0000)]
Regenerate.

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

17 years agoDon't allow the UnEscape code to read or write beyond the end of yytext.
Reid Spencer [Tue, 22 May 2007 19:07:45 +0000 (19:07 +0000)]
Don't allow the UnEscape code to read or write beyond the end of yytext.
Make sure we convert \\ into \.

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

17 years agoRegenerate.
Reid Spencer [Tue, 22 May 2007 18:52:55 +0000 (18:52 +0000)]
Regenerate.

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

17 years agoImplement full unescaping of escaped hex characters in all quoted identifiers
Reid Spencer [Tue, 22 May 2007 18:52:21 +0000 (18:52 +0000)]
Implement full unescaping of escaped hex characters in all quoted identifiers
and strings.

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

17 years agoDocument boolOrDefault and its parser.
Dale Johannesen [Tue, 22 May 2007 18:32:34 +0000 (18:32 +0000)]
Document boolOrDefault and its parser.

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

17 years agoname change requested by review of previous patch
Dale Johannesen [Tue, 22 May 2007 18:31:04 +0000 (18:31 +0000)]
name change requested by review of previous patch

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

17 years agoSilence a warning.
Owen Anderson [Tue, 22 May 2007 18:13:40 +0000 (18:13 +0000)]
Silence a warning.

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

17 years agonew testcases for -enable-tail-merge default handling
Dale Johannesen [Tue, 22 May 2007 17:19:23 +0000 (17:19 +0000)]
new testcases for -enable-tail-merge default handling

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

17 years agoTest assumes tail merging is off; this must now be explicit.
Dale Johannesen [Tue, 22 May 2007 17:18:05 +0000 (17:18 +0000)]
Test assumes tail merging is off; this must now be explicit.

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

17 years agoMake tail merging the default, except on powerPC. There was no prior art
Dale Johannesen [Tue, 22 May 2007 17:14:46 +0000 (17:14 +0000)]
Make tail merging the default, except on powerPC.  There was no prior art
for a target-dependent default with a command-line override; this way
should be generally usable.

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

17 years agotemporarily revert reid's asmwriter patch, it is missing the asmparser piece
Chris Lattner [Tue, 22 May 2007 07:00:50 +0000 (07:00 +0000)]
temporarily revert reid's asmwriter patch, it is missing the asmparser piece
that decodes the escape sequences, thus breaking all cases that use them.

This fixes test/Assembler/2007-05-21-Escape.ll

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

17 years agonew testcase for a recent regression
Chris Lattner [Tue, 22 May 2007 07:00:38 +0000 (07:00 +0000)]
new testcase for a recent regression

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

17 years agoupdate comment
Chris Lattner [Tue, 22 May 2007 06:56:32 +0000 (06:56 +0000)]
update comment

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

17 years agoregenerate
Chris Lattner [Tue, 22 May 2007 06:47:55 +0000 (06:47 +0000)]
regenerate

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

17 years agosimplify code
Chris Lattner [Tue, 22 May 2007 06:47:11 +0000 (06:47 +0000)]
simplify code

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

17 years agoNightlyTest.pl does not exist.
Tanya Lattner [Tue, 22 May 2007 06:12:51 +0000 (06:12 +0000)]
NightlyTest.pl does not exist.

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

17 years agoAdding 2.0 release
Tanya Lattner [Tue, 22 May 2007 06:06:22 +0000 (06:06 +0000)]
Adding 2.0 release

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

17 years agoWe only need to specify the most-implied feature for an architecture.
Bill Wendling [Tue, 22 May 2007 05:15:37 +0000 (05:15 +0000)]
We only need to specify the most-implied feature for an architecture.

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

17 years agoConsistency.
Evan Cheng [Tue, 22 May 2007 01:21:58 +0000 (01:21 +0000)]
Consistency.

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

17 years agoAdd test for PR1259.
Evan Cheng [Mon, 21 May 2007 23:30:33 +0000 (23:30 +0000)]
Add test for PR1259.

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

17 years agoFix some -march=thumb regressions. tBR_JTr is not predicable.
Evan Cheng [Mon, 21 May 2007 23:17:32 +0000 (23:17 +0000)]
Fix some -march=thumb regressions. tBR_JTr is not predicable.

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

17 years agoUse AXI3 not AXI2 for appropriate PIC PC-relative loads and stores. Cosmetic.
Dale Johannesen [Mon, 21 May 2007 22:42:04 +0000 (22:42 +0000)]
Use AXI3 not AXI2 for appropriate PIC PC-relative loads and stores.  Cosmetic.

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

17 years agoIf-convert early exit blocks (returns, etc.); bug fixes, etc.
Evan Cheng [Mon, 21 May 2007 22:22:58 +0000 (22:22 +0000)]
If-convert early exit blocks (returns, etc.); bug fixes, etc.

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

17 years agoAdd some patterns for PIC PC-relative loads and stores.
Dale Johannesen [Mon, 21 May 2007 22:14:33 +0000 (22:14 +0000)]
Add some patterns for PIC PC-relative loads and stores.

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

17 years agoBlockHasNoFallThrough() now returns true if block ends with a return instruction...
Evan Cheng [Mon, 21 May 2007 18:56:31 +0000 (18:56 +0000)]
BlockHasNoFallThrough() now returns true if block ends with a return instruction; AnalyzeBranch() should ignore predicated instructionsd.

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

17 years agoOnly emit one entry in the exception action table for each action, even if
Duncan Sands [Mon, 21 May 2007 18:50:28 +0000 (18:50 +0000)]
Only emit one entry in the exception action table for each action, even if
it occurs for multiple landing pads.

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

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