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