26414 Commits

Author SHA1 Message Date
Evan Cheng
45fe3bc72c Added support for machine specific constantpool values. These are useful for
representing expressions that can only be resolved at link time, etc.

llvm-svn: 30278
2006-09-12 21:00:35 +00:00
Evan Cheng
3228e750be Reflect MachineConstantPoolEntry changes.
llvm-svn: 30277
2006-09-12 20:59:59 +00:00
John Criswell
1d1835b4ed Correct the URL to the attrib.incl file.
llvm-svn: 30276
2006-09-12 20:30:13 +00:00
Chris Lattner
1d7ec20a4d An sinkable instruction may exist with uses, if those uses are in dead blocks.
Handle this.  This fixes PR908 and Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll

llvm-svn: 30275
2006-09-12 19:17:09 +00:00
Chris Lattner
726bc70c43 testcase for PR908
llvm-svn: 30274
2006-09-12 19:16:04 +00:00
Chris Lattner
2655c59a7b Testcase that crashes the C++ FE.
llvm-svn: 30273
2006-09-12 16:28:14 +00:00
Chris Lattner
cfb2c32724 add a note
llvm-svn: 30271
2006-09-12 06:36:01 +00:00
Nick Lewycky
a3e70372c9 Add ability to remove nodes from DominatorTree, for when a BasicBlock
is being removed.

llvm-svn: 30270
2006-09-12 00:18:28 +00:00
Chris Lattner
8b4de218d9 Testcase noticed from PR906
llvm-svn: 30269
2006-09-11 23:00:56 +00:00
Chris Lattner
6e7286f72a add compilable testcase
llvm-svn: 30268
2006-09-11 22:57:51 +00:00
Chris Lattner
3592523342 new testcase for PR906
llvm-svn: 30267
2006-09-11 22:48:23 +00:00
Chris Lattner
d28627009a Fix PR905 and InstCombine/2006-09-11-EmptyStructCrash.ll
llvm-svn: 30266
2006-09-11 21:43:16 +00:00
Chris Lattner
3faf86e4f4 new testcase for PR905
llvm-svn: 30265
2006-09-11 21:41:56 +00:00
Rafael Espindola
c7829d62c0 implement SRL and MUL
llvm-svn: 30262
2006-09-11 19:24:19 +00:00
Rafael Espindola
bccf9c2f1b add the correct fallback for ARMDAGToDAGISel::SelectAddrMode1
llvm-svn: 30261
2006-09-11 19:23:32 +00:00
Chris Lattner
f37b4ee4c2 burg is gone
llvm-svn: 30253
2006-09-11 17:28:11 +00:00
Rafael Espindola
e45a79a9e2 partial implementation of the ARM Addressing Mode 1
llvm-svn: 30252
2006-09-11 17:25:40 +00:00
Nick Lewycky
e94f42a740 Skip the linear search if the answer is already known.
llvm-svn: 30251
2006-09-11 17:23:34 +00:00
Jim Laskey
5c3bdbad9b No longer used, and confuses maintainers
llvm-svn: 30248
2006-09-11 16:02:58 +00:00
John Criswell
d894443780 Include the UIUC CS department attribution on the main doxygen page.
llvm-svn: 30247
2006-09-11 14:52:26 +00:00
Rafael Espindola
ecb0d686f8 call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization
llvm-svn: 30246
2006-09-11 12:49:38 +00:00
Evan Cheng
21a75acc3e Updates.
llvm-svn: 30245
2006-09-11 05:35:17 +00:00
Evan Cheng
9e77d9a96b Update README file.
llvm-svn: 30244
2006-09-11 05:25:15 +00:00
Evan Cheng
e9d1a2fcae Rename a test-not-cmp.ll to cmp-test.ll; add a test.
llvm-svn: 30243
2006-09-11 02:33:29 +00:00
Evan Cheng
1ec61ba00a 1) With X86 lowering change, the following can no longer happen since
the branch's chain is also produced by cmp.
          [ch, r : ld]
             ^ ^
             | |
      [XX]--/   \- [flag : cmp]
       ^             ^
       |             |
       \---[br flag]-

Remove an isel check which prevents loads from being folded into cmp / test
instructions.

2) Whenever possible, delete a selected node to allow more load folding
opportunities. Note not all nodes can be deleted after it has been
selected. Some may have simply morphed; some have not changed at all (e.g.
EntryToken).

llvm-svn: 30242
2006-09-11 02:24:43 +00:00
Evan Cheng
4259a0f654 X86ISD::CMP now produces a chain as well as a flag. Make that the chain
operand of a conditional branch to allow load folding into CMP / TEST
instructions.

llvm-svn: 30241
2006-09-11 02:19:56 +00:00
Nate Begeman
a0d95a8da9 Behold, more work on relocations. Things are looking pretty good now.
llvm-svn: 30240
2006-09-10 23:03:44 +00:00
Anton Korobeynikov
fbee8bfe48 Removed unnecessary Mangler creation.
llvm-svn: 30239
2006-09-10 21:17:03 +00:00
Chris Lattner
33ce390fce add a testcase for this commit: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050606/026673.html
llvm-svn: 30238
2006-09-10 18:52:25 +00:00
Chris Lattner
d1f8e07808 Allow tail duplication in more cases, relaxing the previous restriction a
bit.  This fixes Regression/Transforms/TailDup/MergeTest.ll

llvm-svn: 30237
2006-09-10 18:17:58 +00:00
Chris Lattner
2e0dfb0b16 This code was trying too hard. By eliminating redundant edges in the CFG
due to switch cases going to the same place, it make #pred != #phi entries,
breaking live interval analysis.

This fixes 458.sjeng on x86 with llc.

llvm-svn: 30236
2006-09-10 06:36:57 +00:00
Nick Lewycky
9a22d7b60f Replace EquivalenceClasses with a custom-built data structure. Many common
operations (like findProperties) should be faster, at the expense of
unionSets being slower in cases that are rare in practise.

Don't erase a dead Instruction. This fixes a memory corruption issue.

llvm-svn: 30235
2006-09-10 02:27:07 +00:00
Chris Lattner
0468987592 Implement Transforms/InstCombine/hoist_instr.ll
llvm-svn: 30234
2006-09-09 22:02:56 +00:00
Chris Lattner
0d38df3e87 new testcase
llvm-svn: 30233
2006-09-09 22:02:25 +00:00
Chris Lattner
70b9f5bd1e Move ipsccp pass earlier to clean up obvious bogosities
llvm-svn: 30232
2006-09-09 21:30:13 +00:00
Chris Lattner
27ff96d87a Make inlining costs more accurate.
llvm-svn: 30231
2006-09-09 20:40:44 +00:00
Chris Lattner
d79dc79831 Turn div X, (Cond ? Y : 0) -> div X, Y
This implements select.ll::test18.

llvm-svn: 30230
2006-09-09 20:26:32 +00:00
Chris Lattner
b6118b0ad6 new testcase
llvm-svn: 30229
2006-09-09 20:26:04 +00:00
Jim Laskey
ea05a06a49 Missing anchor
llvm-svn: 30227
2006-09-09 09:10:37 +00:00
Chris Lattner
fdb3a75942 Add cbe support for powi
llvm-svn: 30226
2006-09-09 06:17:12 +00:00
Chris Lattner
f0359b343a Implement the fpowi now by lowering to a libcall
llvm-svn: 30225
2006-09-09 06:03:30 +00:00
Chris Lattner
a4b7de8669 (indirect) test for the __builtin_powi builtin which we now support.
llvm-svn: 30224
2006-09-09 06:02:16 +00:00
Chris Lattner
b3c366a3bd Implement new fpowi node
llvm-svn: 30223
2006-09-09 05:55:44 +00:00
Chris Lattner
e4bbb6c341 Allow targets to custom lower expanded BIT_CONVERT's
llvm-svn: 30217
2006-09-09 00:20:27 +00:00
Nate Begeman
69df6132d7 First pass at supporting relocations. Relocations are written correctly to
the file now, however the relocated address is currently wrong.  Fixing
that will require some deep pondering.

llvm-svn: 30207
2006-09-08 22:42:09 +00:00
Evan Cheng
de33f66286 Fixed a FuseTwoAddrInst() bug: consider GlobalAddress and JumpTableIndex
in addition to immediate operands.

llvm-svn: 30205
2006-09-08 21:08:13 +00:00
Chris Lattner
b2e7316b2d Non-allocatable physregs can be killed and dead, but don't treat them as
safe for later allocation.  This fixes McCat/18-imp with llc-beta.

llvm-svn: 30204
2006-09-08 20:21:31 +00:00
Chris Lattner
050c64c51d This fixes Benchmarks/Prolangs-C/unix-smail
llvm-svn: 30198
2006-09-08 19:11:11 +00:00
Chris Lattner
9b1a6ebf20 Fix a bunch of llc-beta failures on x86 yesterday. Don't allow selection
of unallocatable registers, just because an alias is allocatable.  We were
picking registers like SIL just because ESI was being used.

llvm-svn: 30197
2006-09-08 19:03:30 +00:00
Chris Lattner
fe01c281a9 ok this really works :)
llvm-svn: 30195
2006-09-08 18:33:49 +00:00