Commit Graph

26518 Commits

Author SHA1 Message Date
Chris Lattner 7a627676be Compile X > -1 -> text X,X; js dest
This implements CodeGen/X86/jump_sign.ll.

llvm-svn: 30283
2006-09-13 03:22:10 +00:00
Chris Lattner ecd9bfb303 new testcase
llvm-svn: 30282
2006-09-13 03:21:27 +00:00
Devang Patel fab4972a6e Initialize DontInternalize.
llvm-svn: 30281
2006-09-13 01:02:26 +00:00
Evan Cheng 9a083a4121 Reflects MachineConstantPoolEntry changes.
llvm-svn: 30279
2006-09-12 21:04:05 +00:00
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