Chris Lattner [Fri, 3 Nov 2006 21:58:14 +0000 (21:58 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31426
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 19:49:16 +0000 (19:49 +0000)]
Make the huge_val test run a C++ program not C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 19:15:55 +0000 (19:15 +0000)]
this will work better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31419
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 19:13:59 +0000 (19:13 +0000)]
Fix the build on xcode < 2.4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31417
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 18:04:08 +0000 (18:04 +0000)]
Add a check to see if HUGE_VAL is sane or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31416
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 3 Nov 2006 17:43:19 +0000 (17:43 +0000)]
Split the External and Intrinsic handling into seperate functions. This
improves readability of the call handling code significantly, as well as
makes it clear which parts are hacky (externals) and which parts are good
(call handling).
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31415
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 07:31:32 +0000 (07:31 +0000)]
Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31414
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 07:21:16 +0000 (07:21 +0000)]
Rename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31413
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 03:30:34 +0000 (03:30 +0000)]
Remove dead variable. Fix 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31412
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 3 Nov 2006 03:08:28 +0000 (03:08 +0000)]
revert previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31411
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 03:06:21 +0000 (03:06 +0000)]
Added DAG combiner transformation to generate pre-indexed loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31410
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 03:05:24 +0000 (03:05 +0000)]
Added isPredecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31409
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 03:04:46 +0000 (03:04 +0000)]
Proper check for two-addressness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31408
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 03:04:06 +0000 (03:04 +0000)]
Added a target specific hook to check whether / how a node can be transformed
into a pair of base / offset nodes for pre-indexed load / store ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31407
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 03:02:18 +0000 (03:02 +0000)]
Add isPredecessor to check whether a node is another's predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31406
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Nov 2006 02:08:41 +0000 (02:08 +0000)]
Dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31405
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 01:58:30 +0000 (01:58 +0000)]
Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31404
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 01:48:30 +0000 (01:48 +0000)]
Remove an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:45:13 +0000 (01:45 +0000)]
silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31402
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 01:44:51 +0000 (01:44 +0000)]
Remove some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31401
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 3 Nov 2006 01:39:25 +0000 (01:39 +0000)]
add createCFGSimplificationPass to ARMTargetMachine::addInstSelector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31400
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 3 Nov 2006 01:38:14 +0000 (01:38 +0000)]
assert.h -> cassert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:34:58 +0000 (01:34 +0000)]
remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31398
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:28:29 +0000 (01:28 +0000)]
silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31397
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 01:28:12 +0000 (01:28 +0000)]
Don't write out variables that are never used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31396
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:19:31 +0000 (01:19 +0000)]
silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31395
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:18:29 +0000 (01:18 +0000)]
silence warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:13:15 +0000 (01:13 +0000)]
silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Nov 2006 01:11:05 +0000 (01:11 +0000)]
silence warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31392
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 00:09:53 +0000 (00:09 +0000)]
Make sample project -pedantic clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31391
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 00:08:08 +0000 (00:08 +0000)]
Make Stacker Runtime -pedantic clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31390
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 00:05:16 +0000 (00:05 +0000)]
Make llvm2cpp -pedantic clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31389
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Nov 2006 00:00:57 +0000 (00:00 +0000)]
Make CBackend -pedantic clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31388
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 23:56:21 +0000 (23:56 +0000)]
Make CodeGen libs -pedantic clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31387
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Nov 2006 23:48:53 +0000 (23:48 +0000)]
#include <assert.h>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31386
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Nov 2006 23:39:53 +0000 (23:39 +0000)]
fix a bug reid noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31385
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 2 Nov 2006 21:48:18 +0000 (21:48 +0000)]
1. Hash not quite right for DIEValues.
2. Not going to use Usage (no significant benefit.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31384
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 21:07:40 +0000 (21:07 +0000)]
Revert last patch which causes tblgen to segfault (why, I'm not sure).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31383
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 20:55:40 +0000 (20:55 +0000)]
Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31382
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 20:46:16 +0000 (20:46 +0000)]
For PR786:
Remove unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31381
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 20:25:50 +0000 (20:25 +0000)]
For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 2 Nov 2006 20:12:39 +0000 (20:12 +0000)]
General clean up of teh dwarf writer.
1. Most significant is the folding of debug information entries. This
reduced self hosted -g SelectionDAGISel.s from 120M to 13M and pretty
close to matching .o file sizes with gcc.
2. Debug information entry printing for debugging the dwarf code.
3. Bring all the code closer to llvm standards.
4. Misc. fixes and doc clean ups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31379
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 2 Nov 2006 15:00:02 +0000 (15:00 +0000)]
move ARMCondCodeToString to ARMAsmPrinter.cpp
remove unused variables from lowerCall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31378
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 2 Nov 2006 14:21:26 +0000 (14:21 +0000)]
Allow FoldingSet clients to pump up the initial hash size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31377
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 08:23:44 +0000 (08:23 +0000)]
Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31376
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 08:18:15 +0000 (08:18 +0000)]
Remove unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31375
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 08:12:02 +0000 (08:12 +0000)]
Remove a function prototype that is no longer needed (REM patch missed it)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31374
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 07:59:59 +0000 (07:59 +0000)]
Get rid of unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31373
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 03:37:39 +0000 (03:37 +0000)]
Add some documentation about the arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31372
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 2 Nov 2006 03:05:26 +0000 (03:05 +0000)]
fix 2006-11-01-vastart.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31371
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 2 Nov 2006 03:04:37 +0000 (03:04 +0000)]
a regression :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31370
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Nov 2006 01:53:59 +0000 (01:53 +0000)]
For PR950:
Replace the REM instruction with UREM, SREM and FREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Nov 2006 01:45:28 +0000 (01:45 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31368
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Nov 2006 01:44:04 +0000 (01:44 +0000)]
Implement the getRegForInlineAsmConstraint method for PPC. With recent
sdisel changes, this eliminates a ton of copies around common inline asms.
For example:
int test2(int Y, int X) {
asm("foo %0, %1" : "=r"(X): "r"(X));
return X;
}
now compiles to:
_test2:
foo r3, r4
blr
instead of:
_test2:
mr r2, r4
foo r2, r2
mr r3, r2
blr
GCC produces:
_test2:
foo r4, r4
mr r3,r4
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Nov 2006 01:41:49 +0000 (01:41 +0000)]
Allow the getRegForInlineAsmConstraint method to return a register class with
no fixes physreg. Treat this as permission to use any register in the register
class. When this happens and it is safe, allow the llvm register allcoator to
allocate the register instead of doing it at isel time. This eliminates a ton
of copies around common inline asms. For example:
int test2(int Y, int X) {
asm("foo %0, %1" : "=r"(X): "r"(X));
return X;
}
now compiles to:
_test2:
foo r3, r4
blr
instead of:
_test2:
mr r2, r4
foo r2, r2
mr r3, r2
blr
GCC produces:
_test2:
foo r4, r4
mr r3,r4
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Nov 2006 01:39:10 +0000 (01:39 +0000)]
generalize this api
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31365
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 23:18:32 +0000 (23:18 +0000)]
Rename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31364
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 23:06:55 +0000 (23:06 +0000)]
Two-address instructions no longer have to be A := A op C. Now any pair of dest / src operands can be tied together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31363
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Nov 2006 23:04:45 +0000 (23:04 +0000)]
There can be more than one PHINode at the start of the block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31362
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 23:03:11 +0000 (23:03 +0000)]
Tied-to constraint must be op_with_larger_idx = op_with_smaller_idx or else throw an exception.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31361
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 23:00:31 +0000 (23:00 +0000)]
Added getTiedToSrcOperand() to check for two-address'ness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31360
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 22:39:30 +0000 (22:39 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31359
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Nov 2006 22:26:43 +0000 (22:26 +0000)]
Handle PHINode with only one incoming value.
This fixes http://llvm.org/bugs/show_bug.cgi?id=979
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31358
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Nov 2006 22:25:48 +0000 (22:25 +0000)]
Testcase from llvm.org/bugs/show_bug.cgi?id=979
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31357
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 22:17:06 +0000 (22:17 +0000)]
CopyFromReg starts a live range so its use should not be considered a floater.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31356
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Nov 2006 21:53:12 +0000 (21:53 +0000)]
Make ScalarEvolution actually use a ZeroExtend expression instead of
having SCZeroExtendExpr be equivalent to SCTruncate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 19:36:29 +0000 (19:36 +0000)]
give branch folding a simple heuristic to decide which block to split so that
it inserts an uncond branch where it is less likely to cause a problem. This
fixes some perf issues on ppc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 18:30:25 +0000 (18:30 +0000)]
extra pass is required now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 18:03:33 +0000 (18:03 +0000)]
Fix GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll and McGill/chomp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 18:02:53 +0000 (18:02 +0000)]
new testcase that crashes global opt, reduced from chomp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31351
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Nov 2006 16:15:04 +0000 (16:15 +0000)]
Partial update for Release 1.9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31350
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 1 Nov 2006 14:26:44 +0000 (14:26 +0000)]
print null values in bss
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31349
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 1 Nov 2006 14:13:27 +0000 (14:13 +0000)]
implement zextload bool and truncstore bool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31348
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 09:23:08 +0000 (09:23 +0000)]
Add a printSetLabel that takes two id's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 07:43:41 +0000 (07:43 +0000)]
Factor gep instructions through phi nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 07:15:44 +0000 (07:15 +0000)]
remove a testcase for a marginal feature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 07:13:54 +0000 (07:13 +0000)]
Turn a phi of many loads into a phi of the address and a single load of the
result. This can significantly shrink code and exposes identities more
aggressively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31344
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 06:53:52 +0000 (06:53 +0000)]
Fix ldmxcsr JIT encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 04:55:47 +0000 (04:55 +0000)]
Fix a bug in the previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 04:51:18 +0000 (04:51 +0000)]
Fold things like "phi [add (a,b), add(c,d)]" into two phi's and one add.
This triggers thousands of times on multisource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31341
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 04:48:30 +0000 (04:48 +0000)]
Print jumptable index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31340
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Nov 2006 03:45:43 +0000 (03:45 +0000)]
Remove unnecessary sign conversions made possible by last patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31339
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Nov 2006 03:41:05 +0000 (03:41 +0000)]
Fix a bug in the interpreter where divides of unmatched signed operands
would fail. E.g. udiv sint X, Y or sdiv uint X, Y would fail to find a
type match in the switch statement and fail the operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 01:16:12 +0000 (01:16 +0000)]
make tail merging more aggressive. If two blocks share a common tail, but the
tail is not an entire block for either of them, pick one, split it, then
merge the common part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Nov 2006 00:38:31 +0000 (00:38 +0000)]
enable branch folding with an option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31335
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 00:27:59 +0000 (00:27 +0000)]
Not meant to be checked in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31334
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 00:27:05 +0000 (00:27 +0000)]
Add operand constraints to TargetInstrInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31333
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Nov 2006 00:26:27 +0000 (00:26 +0000)]
Add constraints to Instruction class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31332
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 Oct 2006 23:46:56 +0000 (23:46 +0000)]
more shotenning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 23:06:00 +0000 (23:06 +0000)]
Compile CodeGen/PowerPC/fp-branch.ll to:
_intcoord_cond_next55:
LBB1_3: ;cond_next55
lis r2, ha16(LCPI1_0)
lfs f0, lo16(LCPI1_0)(r2)
fcmpu cr0, f1, f0
blt cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
li r3, 1
blr
LBB1_2: ;cond_next62.exitStub
li r3, 0
blr
instead of:
_intcoord_cond_next55:
LBB1_3: ;cond_next55
lis r2, ha16(LCPI1_0)
lfs f0, lo16(LCPI1_0)(r2)
fcmpu cr0, f1, f0
bge cr0, LBB1_1 ;bb72.exitStub
LBB1_4: ;cond_next55
lis r2, ha16(LCPI1_0)
lfs f0, lo16(LCPI1_0)(r2)
fcmpu cr0, f1, f0
bnu cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
li r3, 1
blr
LBB1_2: ;cond_next62.exitStub
li r3, 0
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 23:05:16 +0000 (23:05 +0000)]
This test should compile down to one comparison, not two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 22:37:42 +0000 (22:37 +0000)]
look through isunordered to inline it into branch blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31328
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 31 Oct 2006 21:53:31 +0000 (21:53 +0000)]
Nuke dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 20:13:11 +0000 (20:13 +0000)]
allow the address of a global to be used with the "i" constraint when in
-static mode. This implements PR882.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 20:12:30 +0000 (20:12 +0000)]
implement the 'c' inline asm modifier character
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 20:11:14 +0000 (20:11 +0000)]
new testcase for PR882
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31324
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 20:01:56 +0000 (20:01 +0000)]
handle global address constant sdnodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31323
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 Oct 2006 19:52:12 +0000 (19:52 +0000)]
Let us play simplify the td file (and fix a few missed sub and mul patterns).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31322
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 31 Oct 2006 19:50:55 +0000 (19:50 +0000)]
make one giant add and sub tester
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Oct 2006 19:42:44 +0000 (19:42 +0000)]
handle "st" as "st(0)"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31320
91177308-0d34-0410-b5e6-
96231b3b80d8