oota-llvm.git
18 years agoimplement SRL and MUL
Rafael Espindola [Mon, 11 Sep 2006 19:24:19 +0000 (19:24 +0000)]
implement SRL and MUL

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30262 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd the correct fallback for ARMDAGToDAGISel::SelectAddrMode1
Rafael Espindola [Mon, 11 Sep 2006 19:23:32 +0000 (19:23 +0000)]
add the correct fallback for ARMDAGToDAGISel::SelectAddrMode1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30261 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoburg is gone
Chris Lattner [Mon, 11 Sep 2006 17:28:11 +0000 (17:28 +0000)]
burg is gone

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30253 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopartial implementation of the ARM Addressing Mode 1
Rafael Espindola [Mon, 11 Sep 2006 17:25:40 +0000 (17:25 +0000)]
partial implementation of the ARM Addressing Mode 1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30252 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSkip the linear search if the answer is already known.
Nick Lewycky [Mon, 11 Sep 2006 17:23:34 +0000 (17:23 +0000)]
Skip the linear search if the answer is already known.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30251 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNo longer used, and confuses maintainers
Jim Laskey [Mon, 11 Sep 2006 16:02:58 +0000 (16:02 +0000)]
No longer used, and confuses maintainers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30248 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoInclude the UIUC CS department attribution on the main doxygen page.
John Criswell [Mon, 11 Sep 2006 14:52:26 +0000 (14:52 +0000)]
Include the UIUC CS department attribution on the main doxygen page.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30247 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agocall AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization
Rafael Espindola [Mon, 11 Sep 2006 12:49:38 +0000 (12:49 +0000)]
call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30246 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdates.
Evan Cheng [Mon, 11 Sep 2006 05:35:17 +0000 (05:35 +0000)]
Updates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30245 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate README file.
Evan Cheng [Mon, 11 Sep 2006 05:25:15 +0000 (05:25 +0000)]
Update README file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30244 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRename a test-not-cmp.ll to cmp-test.ll; add a test.
Evan Cheng [Mon, 11 Sep 2006 02:33:29 +0000 (02:33 +0000)]
Rename a test-not-cmp.ll to cmp-test.ll; add a test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30243 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago1) With X86 lowering change, the following can no longer happen since
Evan Cheng [Mon, 11 Sep 2006 02:24:43 +0000 (02:24 +0000)]
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30242 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoX86ISD::CMP now produces a chain as well as a flag. Make that the chain
Evan Cheng [Mon, 11 Sep 2006 02:19:56 +0000 (02:19 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30241 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoBehold, more work on relocations. Things are looking pretty good now.
Nate Begeman [Sun, 10 Sep 2006 23:03:44 +0000 (23:03 +0000)]
Behold, more work on relocations.  Things are looking pretty good now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30240 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemoved unnecessary Mangler creation.
Anton Korobeynikov [Sun, 10 Sep 2006 21:17:03 +0000 (21:17 +0000)]
Removed unnecessary Mangler creation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30239 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a testcase for this commit: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week...
Chris Lattner [Sun, 10 Sep 2006 18:52:25 +0000 (18:52 +0000)]
add a testcase for this commit: lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050606/026673.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30238 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow tail duplication in more cases, relaxing the previous restriction a
Chris Lattner [Sun, 10 Sep 2006 18:17:58 +0000 (18:17 +0000)]
Allow tail duplication in more cases, relaxing the previous restriction a
bit.  This fixes Regression/Transforms/TailDup/MergeTest.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30237 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis code was trying too hard. By eliminating redundant edges in the CFG
Chris Lattner [Sun, 10 Sep 2006 06:36:57 +0000 (06:36 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30236 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoReplace EquivalenceClasses with a custom-built data structure. Many common
Nick Lewycky [Sun, 10 Sep 2006 02:27:07 +0000 (02:27 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30235 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement Transforms/InstCombine/hoist_instr.ll
Chris Lattner [Sat, 9 Sep 2006 22:02:56 +0000 (22:02 +0000)]
Implement Transforms/InstCombine/hoist_instr.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30234 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Sat, 9 Sep 2006 22:02:25 +0000 (22:02 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30233 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMove ipsccp pass earlier to clean up obvious bogosities
Chris Lattner [Sat, 9 Sep 2006 21:30:13 +0000 (21:30 +0000)]
Move ipsccp pass earlier to clean up obvious bogosities

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30232 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake inlining costs more accurate.
Chris Lattner [Sat, 9 Sep 2006 20:40:44 +0000 (20:40 +0000)]
Make inlining costs more accurate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30231 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTurn div X, (Cond ? Y : 0) -> div X, Y
Chris Lattner [Sat, 9 Sep 2006 20:26:32 +0000 (20:26 +0000)]
Turn div X, (Cond ? Y : 0) -> div X, Y
This implements select.ll::test18.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30230 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Sat, 9 Sep 2006 20:26:04 +0000 (20:26 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30229 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMissing anchor
Jim Laskey [Sat, 9 Sep 2006 09:10:37 +0000 (09:10 +0000)]
Missing anchor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30227 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd cbe support for powi
Chris Lattner [Sat, 9 Sep 2006 06:17:12 +0000 (06:17 +0000)]
Add cbe support for powi

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30226 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement the fpowi now by lowering to a libcall
Chris Lattner [Sat, 9 Sep 2006 06:03:30 +0000 (06:03 +0000)]
Implement the fpowi now by lowering to a libcall

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30225 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago(indirect) test for the __builtin_powi builtin which we now support.
Chris Lattner [Sat, 9 Sep 2006 06:02:16 +0000 (06:02 +0000)]
(indirect) test for the __builtin_powi builtin which we now support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30224 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement new fpowi node
Chris Lattner [Sat, 9 Sep 2006 05:55:44 +0000 (05:55 +0000)]
Implement new fpowi node

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30223 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow targets to custom lower expanded BIT_CONVERT's
Chris Lattner [Sat, 9 Sep 2006 00:20:27 +0000 (00:20 +0000)]
Allow targets to custom lower expanded BIT_CONVERT's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30217 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFirst pass at supporting relocations. Relocations are written correctly to
Nate Begeman [Fri, 8 Sep 2006 22:42:09 +0000 (22:42 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30207 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFixed a FuseTwoAddrInst() bug: consider GlobalAddress and JumpTableIndex
Evan Cheng [Fri, 8 Sep 2006 21:08:13 +0000 (21:08 +0000)]
Fixed a FuseTwoAddrInst() bug: consider GlobalAddress and JumpTableIndex
in addition to immediate operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30205 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNon-allocatable physregs can be killed and dead, but don't treat them as
Chris Lattner [Fri, 8 Sep 2006 20:21:31 +0000 (20:21 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30204 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis fixes Benchmarks/Prolangs-C/unix-smail
Chris Lattner [Fri, 8 Sep 2006 19:11:11 +0000 (19:11 +0000)]
This fixes Benchmarks/Prolangs-C/unix-smail

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30198 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a bunch of llc-beta failures on x86 yesterday. Don't allow selection
Chris Lattner [Fri, 8 Sep 2006 19:03:30 +0000 (19:03 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30197 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agook this really works :)
Chris Lattner [Fri, 8 Sep 2006 18:33:49 +0000 (18:33 +0000)]
ok this really works :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30195 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove redundant include.
Devang Patel [Fri, 8 Sep 2006 18:20:25 +0000 (18:20 +0000)]
Remove redundant include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30194 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNeed to include Makefile.config to get the value of $(OS). Add a comment.
Chris Lattner [Fri, 8 Sep 2006 18:08:50 +0000 (18:08 +0000)]
Need to include Makefile.config to get the value of $(OS).  Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30193 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoEnabling LTO building on Darwin only right now. This probably should be
Anton Korobeynikov [Fri, 8 Sep 2006 18:00:43 +0000 (18:00 +0000)]
Enabling LTO building on Darwin only right now. This probably should be
removed after 'PIC vs non-PIC' problem solution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30192 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimplement shl and sra
Rafael Espindola [Fri, 8 Sep 2006 17:36:23 +0000 (17:36 +0000)]
implement shl and sra

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30191 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse __USER_LABEL_PREFIX__ to get the prefix added by the current host.
Chris Lattner [Fri, 8 Sep 2006 17:03:56 +0000 (17:03 +0000)]
Use __USER_LABEL_PREFIX__ to get the prefix added by the current host.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30190 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd the eor (xor) instruction
Rafael Espindola [Fri, 8 Sep 2006 16:59:47 +0000 (16:59 +0000)]
add the eor (xor) instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30189 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMissing tab
Jim Laskey [Fri, 8 Sep 2006 13:06:56 +0000 (13:06 +0000)]
Missing tab

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30188 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix select.ll to always test a select node
Rafael Espindola [Fri, 8 Sep 2006 12:52:50 +0000 (12:52 +0000)]
fix select.ll to always test a select node

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30187 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimplement unconditional branches
Rafael Espindola [Fri, 8 Sep 2006 12:47:03 +0000 (12:47 +0000)]
implement unconditional branches
fix select.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30186 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGenerated isel should favors explicit constant operand (+2) over an operand with...
Evan Cheng [Fri, 8 Sep 2006 07:26:39 +0000 (07:26 +0000)]
Generated isel should favors explicit constant operand (+2) over an operand with a predicate (+1).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30180 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew test case.
Evan Cheng [Fri, 8 Sep 2006 07:24:20 +0000 (07:24 +0000)]
New test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30179 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove TEST64mr. It's same as TEST64rm since and is commutative.
Evan Cheng [Fri, 8 Sep 2006 06:56:55 +0000 (06:56 +0000)]
Remove TEST64mr. It's same as TEST64rm since and is commutative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30178 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCommitting X86-64 support.
Evan Cheng [Fri, 8 Sep 2006 06:48:29 +0000 (06:48 +0000)]
Committing X86-64 support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd powi intrinsics.
Chris Lattner [Fri, 8 Sep 2006 06:43:00 +0000 (06:43 +0000)]
add powi intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30176 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew powi intrinsic
Chris Lattner [Fri, 8 Sep 2006 06:34:02 +0000 (06:34 +0000)]
new powi intrinsic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30175 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWe actually do support object file writing, so don't return true (error)
Nate Begeman [Fri, 8 Sep 2006 03:42:15 +0000 (03:42 +0000)]
We actually do support object file writing, so don't return true (error)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30173 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a new test case for 'undef' shuffles.
Evan Cheng [Fri, 8 Sep 2006 01:54:32 +0000 (01:54 +0000)]
Add a new test case for 'undef' shuffles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30172 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago- Identify a vector_shuffle that can be turned into an undef, e.g.
Evan Cheng [Fri, 8 Sep 2006 01:50:06 +0000 (01:50 +0000)]
- Identify a vector_shuffle that can be turned into an undef, e.g.
  shuffle V1, <undef>, <undef, undef, 4, 5>
- Fix some suspicious logic into LowerVectorShuffle that cause less than
  optimal code by failing to identify MOVL (move to lowest element of a
  vector).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30171 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago1. Remove condition on delete.
Jim Laskey [Thu, 7 Sep 2006 23:39:26 +0000 (23:39 +0000)]
1. Remove condition on delete.

2. Protect and outline createTargetAsmInfo.

3. Misc. kruft.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30169 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUntabify.
Devang Patel [Thu, 7 Sep 2006 23:29:19 +0000 (23:29 +0000)]
Untabify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30168 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse iterative do-while loop instead of recursive DFSPass calls to
Devang Patel [Thu, 7 Sep 2006 23:22:37 +0000 (23:22 +0000)]
Use iterative do-while loop instead of recursive DFSPass calls to
reduce amount of stack space used at runtime.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30167 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a new value for the command line optn
Chris Lattner [Thu, 7 Sep 2006 22:32:28 +0000 (22:32 +0000)]
add a new value for the command line optn

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30165 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a cross-build issue. The asmsyntax shouldn't be affected by the build
Chris Lattner [Thu, 7 Sep 2006 22:29:41 +0000 (22:29 +0000)]
Fix a cross-build issue.  The asmsyntax shouldn't be affected by the build
host, it should be affected by the target.  Allow the command line option to
override in either case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30164 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdding new files.
Jim Laskey [Thu, 7 Sep 2006 22:07:57 +0000 (22:07 +0000)]
Adding new files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30163 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake target asm info a property of the target machine.
Jim Laskey [Thu, 7 Sep 2006 22:06:40 +0000 (22:06 +0000)]
Make target asm info a property of the target machine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoBreak out target asm info into separate files.
Jim Laskey [Thu, 7 Sep 2006 22:05:02 +0000 (22:05 +0000)]
Break out target asm info into separate files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30161 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUsing addPassesToEmitWholeFile is not a good idea here.
Devang Patel [Thu, 7 Sep 2006 21:41:11 +0000 (21:41 +0000)]
Using addPassesToEmitWholeFile is not a good idea here.
Use FunctionPassManager to do the job.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30160 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd linker into list of LINK_COMPONENTS.
Devang Patel [Thu, 7 Sep 2006 21:36:55 +0000 (21:36 +0000)]
Add linker into list of LINK_COMPONENTS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30159 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThrottle back tail duplication to avoid creating really ugly sequences of code.
Chris Lattner [Thu, 7 Sep 2006 21:30:15 +0000 (21:30 +0000)]
Throttle back tail duplication to avoid creating really ugly sequences of code.
For Transforms/TailDup/if-tail-dup.ll, f.e., it produces:

_foo:
        movl 8(%esp), %eax
        movl 4(%esp), %ecx
        testl $1, %ecx
        je LBB1_2       #cond_next
LBB1_1: #cond_true
        movl $1, (%eax)
LBB1_2: #cond_next
        testl $2, %ecx
        je LBB1_4       #cond_next10
LBB1_3: #cond_true6
        movl $1, 4(%eax)
LBB1_4: #cond_next10
        testl $4, %ecx
        je LBB1_6       #cond_next18
LBB1_5: #cond_true14
        movl $1, 8(%eax)
LBB1_6: #cond_next18
        testl $8, %ecx
        je LBB1_8       #return
LBB1_7: #cond_true22
        movl $1, 12(%eax)
        ret
LBB1_8: #return
        ret

instead of:

_foo:
        movl 4(%esp), %eax
        testl $2, %eax
        sete %cl
        movl 8(%esp), %edx
        testl $1, %eax
        je LBB1_2       #cond_next
LBB1_1: #cond_true
        movl $1, (%edx)
        testb %cl, %cl
        jne LBB1_4      #cond_next10
        jmp LBB1_3      #cond_true6
LBB1_2: #cond_next
        testb %cl, %cl
        jne LBB1_4      #cond_next10
LBB1_3: #cond_true6
        movl $1, 4(%edx)
        testl $4, %eax
        je LBB1_6       #cond_next18
        jmp LBB1_5      #cond_true14
LBB1_4: #cond_next10
        testl $4, %eax
        je LBB1_6       #cond_next18
LBB1_5: #cond_true14
        movl $1, 8(%edx)
        testl $8, %eax
        je LBB1_8       #return
        jmp LBB1_7      #cond_true22
LBB1_6: #cond_next18
        testl $8, %eax
        je LBB1_8       #return
LBB1_7: #cond_true22
        movl $1, 12(%edx)
        ret
LBB1_8: #return
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30158 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Thu, 7 Sep 2006 21:29:32 +0000 (21:29 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30157 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoEliminate X86ISD::TEST, using X86ISD::CMP instead. Match X86ISD::CMP patterns
Chris Lattner [Thu, 7 Sep 2006 20:33:45 +0000 (20:33 +0000)]
Eliminate X86ISD::TEST, using X86ISD::CMP instead.  Match X86ISD::CMP patterns
using test, which provides nice simplifications like:

-       movl %edi, %ecx
-       andl $2, %ecx
-       cmpl $0, %ecx
+       testl $2, %edi
        je LBB1_11      #cond_next90

There are a couple of dagiselemitter deficiencies that this exposes, they will
be handled later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30156 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSome notes on better load folding we could do
Chris Lattner [Thu, 7 Sep 2006 20:32:01 +0000 (20:32 +0000)]
Some notes on better load folding we could do

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30155 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd lto into the list of PARALLEL_DIRS
Devang Patel [Thu, 7 Sep 2006 20:21:58 +0000 (20:21 +0000)]
Add lto into the list of PARALLEL_DIRS

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30154 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse addPassesToEmitWholeFile() instead of addPassesToEmitFile()
Devang Patel [Thu, 7 Sep 2006 20:20:56 +0000 (20:20 +0000)]
Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30153 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoConsistency.
Evan Cheng [Thu, 7 Sep 2006 19:03:48 +0000 (19:03 +0000)]
Consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30152 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix pasto that was breaking x86 tests.
Evan Cheng [Thu, 7 Sep 2006 18:50:20 +0000 (18:50 +0000)]
Fix pasto that was breaking x86 tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30151 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoChange DisambiguateGlobalSymbols to not rename asm globals, which breaks
Chris Lattner [Thu, 7 Sep 2006 18:21:07 +0000 (18:21 +0000)]
Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
bugpoint on leopard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30150 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd new option to leave asm names alone
Chris Lattner [Thu, 7 Sep 2006 18:20:41 +0000 (18:20 +0000)]
Add new option to leave asm names alone

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30149 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis fails
Chris Lattner [Thu, 7 Sep 2006 17:43:59 +0000 (17:43 +0000)]
This fails

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30148 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWarn people not to use GCC 4.1.1.
Chris Lattner [Thu, 7 Sep 2006 17:34:27 +0000 (17:34 +0000)]
Warn people not to use GCC 4.1.1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30147 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake the x86 asm flavor part of the subtarget info.
Jim Laskey [Thu, 7 Sep 2006 12:23:47 +0000 (12:23 +0000)]
Make the x86 asm flavor part of the subtarget info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30146 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago*** empty log message ***
Bill Wendling [Thu, 7 Sep 2006 08:39:35 +0000 (08:39 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30145 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFixed my rotten Engrish grammar.
Bill Wendling [Thu, 7 Sep 2006 08:36:28 +0000 (08:36 +0000)]
Fixed my rotten Engrish grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30144 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agocleanups and updates to the GSG, patch by B Scott Michel, thanks!
Chris Lattner [Thu, 7 Sep 2006 04:19:09 +0000 (04:19 +0000)]
cleanups and updates to the GSG, patch by B Scott Michel, thanks!
This is PR899

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30143 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix CodeGen/Generic/2006-09-06-SwitchLowering.ll, a bug where SDIsel inserted
Chris Lattner [Thu, 7 Sep 2006 01:59:34 +0000 (01:59 +0000)]
Fix CodeGen/Generic/2006-09-06-SwitchLowering.ll, a bug where SDIsel inserted
too many phi operands when lowering a switch to branches in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30142 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase for a switch lowering bug.
Chris Lattner [Thu, 7 Sep 2006 01:59:05 +0000 (01:59 +0000)]
New testcase for a switch lowering bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30141 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoClean up.
Evan Cheng [Thu, 7 Sep 2006 01:17:57 +0000 (01:17 +0000)]
Clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30140 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotestcase, ensure this never breaks.
Chris Lattner [Wed, 6 Sep 2006 21:54:59 +0000 (21:54 +0000)]
testcase, ensure this never breaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30137 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWatch out for variable_ops instructions.
Evan Cheng [Wed, 6 Sep 2006 20:32:45 +0000 (20:32 +0000)]
Watch out for variable_ops instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30135 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoVariable ops instructions may ignore the last few operands for code emission.
Evan Cheng [Wed, 6 Sep 2006 20:24:14 +0000 (20:24 +0000)]
Variable ops instructions may ignore the last few operands for code emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30134 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDocument getTargetTriple().
Devang Patel [Wed, 6 Sep 2006 20:22:55 +0000 (20:22 +0000)]
Document getTargetTriple().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30133 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd getTargetTriple() that linker can use to query target architecture.
Devang Patel [Wed, 6 Sep 2006 20:16:28 +0000 (20:16 +0000)]
Add getTargetTriple() that linker can use to query target architecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30132 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOops - forgot to update banner.
Jim Laskey [Wed, 6 Sep 2006 19:21:41 +0000 (19:21 +0000)]
Oops - forgot to update banner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30131 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoKeep track of all modules crated using a name to module map.
Devang Patel [Wed, 6 Sep 2006 18:50:26 +0000 (18:50 +0000)]
Keep track of all modules crated using a name to module map.
Add private member function getMoudle().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30130 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCleaned up some of the grammar in the Live Intervals section. Removed the
Bill Wendling [Wed, 6 Sep 2006 18:42:41 +0000 (18:42 +0000)]
Cleaned up some of the grammar in the Live Intervals section. Removed the
huge honking FIXME comment. I'll address the "Live Intervals Analysis"
section soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30129 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate project with new files.
Jim Laskey [Wed, 6 Sep 2006 18:38:54 +0000 (18:38 +0000)]
Update project with new files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30128 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSeparate target specifc asm properties from asm printers.
Jim Laskey [Wed, 6 Sep 2006 18:35:33 +0000 (18:35 +0000)]
Separate target specifc asm properties from asm printers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30127 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSeparate target specific asm properties from the asm printers.
Jim Laskey [Wed, 6 Sep 2006 18:34:40 +0000 (18:34 +0000)]
Separate target specific asm properties from the asm printers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30126 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd the orr instruction
Rafael Espindola [Wed, 6 Sep 2006 18:03:12 +0000 (18:03 +0000)]
add the orr instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30125 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoInstead of demangling symbol name by hand, use original name, which was
Devang Patel [Wed, 6 Sep 2006 00:45:52 +0000 (00:45 +0000)]
Instead of demangling symbol name by hand, use original name, which was
used to mangle symbol name, directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30124 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoExtract target triplet from optimized module.
Devang Patel [Wed, 6 Sep 2006 00:28:22 +0000 (00:28 +0000)]
Extract target triplet from optimized module.
Untabify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30123 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOnly call isUse/isDef on register operands
Evan Cheng [Tue, 5 Sep 2006 20:32:06 +0000 (20:32 +0000)]
Only call isUse/isDef on register operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30122 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoBugfix to work with the two-addr changes that have been made in the tree recently
Chris Lattner [Tue, 5 Sep 2006 20:27:32 +0000 (20:27 +0000)]
Bugfix to work with the two-addr changes that have been made in the tree recently

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30121 91177308-0d34-0410-b5e6-96231b3b80d8