Evan Cheng
|
74065bedf2
|
This opt is now handled in DAG combine.
llvm-svn: 29243
|
2006-07-21 08:26:46 +00:00 |
Evan Cheng
|
4cf0238720
|
A splat of a vector constant of all zero or all one is the vector constant.
llvm-svn: 29234
|
2006-07-20 23:09:47 +00:00 |
Evan Cheng
|
f98bc5288e
|
Missing a space.
llvm-svn: 29233
|
2006-07-20 22:52:28 +00:00 |
Evan Cheng
|
683b966485
|
Clean up.
llvm-svn: 29228
|
2006-07-20 21:37:39 +00:00 |
Evan Cheng
|
8a881f2309
|
New entry.
llvm-svn: 29215
|
2006-07-19 21:29:30 +00:00 |
Jim Laskey
|
181fb1c4d7
|
Do once flag never set to true.
llvm-svn: 29214
|
2006-07-19 19:33:08 +00:00 |
Jim Laskey
|
7c860afec6
|
Tidy up a few things.
llvm-svn: 29213
|
2006-07-19 19:32:06 +00:00 |
Jim Laskey
|
18debc21db
|
Reduce size of routine. Shrinks .o by 37%.
llvm-svn: 29210
|
2006-07-19 17:53:32 +00:00 |
Jim Laskey
|
5ba7c23cdd
|
Bug#834 ICE (crash in code generator?) when building PCH .
Missing Darwin check in Intel ATT ASM printer.
llvm-svn: 29204
|
2006-07-19 11:54:50 +00:00 |
Evan Cheng
|
968a0b0309
|
Misc. new entry.
llvm-svn: 29202
|
2006-07-19 06:06:24 +00:00 |
Evan Cheng
|
02d8836cd5
|
INC / DEC instructions have shorter code size than ADD32ri8, etc.
llvm-svn: 29194
|
2006-07-19 00:27:29 +00:00 |
Chris Lattner
|
2e1d01541a
|
Add an out-of-line virtual method for X86DwarfWriter to give it a home.
llvm-svn: 29153
|
2006-07-14 23:05:05 +00:00 |
Chris Lattner
|
c8db10725b
|
Add information preventing several register class constraints from working.
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll
llvm-svn: 29118
|
2006-07-12 16:59:49 +00:00 |
Evan Cheng
|
d5a086ab12
|
Emit inc / dec of registers as one byte instruction.
llvm-svn: 29110
|
2006-07-11 19:49:49 +00:00 |
Chris Lattner
|
298ef37e02
|
Implement the inline asm 'A' constraint. This implements PR825 and
CodeGen/X86/2006-07-10-InlineAsmAConstraint.ll
llvm-svn: 29101
|
2006-07-11 02:54:03 +00:00 |
Evan Cheng
|
32860f42bb
|
New entry.
llvm-svn: 29091
|
2006-07-10 21:42:16 +00:00 |
Evan Cheng
|
79cf9a5342
|
Fixed stack objects do not specify alignments, but their offsets are known.
Use that information when doing the transformation to merge multiple loads
into a 128-bit load.
llvm-svn: 29090
|
2006-07-10 21:37:44 +00:00 |
Chris Lattner
|
9aabc1e16f
|
Mark internal function static
llvm-svn: 29085
|
2006-07-10 19:53:12 +00:00 |
Evan Cheng
|
5987cfb7b1
|
X86 target specific DAG combine: turn build_vector (load x), (load x+4),
(load x+8), (load x+12), <0, 1, 2, 3> to a single 128-bit load (aligned and
unaligned).
e.g.
__m128 test(float a, float b, float c, float d) {
return _mm_set_ps(d, c, b, a);
}
_test:
movups 4(%esp), %xmm0
ret
llvm-svn: 29042
|
2006-07-07 08:33:52 +00:00 |
Evan Cheng
|
0261242aa6
|
Reorg. No functionality change.
llvm-svn: 28999
|
2006-07-05 22:17:51 +00:00 |
Evan Cheng
|
41816100f4
|
Fix JIT on non MacOS X i386 systems.
llvm-svn: 28992
|
2006-07-05 07:09:13 +00:00 |
Evan Cheng
|
390922f979
|
Should just use xorps to clear XMM registers for all data types. pxor is also one byte longer.
llvm-svn: 28984
|
2006-06-29 18:04:54 +00:00 |
Evan Cheng
|
28a95491d9
|
Let X86CompilationCallback pass previous frame and return address to X86CompilationCallback2. Remove alloca hack.
llvm-svn: 28982
|
2006-06-29 01:48:36 +00:00 |
Evan Cheng
|
fa9e60895b
|
Add shift and rotate by 1 instructions / patterns.
llvm-svn: 28980
|
2006-06-29 00:36:51 +00:00 |
Evan Cheng
|
fc8cdda070
|
Always use xorps to clear XMM registers.
llvm-svn: 28979
|
2006-06-29 00:34:23 +00:00 |
Evan Cheng
|
56737d4fe3
|
Move .literal4 and .literal8 support into AsmPrinter.cpp
llvm-svn: 28978
|
2006-06-29 00:33:06 +00:00 |
Chris Lattner
|
0cc5907728
|
Hide x86 symbols
llvm-svn: 28976
|
2006-06-28 23:27:49 +00:00 |
Evan Cheng
|
87813744ba
|
Doh.
llvm-svn: 28963
|
2006-06-28 17:56:43 +00:00 |
Evan Cheng
|
0687b04455
|
Oops. Need to keep CP index.
llvm-svn: 28958
|
2006-06-28 07:55:24 +00:00 |
Evan Cheng
|
7f88856d95
|
Darwin puts float and double literal constants into literal4 and literal8 sections.
llvm-svn: 28957
|
2006-06-28 07:35:41 +00:00 |
Evan Cheng
|
2aed9ebded
|
Remove dead code.
llvm-svn: 28938
|
2006-06-27 20:34:14 +00:00 |
Evan Cheng
|
38c5aee959
|
Simplify X86CompilationCallback: always align to 16-byte boundary; don't save EAX/EDX if unnecessary.
llvm-svn: 28910
|
2006-06-24 08:36:10 +00:00 |
Jim Laskey
|
a7b2bd5997
|
Add and sort "sections" in debug lines. This always stepping through
code in sections other than ".text", including weak sections like ctors and
dtors.
llvm-svn: 28909
|
2006-06-23 12:51:53 +00:00 |
Evan Cheng
|
0c9b90aba3
|
Eliminate unneeded parameter.
llvm-svn: 28907
|
2006-06-22 00:02:55 +00:00 |
Evan Cheng
|
fc1b27dad1
|
variable_ops instructions such as call can have any number of operands.
llvm-svn: 28906
|
2006-06-21 23:37:07 +00:00 |
Chris Lattner
|
dbec49d574
|
Remove some ugly now-redundant casts.
llvm-svn: 28864
|
2006-06-20 00:25:29 +00:00 |
Chris Lattner
|
55594634d7
|
Fix some mismatched type constraints
llvm-svn: 28862
|
2006-06-20 00:12:37 +00:00 |
Evan Cheng
|
cd58e9d8b9
|
Minor clean up.
llvm-svn: 28860
|
2006-06-19 19:25:30 +00:00 |
Evan Cheng
|
a54b9643aa
|
A new entry.
llvm-svn: 28848
|
2006-06-17 00:45:49 +00:00 |
Evan Cheng
|
d2e9a67cd9
|
Later models likely to have Yonah like attributes.
llvm-svn: 28843
|
2006-06-16 21:58:49 +00:00 |
Chris Lattner
|
f3b5b92e58
|
Don't pass target name into TargetData anymore, it is never used or needed.
Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
llvm-svn: 28830
|
2006-06-16 18:22:52 +00:00 |
Chris Lattner
|
cb29586ce4
|
Add a note that Nate noticed.
llvm-svn: 28808
|
2006-06-15 21:33:31 +00:00 |
Evan Cheng
|
de7156f12c
|
Type of vector extract / insert index operand should be iPTR.
llvm-svn: 28796
|
2006-06-15 08:14:54 +00:00 |
Evan Cheng
|
c8734381ac
|
X86 call instructions can take variable number of operands. Parameters of
vector types are passed via XMM registers.
llvm-svn: 28789
|
2006-06-14 22:24:55 +00:00 |
Chris Lattner
|
37c1c44c14
|
add a note
llvm-svn: 28787
|
2006-06-14 21:26:18 +00:00 |
Evan Cheng
|
ca25486603
|
Add argument registers to the end of call operand list (partial fix).
llvm-svn: 28783
|
2006-06-14 18:17:40 +00:00 |
Jim Laskey
|
f67bec0579
|
Place dwarf headers at earliest possible point. Well behaved when skipping
functions.
llvm-svn: 28781
|
2006-06-14 11:35:03 +00:00 |
Evan Cheng
|
17ca732b6a
|
Cygwin support: use _alloca to allocate stack if > 4k. Patch by Anton Korobeynikov.
llvm-svn: 28764
|
2006-06-13 05:14:44 +00:00 |
Evan Cheng
|
beedf824e3
|
Comments to appease sabre.
llvm-svn: 28737
|
2006-06-09 06:25:10 +00:00 |
Evan Cheng
|
0e14a56d35
|
Minor compilation speed improvement.
llvm-svn: 28736
|
2006-06-09 06:24:42 +00:00 |