Rafael Espindola
20146be5e8
implement shl and sra
...
llvm-svn: 30191
2006-09-08 17:36:23 +00:00
Chris Lattner
6366d97d9e
Use __USER_LABEL_PREFIX__ to get the prefix added by the current host.
...
llvm-svn: 30190
2006-09-08 17:03:56 +00:00
Rafael Espindola
9ffcdb8ab7
add the eor (xor) instruction
...
llvm-svn: 30189
2006-09-08 16:59:47 +00:00
Jim Laskey
8cbf601f06
Missing tab
...
llvm-svn: 30188
2006-09-08 13:06:56 +00:00
Rafael Espindola
faf67d2718
fix select.ll to always test a select node
...
llvm-svn: 30187
2006-09-08 12:52:50 +00:00
Rafael Espindola
af1689d5a5
implement unconditional branches
...
fix select.ll
llvm-svn: 30186
2006-09-08 12:47:03 +00:00
Evan Cheng
9d17d65cc4
Generated isel should favors explicit constant operand (+2) over an operand with a predicate (+1).
...
llvm-svn: 30180
2006-09-08 07:26:39 +00:00
Evan Cheng
384c254470
New test case.
...
llvm-svn: 30179
2006-09-08 07:24:20 +00:00
Evan Cheng
100e48fe40
Remove TEST64mr. It's same as TEST64rm since and is commutative.
...
llvm-svn: 30178
2006-09-08 06:56:55 +00:00
Evan Cheng
15dd42884e
Committing X86-64 support.
...
llvm-svn: 30177
2006-09-08 06:48:29 +00:00
Chris Lattner
98c39f8e5b
add powi intrinsics.
...
llvm-svn: 30176
2006-09-08 06:43:00 +00:00
Chris Lattner
06c3df5cb1
new powi intrinsic
...
llvm-svn: 30175
2006-09-08 06:34:02 +00:00
Nate Begeman
bb053826f9
We actually do support object file writing, so don't return true (error)
...
llvm-svn: 30173
2006-09-08 03:42:15 +00:00
Evan Cheng
f56e6f2861
Add a new test case for 'undef' shuffles.
...
llvm-svn: 30172
2006-09-08 01:54:32 +00:00
Evan Cheng
da0f93c5af
- 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).
llvm-svn: 30171
2006-09-08 01:50:06 +00:00
Jim Laskey
160a8aa339
1. Remove condition on delete.
...
2. Protect and outline createTargetAsmInfo.
3. Misc. kruft.
llvm-svn: 30169
2006-09-07 23:39:26 +00:00
Devang Patel
2e8547542f
Untabify.
...
llvm-svn: 30168
2006-09-07 23:29:19 +00:00
Devang Patel
6971b40067
Use iterative do-while loop instead of recursive DFSPass calls to
...
reduce amount of stack space used at runtime.
llvm-svn: 30167
2006-09-07 23:22:37 +00:00
Chris Lattner
f4c05c3170
add a new value for the command line optn
...
llvm-svn: 30165
2006-09-07 22:32:28 +00:00
Chris Lattner
6d59598acc
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.
llvm-svn: 30164
2006-09-07 22:29:41 +00:00
Jim Laskey
9e485f2bd1
Adding new files.
...
llvm-svn: 30163
2006-09-07 22:07:57 +00:00
Jim Laskey
9da25f6119
Make target asm info a property of the target machine.
...
llvm-svn: 30162
2006-09-07 22:06:40 +00:00
Jim Laskey
a64fe8ccf2
Break out target asm info into separate files.
...
llvm-svn: 30161
2006-09-07 22:05:02 +00:00
Devang Patel
18046380ee
Using addPassesToEmitWholeFile is not a good idea here.
...
Use FunctionPassManager to do the job.
llvm-svn: 30160
2006-09-07 21:41:11 +00:00
Devang Patel
f8e6dcc443
Add linker into list of LINK_COMPONENTS.
...
llvm-svn: 30159
2006-09-07 21:36:55 +00:00
Chris Lattner
6aebff10e8
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
llvm-svn: 30158
2006-09-07 21:30:15 +00:00
Chris Lattner
4d22e7fac4
new testcase
...
llvm-svn: 30157
2006-09-07 21:29:32 +00:00
Chris Lattner
9c7673ffca
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.
llvm-svn: 30156
2006-09-07 20:33:45 +00:00
Chris Lattner
a96d4ad830
Some notes on better load folding we could do
...
llvm-svn: 30155
2006-09-07 20:32:01 +00:00
Devang Patel
2c28439303
Add lto into the list of PARALLEL_DIRS
...
llvm-svn: 30154
2006-09-07 20:21:58 +00:00
Devang Patel
46b6b1195a
Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()
...
llvm-svn: 30153
2006-09-07 20:20:56 +00:00
Evan Cheng
798aa508a3
Consistency.
...
llvm-svn: 30152
2006-09-07 19:03:48 +00:00
Evan Cheng
fe263e552a
Fix pasto that was breaking x86 tests.
...
llvm-svn: 30151
2006-09-07 18:50:20 +00:00
Chris Lattner
064d0ec956
Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
...
bugpoint on leopard.
llvm-svn: 30150
2006-09-07 18:21:07 +00:00
Chris Lattner
47f39eb3db
Add new option to leave asm names alone
...
llvm-svn: 30149
2006-09-07 18:20:41 +00:00
Chris Lattner
02b42279f5
This fails
...
llvm-svn: 30148
2006-09-07 17:43:59 +00:00
Chris Lattner
38bc3c92b8
Warn people not to use GCC 4.1.1.
...
llvm-svn: 30147
2006-09-07 17:34:27 +00:00
Jim Laskey
d2830c11b8
Make the x86 asm flavor part of the subtarget info.
...
llvm-svn: 30146
2006-09-07 12:23:47 +00:00
Bill Wendling
3f7ab0eb9f
*** empty log message ***
...
llvm-svn: 30145
2006-09-07 08:39:35 +00:00
Bill Wendling
e2623c5f2f
Fixed my rotten Engrish grammar.
...
llvm-svn: 30144
2006-09-07 08:36:28 +00:00
Chris Lattner
bd8206ddf2
cleanups and updates to the GSG, patch by B Scott Michel, thanks!
...
This is PR899
llvm-svn: 30143
2006-09-07 04:19:09 +00:00
Chris Lattner
8b75d6e068
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.
llvm-svn: 30142
2006-09-07 01:59:34 +00:00
Chris Lattner
d394bd49a8
New testcase for a switch lowering bug.
...
llvm-svn: 30141
2006-09-07 01:59:05 +00:00
Evan Cheng
451baeaf79
Clean up.
...
llvm-svn: 30140
2006-09-07 01:17:57 +00:00
Chris Lattner
6fbd159a5f
testcase, ensure this never breaks.
...
llvm-svn: 30137
2006-09-06 21:54:59 +00:00
Evan Cheng
5bb0ec5c15
Watch out for variable_ops instructions.
...
llvm-svn: 30135
2006-09-06 20:32:45 +00:00
Evan Cheng
d299a28d86
Variable ops instructions may ignore the last few operands for code emission.
...
llvm-svn: 30134
2006-09-06 20:24:14 +00:00
Devang Patel
9f95e0d3cf
Document getTargetTriple().
...
llvm-svn: 30133
2006-09-06 20:22:55 +00:00
Devang Patel
2e6c5085f8
Add getTargetTriple() that linker can use to query target architecture.
...
llvm-svn: 30132
2006-09-06 20:16:28 +00:00
Jim Laskey
8e922904ce
Oops - forgot to update banner.
...
llvm-svn: 30131
2006-09-06 19:21:41 +00:00