oota-llvm.git
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

18 years agomake this harder
Chris Lattner [Tue, 5 Sep 2006 20:27:06 +0000 (20:27 +0000)]
make this harder

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

18 years agoIsDef can only be accessed / set if operand is a register.
Evan Cheng [Tue, 5 Sep 2006 20:20:04 +0000 (20:20 +0000)]
IsDef can only be accessed / set if operand is a register.

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

18 years agoOnly call isUse/isDef on register operands
Chris Lattner [Tue, 5 Sep 2006 20:19:27 +0000 (20:19 +0000)]
Only call isUse/isDef on register operands

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

18 years agoDon't call isDef on non-registers
Chris Lattner [Tue, 5 Sep 2006 20:02:51 +0000 (20:02 +0000)]
Don't call isDef on non-registers

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

18 years agoInitialize IsDef of all non-register MachineOperand to false.
Evan Cheng [Tue, 5 Sep 2006 18:56:02 +0000 (18:56 +0000)]
Initialize IsDef of all non-register MachineOperand to false.

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

18 years agoFix Duraid's changes to work when TLI is null. This fixes the failing
Chris Lattner [Tue, 5 Sep 2006 17:48:07 +0000 (17:48 +0000)]
Fix Duraid's changes to work when TLI is null.  This fixes the failing
lowerinvoke regtests.

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

18 years agoChange the default to 0, which means 'default'.
Chris Lattner [Tue, 5 Sep 2006 17:39:15 +0000 (17:39 +0000)]
Change the default to 0, which means 'default'.

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

18 years agoFix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.ll
Evan Cheng [Tue, 5 Sep 2006 08:32:49 +0000 (08:32 +0000)]
Fix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.ll

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

18 years agoJIT encoding bug.
Evan Cheng [Tue, 5 Sep 2006 05:59:25 +0000 (05:59 +0000)]
JIT encoding bug.

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

18 years agoFix JIT encoding of two-addr instructions.
Chris Lattner [Tue, 5 Sep 2006 03:01:52 +0000 (03:01 +0000)]
Fix JIT encoding of two-addr instructions.

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

18 years agoUpdate the X86 JIT to make it work with the new two-addr changes. This also
Chris Lattner [Tue, 5 Sep 2006 02:52:35 +0000 (02:52 +0000)]
Update the X86 JIT to make it work with the new two-addr changes.  This also
adds assertions that check to make sure every operand gets emitted.

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

18 years agoCompletely eliminate def&use operands. Now a register operand is EITHER a
Chris Lattner [Tue, 5 Sep 2006 02:31:13 +0000 (02:31 +0000)]
Completely eliminate def&use operands.  Now a register operand is EITHER a
def operand or a use operand.

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

18 years agoFix a long-standing wart in the code generator: two-address instruction lowering
Chris Lattner [Tue, 5 Sep 2006 02:12:02 +0000 (02:12 +0000)]
Fix a long-standing wart in the code generator: two-address instruction lowering
actually *removes* one of the operands, instead of just assigning both operands
the same register.  This make reasoning about instructions unnecessarily complex,
because you need to know if you are before or after register allocation to match
up operand #'s with the target description file.

Changing this also gets rid of a bunch of hacky code in various places.

This patch also includes changes to fold loads into cmp/test instructions in
the X86 backend, along with a significant simplification to the X86 spill
folding code.

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

18 years agojmp_bufs are this big on alpha.
Andrew Lenharth [Tue, 5 Sep 2006 00:22:25 +0000 (00:22 +0000)]
jmp_bufs are this big on alpha.

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

18 years agoFirst draft of the "Live Interval Analysis" section. This is the "Live
Bill Wendling [Mon, 4 Sep 2006 23:35:52 +0000 (23:35 +0000)]
First draft of the "Live Interval Analysis" section. This is the "Live
Variable Analysis" pass.

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

18 years agoADd getImm/setImm methods
Chris Lattner [Mon, 4 Sep 2006 23:35:22 +0000 (23:35 +0000)]
ADd getImm/setImm methods

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

18 years agoAdd some short-hand accessors
Chris Lattner [Mon, 4 Sep 2006 23:05:29 +0000 (23:05 +0000)]
Add some short-hand accessors

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

18 years agoadd support for returning 64bit values
Rafael Espindola [Mon, 4 Sep 2006 19:05:01 +0000 (19:05 +0000)]
add support for returning 64bit values

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

18 years agoFix some X86 JIT failures. This should really come from TargetJITInfo.
Chris Lattner [Mon, 4 Sep 2006 18:48:41 +0000 (18:48 +0000)]
Fix some X86 JIT failures.  This should really come from TargetJITInfo.

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

18 years agolli uses LinkAllCodegenComponents, so it needs this. Thanks to
Chris Lattner [Mon, 4 Sep 2006 18:34:16 +0000 (18:34 +0000)]
lli uses LinkAllCodegenComponents, so it needs this.  Thanks to
Rafael Esp?ndola for pointing this out

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

18 years agoCorrect fix for a crasher on functions with live in values
Chris Lattner [Mon, 4 Sep 2006 18:27:40 +0000 (18:27 +0000)]
Correct fix for a crasher on functions with live in values

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

18 years agoHack around a regression I introduced yesterday
Chris Lattner [Mon, 4 Sep 2006 18:20:15 +0000 (18:20 +0000)]
Hack around a regression I introduced yesterday

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

18 years agoforgot this
Duraid Madina [Mon, 4 Sep 2006 07:44:11 +0000 (07:44 +0000)]
forgot this

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