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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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