Owen Anderson [Sun, 3 Jun 2007 22:02:14 +0000 (22:02 +0000)]
Don't use the custom comparator where it's not necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37406
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 3 Jun 2007 19:20:49 +0000 (19:20 +0000)]
Add comments to fallsthrough cases. Also, this fixes PR1492
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37405
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 3 Jun 2007 19:17:35 +0000 (19:17 +0000)]
Check arguments & return types of main(). Abort in case of no match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37404
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sun, 3 Jun 2007 06:26:14 +0000 (06:26 +0000)]
s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37403
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 3 Jun 2007 05:58:25 +0000 (05:58 +0000)]
Remove an unused method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37402
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 3 Jun 2007 05:55:58 +0000 (05:55 +0000)]
There's no need to have an Expression class... Value works just as well! This simplifies a lot of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Jun 2007 18:45:14 +0000 (18:45 +0000)]
update this entry, now that Anton implemented shift/and lowering for
switches. There is one really easy isel thing here with tst we are not
getting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37400
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 2 Jun 2007 17:16:06 +0000 (17:16 +0000)]
The semantics of invoke require that we always jump to the unwind block
(landing pad) when an exception unwinds through the call. This doesn't
quite match the way the dwarf unwinder works: by default it only jumps to
the landing pad if the catch or filter specification matches, and otherwise
it keeps on unwinding. There are two ways of specifying to the unwinder
that it should "always" (more on why there are quotes here later) jump to
the landing pad: follow the specification by a 0 typeid, or follow it by
the typeid for the NULL typeinfo. GCC does the first, and this patch makes
LLVM do the same as gcc. However there is a problem: the unwinder performs
optimizations based on C++ semantics (it only expects destructors to be
run if the 0 typeid fires - known as "cleanups"), meaning it assumes that no
exceptions will be raised and that the raised exception will be reraised
at the end of the cleanup code. So if someone writes their own LLVM code
using the exception intrinsics they will get a nasty surprise if they don't
follow these rules. The other possibility of using the typeid corresponding
to NULL (catch-all) causes the unwinder to make no assumptions, so this is
probably what we should use in the long-run. However since we are still
having trouble getting exception handling working properly, for the moment
it seems best to closely imitate GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37399
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 2 Jun 2007 16:53:42 +0000 (16:53 +0000)]
Integrate exception filter support and exception catch support. This
simplifies the code in DwarfWriter, allows for multiple filters and
makes it trivial to specify filters accompanied by cleanups or catch-all
specifications (see next patch). What a deal! Patch blessed by Anton.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37398
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sat, 2 Jun 2007 04:10:33 +0000 (04:10 +0000)]
Make LowerCTPOP() support arbitrary bitwidth integer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37397
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 2 Jun 2007 00:08:15 +0000 (00:08 +0000)]
Fix CorrectExtraCFGEdges to allow for multiple LandingPad targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37394
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 1 Jun 2007 23:04:28 +0000 (23:04 +0000)]
Fancier algorithm in tail-merge comment implemented, so remove comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37393
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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