Chris Lattner
|
30d772fbb1
|
number test right
llvm-svn: 30484
|
2006-09-19 06:19:19 +00:00 |
|
Chris Lattner
|
2b076f26b7
|
item done
llvm-svn: 30483
|
2006-09-19 06:19:03 +00:00 |
|
Chris Lattner
|
2d2d80a4c2
|
implement select.ll:test19-22
llvm-svn: 30482
|
2006-09-19 06:18:21 +00:00 |
|
Chris Lattner
|
96ca5b26b0
|
make this harder
llvm-svn: 30481
|
2006-09-19 06:17:55 +00:00 |
|
Chris Lattner
|
7656fc26d8
|
new testcases
llvm-svn: 30480
|
2006-09-19 06:16:46 +00:00 |
|
Chris Lattner
|
92c8924309
|
Fold the PPCISD shifts when presented with 0 inputs. This occurs for code
like:
long long test(long long X, int Y) {
return 1ULL << Y;
}
long long test2(long long X, int Y) {
return -1LL << Y;
}
which we used to compile to:
_test:
li r2, 1
subfic r3, r5, 32
li r4, 0
addi r6, r5, -32
srw r3, r2, r3
slw r4, r4, r5
slw r6, r2, r6
or r3, r4, r3
slw r4, r2, r5
or r3, r3, r6
blr
_test2:
li r2, -1
subfic r3, r5, 32
addi r6, r5, -32
srw r3, r2, r3
slw r4, r2, r5
slw r2, r2, r6
or r3, r4, r3
or r3, r3, r2
blr
Now we produce:
_test:
li r2, 1
addi r3, r5, -32
subfic r4, r5, 32
slw r3, r2, r3
srw r4, r2, r4
or r3, r4, r3
slw r4, r2, r5
blr
_test2:
li r2, -1
subfic r3, r5, 32
addi r6, r5, -32
srw r3, r2, r3
slw r4, r2, r5
slw r2, r2, r6
or r3, r4, r3
or r3, r3, r2
blr
llvm-svn: 30479
|
2006-09-19 05:22:59 +00:00 |
|
Chris Lattner
|
61d08597df
|
Fold extract_element(cst) to cst
llvm-svn: 30478
|
2006-09-19 05:02:39 +00:00 |
|
Chris Lattner
|
556f869e88
|
Minor speedup for legalize by avoiding some malloc traffic
llvm-svn: 30477
|
2006-09-19 04:51:23 +00:00 |
|
Chris Lattner
|
87d05ea43b
|
If multiple predicates are listed, they must all pass
llvm-svn: 30476
|
2006-09-19 00:41:36 +00:00 |
|
Nick Lewycky
|
d17ad3593b
|
Enable dejagnu tests for predicate simplifier.
llvm-svn: 30475
|
2006-09-19 00:31:54 +00:00 |
|
Evan Cheng
|
65afc6af9f
|
Fix a typo.
llvm-svn: 30474
|
2006-09-18 23:28:33 +00:00 |
|
Chris Lattner
|
7498e29ca4
|
There!
llvm-svn: 30473
|
2006-09-18 22:41:07 +00:00 |
|
Chris Lattner
|
b54881691d
|
Fix Regression/TableGen/2006-09-18-LargeInt.td
llvm-svn: 30472
|
2006-09-18 22:28:27 +00:00 |
|
Chris Lattner
|
d3b2f9e7cc
|
new testcase
llvm-svn: 30471
|
2006-09-18 22:28:07 +00:00 |
|
Evan Cheng
|
67b248dbc6
|
Allow i32 UDIV, SDIV, UREM, SREM to be expanded into libcalls.
llvm-svn: 30470
|
2006-09-18 21:49:04 +00:00 |
|
Nick Lewycky
|
96939f2d94
|
Walk down the dominator tree instead of the control flow graph. That means
that we can't modify the CFG any more, at least not until it's possible
to update the dominator tree (PR217).
llvm-svn: 30469
|
2006-09-18 21:09:35 +00:00 |
|
Nick Lewycky
|
ad4eb4f0de
|
Fix findCaseDest to return null when BB is both the default dest and one
of the numeric cases.
llvm-svn: 30468
|
2006-09-18 20:44:37 +00:00 |
|
Andrew Lenharth
|
6d43749a47
|
A pass to remove the worst of the replay trap offenders, and as a bonus, align basic blocks when it is free to do so
llvm-svn: 30467
|
2006-09-18 19:44:29 +00:00 |
|
Nick Lewycky
|
87f79d5d69
|
Add a new helper method to SwitchInst. Useful when you've got a BB from
somewhere (like the dominator graph) and would like to know which case it
came from.
llvm-svn: 30466
|
2006-09-18 19:03:59 +00:00 |
|
Chris Lattner
|
1efde528d6
|
Fix an infinite loop building the CFE
llvm-svn: 30465
|
2006-09-18 18:27:05 +00:00 |
|
Chris Lattner
|
6392e78191
|
new testcase
llvm-svn: 30464
|
2006-09-18 18:07:51 +00:00 |
|
Andrew Lenharth
|
5d958d3405
|
Jump tables on Alpha
llvm-svn: 30463
|
2006-09-18 18:01:03 +00:00 |
|
Andrew Lenharth
|
9c54a925e8
|
oops
llvm-svn: 30462
|
2006-09-18 18:00:18 +00:00 |
|
Andrew Lenharth
|
00bbd5641b
|
absolute addresses must match pointer size
llvm-svn: 30461
|
2006-09-18 17:59:35 +00:00 |
|
Jim Laskey
|
07ac577a34
|
Sort out mangled names for globals
llvm-svn: 30460
|
2006-09-18 14:47:26 +00:00 |
|
Chris Lattner
|
39218c2b0c
|
Implement a trivial optzn: of vastart is never called in a function that takes
... args, remove the '...'.
This is Transforms/DeadArgElim/dead_vaargs.ll
llvm-svn: 30459
|
2006-09-18 07:02:31 +00:00 |
|
Chris Lattner
|
896e94a925
|
new testcase
llvm-svn: 30458
|
2006-09-18 07:01:39 +00:00 |
|
Chris Lattner
|
68009a61c5
|
add a note. Our 64-bit shifts are ~30% slower than gcc's
llvm-svn: 30457
|
2006-09-18 05:36:54 +00:00 |
|
Chris Lattner
|
9c8bffb5e8
|
Implement InstCombine/cast.ll:test31. This speeds up 462.libquantum by 26%.
llvm-svn: 30456
|
2006-09-18 05:27:43 +00:00 |
|
Chris Lattner
|
2450b96e39
|
new testcase
llvm-svn: 30455
|
2006-09-18 05:25:10 +00:00 |
|
Chris Lattner
|
3c4ca91dbd
|
Add support for pattern matching cast operations
llvm-svn: 30454
|
2006-09-18 05:17:11 +00:00 |
|
Chris Lattner
|
93bc6e881f
|
fix typo
llvm-svn: 30453
|
2006-09-18 04:58:06 +00:00 |
|
Chris Lattner
|
be102d68c2
|
add a helper method
llvm-svn: 30452
|
2006-09-18 04:54:57 +00:00 |
|
Chris Lattner
|
a1349de598
|
This is closer to what we really want.
llvm-svn: 30451
|
2006-09-18 04:54:35 +00:00 |
|
Chris Lattner
|
f7e8879212
|
Implement Transforms/InstCombine/shift-sra.ll:test0
llvm-svn: 30450
|
2006-09-18 04:31:40 +00:00 |
|
Chris Lattner
|
51d09aab4d
|
New testcase, can be an srl instead of sra
llvm-svn: 30449
|
2006-09-18 04:31:18 +00:00 |
|
Chris Lattner
|
6ee34e89bc
|
Rewrite shift/and/compare sequences to promote better licm of the RHS.
Use isLogicalShift/isArithmeticShift to simplify code.
llvm-svn: 30448
|
2006-09-18 04:22:48 +00:00 |
|
Reid Spencer
|
484c11ebd3
|
Make the LLVM Publications link point to /pubs/ since this has moved to
its own page on the LLVM web site.
llvm-svn: 30447
|
2006-09-17 23:05:15 +00:00 |
|
Anton Korobeynikov
|
7c2118575c
|
Added some eye-candy for Subtarget type checking
Added X86 StdCall & FastCall calling conventions. Codegen will follow.
llvm-svn: 30446
|
2006-09-17 20:25:45 +00:00 |
|
Chris Lattner
|
547b62a967
|
Add ShiftInst::isLogical/ArithmeticShift methods.
llvm-svn: 30445
|
2006-09-17 19:29:56 +00:00 |
|
Chris Lattner
|
8aa718b0ed
|
Add new SetCondInst::isRelational/isEquality methods. Rename
Instruction::isRelational to Instruction::isComparison.
llvm-svn: 30444
|
2006-09-17 19:14:47 +00:00 |
|
Nick Lewycky
|
8fbfe60cee
|
Explain change with a comment.
llvm-svn: 30443
|
2006-09-17 17:51:00 +00:00 |
|
Nick Lewycky
|
22b1a725ae
|
Fix PR912. The input to erase() must not be a reference to the data
being erased.
llvm-svn: 30442
|
2006-09-17 16:23:36 +00:00 |
|
Anton Korobeynikov
|
b2b7c2f8b9
|
Small fixes for supporting dll* linkage types
llvm-svn: 30441
|
2006-09-17 13:06:18 +00:00 |
|
Chris Lattner
|
563785bc55
|
add a note noticed through source inspection
llvm-svn: 30418
|
2006-09-16 23:57:51 +00:00 |
|
Chris Lattner
|
73f5ad9f38
|
Oh yeah, this is needed too
llvm-svn: 30407
|
2006-09-16 05:08:34 +00:00 |
|
Chris Lattner
|
22b3d6fba9
|
add a note
llvm-svn: 30406
|
2006-09-16 03:30:19 +00:00 |
|
Chris Lattner
|
a4689e489e
|
Fix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913
llvm-svn: 30405
|
2006-09-16 03:14:10 +00:00 |
|
Chris Lattner
|
4655bf8ecc
|
Testcase for PR913
llvm-svn: 30404
|
2006-09-16 03:13:22 +00:00 |
|
Chris Lattner
|
594d4d9483
|
simplify control flow, no functionality change
llvm-svn: 30403
|
2006-09-16 00:21:44 +00:00 |
|