oota-llvm.git
16 years agoImplement smarter algorithm for choosing which blocks to tail-merge.
Dale Johannesen [Fri, 1 Jun 2007 23:02:45 +0000 (23:02 +0000)]
Implement smarter algorithm for choosing which blocks to tail-merge.
See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well;
shaves another 10K off our favorite benchmark.  I was hesitant about
this because of compile speed, but seems to do OK on a bootstrap.

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

16 years agoFor PR1486:
Reid Spencer [Fri, 1 Jun 2007 22:23:29 +0000 (22:23 +0000)]
For PR1486:
Avoid overwriting the APInt instance with 0 bytes which causes the bitwidth
to be set to 0 (illegal) producing a subsequent assert.

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

16 years agoInsert new instructions in AliasSet.
Devang Patel [Fri, 1 Jun 2007 22:15:31 +0000 (22:15 +0000)]
Insert new instructions in AliasSet.

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

16 years agoclean() needs to process things in topological order.
Owen Anderson [Fri, 1 Jun 2007 22:00:37 +0000 (22:00 +0000)]
clean() needs to process things in topological order.

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

16 years agoOpcode modifier s comes after condition code. e.g. addlts, not addslt.
Evan Cheng [Fri, 1 Jun 2007 20:51:29 +0000 (20:51 +0000)]
Opcode modifier s comes after condition code. e.g. addlts, not addslt.

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

16 years agoCorrectly mark early-exit on the false path.
Evan Cheng [Fri, 1 Jun 2007 20:29:21 +0000 (20:29 +0000)]
Correctly mark early-exit on the false path.

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

16 years agoFix Expression comparison, which in turn fixes a value numbering error.
Owen Anderson [Fri, 1 Jun 2007 17:34:47 +0000 (17:34 +0000)]
Fix Expression comparison, which in turn fixes a value numbering error.

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

16 years agoSet ARM ifcvt duplication limit to 3 for now.
Evan Cheng [Fri, 1 Jun 2007 08:28:59 +0000 (08:28 +0000)]
Set ARM ifcvt duplication limit to 3 for now.

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

16 years agoTarget specific ifcvt code duplication limit.
Evan Cheng [Fri, 1 Jun 2007 08:25:24 +0000 (08:25 +0000)]
Target specific ifcvt code duplication limit.

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

16 years agoSince TypeInfos are passed as i8 pointers, a NULL TypeInfo should be passed
Duncan Sands [Fri, 1 Jun 2007 08:18:30 +0000 (08:18 +0000)]
Since TypeInfos are passed as i8 pointers, a NULL TypeInfo should be passed
as a null i8 pointer not as a 0 i32.

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

16 years agoIfcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't merge ...
Evan Cheng [Fri, 1 Jun 2007 07:41:07 +0000 (07:41 +0000)]
Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't merge 'false' BB if it has other predecessors.

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

16 years agoMake jumptable non-predicable for now.
Evan Cheng [Fri, 1 Jun 2007 00:56:15 +0000 (00:56 +0000)]
Make jumptable non-predicable for now.

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

16 years agoRemove a bogus check. Even terminators in a ifcvt need to be predicated. Unconditiona...
Evan Cheng [Fri, 1 Jun 2007 00:55:26 +0000 (00:55 +0000)]
Remove a bogus check. Even terminators in a ifcvt need to be predicated. Unconditional branches can usually be converted to conditional ones.

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

16 years agoAllow multiple ifcvt candidates to share children blocks; add some debugging code.
Evan Cheng [Fri, 1 Jun 2007 00:12:12 +0000 (00:12 +0000)]
Allow multiple ifcvt candidates to share children blocks; add some debugging code.

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

16 years agoAdd a topological sort function.
Owen Anderson [Thu, 31 May 2007 22:44:11 +0000 (22:44 +0000)]
Add a topological sort function.

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

16 years agoArrange for only 1 of multiple branches to landing pad to be kept.
Dale Johannesen [Thu, 31 May 2007 21:54:00 +0000 (21:54 +0000)]
Arrange for only 1 of multiple branches to landing pad to be kept.
Do not remove empty landing pads (EH table needs to be updated)

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

16 years agoFix a typo.
Evan Cheng [Thu, 31 May 2007 20:53:33 +0000 (20:53 +0000)]
Fix a typo.

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

16 years agoFix the asmprinter so that a globalvalue can specify an explicit alignment
Chris Lattner [Thu, 31 May 2007 18:57:45 +0000 (18:57 +0000)]
Fix the asmprinter so that a globalvalue can specify an explicit alignment
smaller than the preferred alignment, but so that the target can actually
specify a minimum alignment if needed.  This fixes some objc protocol
failures Devang tracked down.

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

16 years agoAdd a test for PR1424.
Lauro Ramos Venancio [Thu, 31 May 2007 18:36:07 +0000 (18:36 +0000)]
Add a test for PR1424.

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

16 years agoFix PR1424.
Lauro Ramos Venancio [Thu, 31 May 2007 18:27:58 +0000 (18:27 +0000)]
Fix PR1424.
When a function has FP, the register scavenging spill slot offset already
was calculated.

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

16 years agoAlphabetize Bruno's entry.
Bill Wendling [Thu, 31 May 2007 04:14:28 +0000 (04:14 +0000)]
Alphabetize Bruno's entry.

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

16 years agoNew contributor added!
Bruno Cardoso Lopes [Thu, 31 May 2007 03:25:10 +0000 (03:25 +0000)]
New contributor added!

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

16 years agoAttempt to fix up phi_translate.
Owen Anderson [Thu, 31 May 2007 00:42:15 +0000 (00:42 +0000)]
Attempt to fix up phi_translate.

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

16 years agoChange traversal order to bottom up in preparation for more aggressive if-conversion.
Evan Cheng [Wed, 30 May 2007 19:49:19 +0000 (19:49 +0000)]
Change traversal order to bottom up in preparation for more aggressive if-conversion.

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

16 years agoFix CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll, and PR1473.
Chris Lattner [Wed, 30 May 2007 16:30:06 +0000 (16:30 +0000)]
Fix CodeGen/PowerPC/2007-05-30-dagcombine-miscomp.ll, and PR1473.

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

16 years agonew testcase for PR1473
Chris Lattner [Wed, 30 May 2007 16:29:20 +0000 (16:29 +0000)]
new testcase for PR1473

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

16 years agoFix typo.
Devang Patel [Wed, 30 May 2007 15:29:37 +0000 (15:29 +0000)]
Fix typo.

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

16 years agoTestcase for
Duncan Sands [Wed, 30 May 2007 10:16:19 +0000 (10:16 +0000)]
Testcase for
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070528/050047.html

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

16 years agoFix Transforms/ScalarRepl/2007-05-29-MemcpyPreserve.ll and the second
Chris Lattner [Wed, 30 May 2007 06:11:23 +0000 (06:11 +0000)]
Fix Transforms/ScalarRepl/2007-05-29-MemcpyPreserve.ll and the second
half of PR1421, by not decimating structs with holes that are the source and
destination of a memcpy.

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

16 years agoTestcase for PR1421
Chris Lattner [Wed, 30 May 2007 06:10:46 +0000 (06:10 +0000)]
Testcase for PR1421

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

16 years agonew testcase for PR1421
Chris Lattner [Wed, 30 May 2007 05:37:18 +0000 (05:37 +0000)]
new testcase for PR1421

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

16 years agoChanged per review comment.
Dale Johannesen [Wed, 30 May 2007 00:32:01 +0000 (00:32 +0000)]
Changed per review comment.

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

16 years agoMake stable_sort in tail merging actually be stable (it never was, but didn't
Dale Johannesen [Tue, 29 May 2007 23:47:50 +0000 (23:47 +0000)]
Make stable_sort in tail merging actually be stable (it never was, but didn't
matter until my last change).  Reenable tail merging by default.

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

16 years agoDon't merge in tail block of a diamond if it has more than one predecessors after...
Evan Cheng [Tue, 29 May 2007 23:37:20 +0000 (23:37 +0000)]
Don't merge in tail block of a diamond if it has more than one predecessors after if-conversion.

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

16 years agoPut GVN-PRE in all the right places.
Owen Anderson [Tue, 29 May 2007 23:36:32 +0000 (23:36 +0000)]
Put GVN-PRE in all the right places.

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

16 years agoFor VFP2 fldm, fstm instructions, the condition code is printed after the address...
Evan Cheng [Tue, 29 May 2007 23:34:19 +0000 (23:34 +0000)]
For VFP2 fldm, fstm instructions, the condition code is printed after the address mode and size specifier. e.g. fstmiaseq, not fstmeqias.

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

16 years agoFix a typo
Owen Anderson [Tue, 29 May 2007 23:34:14 +0000 (23:34 +0000)]
Fix a typo

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

16 years agoFor ldrb, strh, etc., the condition code is before the width specifier. e.g. streqh...
Evan Cheng [Tue, 29 May 2007 23:32:06 +0000 (23:32 +0000)]
For ldrb, strh, etc., the condition code is before the width specifier. e.g. streqh, not strheq.

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

16 years agoRe-fix a bug, where I was now being too aggressive.
Owen Anderson [Tue, 29 May 2007 23:26:30 +0000 (23:26 +0000)]
Re-fix a bug, where I was now being too aggressive.

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

16 years agoUse proper debugging facilities so other people don't have to look at my commented-out
Owen Anderson [Tue, 29 May 2007 23:15:21 +0000 (23:15 +0000)]
Use proper debugging facilities so other people don't have to look at my commented-out
debugging lines.

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

16 years agoComment debug code out that I accidentally uncommented last time.
Owen Anderson [Tue, 29 May 2007 22:43:03 +0000 (22:43 +0000)]
Comment debug code out that I accidentally uncommented last time.

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

16 years agoAdd a place where I missed using the maximal set. Note that using the maximal
Owen Anderson [Tue, 29 May 2007 22:35:41 +0000 (22:35 +0000)]
Add a place where I missed using the maximal set.  Note that using the maximal
set this way is _SLOW_.  Somewhere down the line, I'll look at speeding it up.

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

16 years agoIf there is an empty block between a source and its successor block, it still require...
Evan Cheng [Tue, 29 May 2007 22:31:16 +0000 (22:31 +0000)]
If there is an empty block between a source and its successor block, it still requires a unconditional branch.

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

16 years agoVery first part of a GVN-PRE implementation. It currently performs a bunch of analys...
Owen Anderson [Tue, 29 May 2007 21:53:49 +0000 (21:53 +0000)]
Very first part of a GVN-PRE implementation.  It currently performs a bunch of analysis, and nothing more.  It is also quite slow for the moment.  However,
it should give a sense of what's going on.

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

16 years agoAdd missing const qualifiers.
Evan Cheng [Tue, 29 May 2007 18:42:18 +0000 (18:42 +0000)]
Add missing const qualifiers.

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

16 years agoAdd missing const qualifiers.
Evan Cheng [Tue, 29 May 2007 18:35:22 +0000 (18:35 +0000)]
Add missing const qualifiers.

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

16 years agoImplementation of compilation callback in PPC ELF32
Nicolas Geoffray [Tue, 29 May 2007 16:33:18 +0000 (16:33 +0000)]
Implementation of compilation callback in PPC ELF32

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

16 years agomore fixes to C code.
Chris Lattner [Tue, 29 May 2007 15:43:56 +0000 (15:43 +0000)]
more fixes to C code.

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

16 years agoFixed some formatting.
Bill Wendling [Tue, 29 May 2007 09:42:13 +0000 (09:42 +0000)]
Fixed some formatting.

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

16 years agoAdded "llvmc" to the FAQ.
Bill Wendling [Tue, 29 May 2007 09:35:34 +0000 (09:35 +0000)]
Added "llvmc" to the FAQ.

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

16 years agoAdded "doc_class" div tags to code segments.
Bill Wendling [Tue, 29 May 2007 09:24:33 +0000 (09:24 +0000)]
Added "doc_class" div tags to code segments.

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

16 years agoFix for PR1452. Removed "define" keyword from the C code. Added "<div
Bill Wendling [Tue, 29 May 2007 09:04:49 +0000 (09:04 +0000)]
Fix for PR1452. Removed "define" keyword from the C code. Added "<div
class="doc_code">" to code examples.

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

16 years agoAdd a new LLVMBuilder class, which makes it simpler and more uniform to
Chris Lattner [Sun, 27 May 2007 15:09:34 +0000 (15:09 +0000)]
Add a new LLVMBuilder class, which makes it simpler and more uniform to
create large amounts of instructions by separating the insertion point
logic from the logic of what to create.

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

16 years agoCorrect the logic in LowerPartSet which cleared the bits from 0 to low-1.
Zhou Sheng [Sat, 26 May 2007 03:43:13 +0000 (03:43 +0000)]
Correct the logic in LowerPartSet which cleared the bits from 0 to low-1.

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

16 years agotighten up recursion depth again
Chris Lattner [Fri, 25 May 2007 02:19:06 +0000 (02:19 +0000)]
tighten up recursion depth again

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

16 years agoDisable Tail Merging for now.
Devang Patel [Fri, 25 May 2007 01:00:24 +0000 (01:00 +0000)]
Disable Tail  Merging for now.

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

16 years agoSilly boog.
Evan Cheng [Fri, 25 May 2007 00:59:01 +0000 (00:59 +0000)]
Silly boog.

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

16 years agoremove contradiction owen noticed
Chris Lattner [Thu, 24 May 2007 19:13:27 +0000 (19:13 +0000)]
remove contradiction owen noticed

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

16 years agoFix PR1446 by not scalarrepl'ing giant structures.
Chris Lattner [Thu, 24 May 2007 18:43:04 +0000 (18:43 +0000)]
Fix PR1446 by not scalarrepl'ing giant structures.

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

16 years agotestcase for PR1446
Chris Lattner [Thu, 24 May 2007 18:42:47 +0000 (18:42 +0000)]
testcase for PR1446

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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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