Chris Lattner
70abd7943f
Implement promote and expand for operands of memcpy and friends.
...
This fixes CodeGen/X86/mem*.ll.
llvm-svn: 43197
2007-10-20 04:07:07 +00:00
Evan Cheng
7df9c5e089
Added missing curly braces which renders the if clause useless in debug build.
...
llvm-svn: 43196
2007-10-20 04:01:47 +00:00
Dale Johannesen
f28404f7e8
Fix a few places vector operations were not getting
...
the operand's type from the right place.
llvm-svn: 43195
2007-10-20 00:07:52 +00:00
Evan Cheng
b56784f9ea
Resolve unfold tables ambiguity.
...
llvm-svn: 43194
2007-10-19 23:50:58 +00:00
Evan Cheng
2d53c3f15e
New test case.
...
llvm-svn: 43193
2007-10-19 22:05:00 +00:00
Evan Cheng
ded6550885
Local spiller optimization:
...
Turn a store folding instruction into a load folding instruction. e.g.
xorl %edi, %eax
movl %eax, -32(%ebp)
movl -36(%ebp), %eax
orl %eax, -32(%ebp)
=>
xorl %edi, %eax
orl -36(%ebp), %eax
mov %eax, -32(%ebp)
This enables the unfolding optimization for a subsequent instruction which will
also eliminate the newly introduced store instruction.
llvm-svn: 43192
2007-10-19 21:23:22 +00:00
Bill Wendling
df262eb966
Don't branch fold inline asm statements.
...
llvm-svn: 43191
2007-10-19 21:09:55 +00:00
Duncan Sands
4dcd783a69
Add support for a few more nodes.
...
llvm-svn: 43190
2007-10-19 20:29:48 +00:00
Dale Johannesen
4ae755d15c
Redo "last ppc long double fix" as Chris wants.
...
llvm-svn: 43189
2007-10-19 20:29:00 +00:00
Bill Wendling
8dde52e2cd
Removed "-arch i386" by popular demand...
...
llvm-svn: 43186
2007-10-19 18:49:16 +00:00
Bill Wendling
868ad0d3b5
Now with RUN line!
...
llvm-svn: 43185
2007-10-19 18:40:53 +00:00
Bill Wendling
c3a94c317d
Remove the Foundation.h file because not everyone has that.
...
llvm-svn: 43184
2007-10-19 18:36:04 +00:00
Devang Patel
d002595abf
This test now passes.
...
llvm-svn: 43183
2007-10-19 17:11:01 +00:00
Anton Korobeynikov
f04f8f28fc
Update this file for 2.0 syntax. Contributed by Jan Rehders
...
llvm-svn: 43182
2007-10-19 16:54:13 +00:00
Chris Lattner
8c40f019c3
Fix a really nasty vector miscompilation bill recently introduced.
...
llvm-svn: 43181
2007-10-19 16:47:35 +00:00
Hartmut Kaiser
1d8a7438b6
Updated VC++ build system
...
llvm-svn: 43180
2007-10-19 15:51:20 +00:00
Chris Lattner
45b8558ec5
rename ExpandOperation to ExpandOperationResult, as suggested
...
by Duncan
llvm-svn: 43177
2007-10-19 15:28:47 +00:00
Rafael Espindola
c751cbdb02
split LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.
...
llvm-svn: 43176
2007-10-19 14:35:17 +00:00
Duncan Sands
1d41485be4
Support for expanding ADDE and SUBE.
...
llvm-svn: 43175
2007-10-19 13:06:17 +00:00
Duncan Sands
1bc7997ce7
If the value types are equal then this routine
...
asserts in later checks rather than producing
the ordinary load it is supposed to. Avoid all
such hassles by directly returning an ordinary
load in this case.
llvm-svn: 43174
2007-10-19 13:05:40 +00:00
Rafael Espindola
2b5b200b9f
Test byval with a 8 bit aligned struct
...
llvm-svn: 43173
2007-10-19 11:29:21 +00:00
Rafael Espindola
d8d4372845
Add support for byval function whose argument is not 32 bit aligned.
...
To do this it is necessary to add a "always inline" argument to the
memcpy node. For completeness I have also added this node to memmove
and memset. I have also added getMem* functions, because the extra
argument makes it cumbersome to use getNode and because I get confused
by it :-)
llvm-svn: 43172
2007-10-19 10:41:11 +00:00
Chris Lattner
d459e119ba
Implement a few new operations.
...
llvm-svn: 43171
2007-10-19 04:46:45 +00:00
Chris Lattner
fb5bc2fee1
Implement expansion of SINT_TO_FP and UINT_TO_FP operands.
...
llvm-svn: 43170
2007-10-19 04:32:47 +00:00
Chris Lattner
890221835b
implement support for custom expansion of any node type, in one place.
...
llvm-svn: 43169
2007-10-19 04:14:36 +00:00
Chris Lattner
4354f2db6a
comment fixes
...
llvm-svn: 43168
2007-10-19 04:08:28 +00:00
Chris Lattner
e066099b95
Make use of TLI.ExpandOperation, remove softfloat stuff.
...
llvm-svn: 43167
2007-10-19 03:58:25 +00:00
Chris Lattner
a4505cae9f
add expand support for bit_convert result, even allowing custom expansion.
...
llvm-svn: 43166
2007-10-19 03:33:14 +00:00
Chris Lattner
f02434cdaf
add a new target hook.
...
llvm-svn: 43165
2007-10-19 03:31:45 +00:00
Chris Lattner
57e2fa4ba0
Add an easy microoptimization I noticed.
...
llvm-svn: 43164
2007-10-19 03:29:26 +00:00
Devang Patel
9b11c8ab03
New test.
...
llvm-svn: 43162
2007-10-19 01:28:02 +00:00
Bill Wendling
84baa3a5b5
Negative indices aren't allowed here.
...
llvm-svn: 43161
2007-10-19 01:10:49 +00:00
Dale Johannesen
b23b0bfa8f
More ppcf128 issues (maybe the last)?
...
llvm-svn: 43160
2007-10-19 00:59:18 +00:00
Evan Cheng
0449186690
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
...
- Fix some copy+paste bugs.
llvm-svn: 43153
2007-10-18 22:40:57 +00:00
Evan Cheng
c852780685
Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public interface.
...
llvm-svn: 43150
2007-10-18 21:29:24 +00:00
Devang Patel
eff4619cc8
Try again.
...
Instead of loading small global string from memory, use
integer constant.
llvm-svn: 43148
2007-10-18 19:52:32 +00:00
Owen Anderson
f0e040a0c7
Allow GVN to eliminate redundant calls to functions without side effects.
...
llvm-svn: 43147
2007-10-18 19:39:33 +00:00
Christopher Lamb
b9c6101dd5
Add an uppercase conversion utility function.
...
llvm-svn: 43146
2007-10-18 19:31:38 +00:00
Christopher Lamb
7f21e45b06
Fix a misnamed parameter.
...
llvm-svn: 43145
2007-10-18 19:29:45 +00:00
Christopher Lamb
a26b82ea94
Fix a typo
...
llvm-svn: 43144
2007-10-18 19:28:55 +00:00
Chris Lattner
efaf4ba65d
Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll by
...
fixing some obviously broken code :(
llvm-svn: 43141
2007-10-18 18:49:29 +00:00
Bill Wendling
23c2fcfaab
Fix the command line.
...
llvm-svn: 43140
2007-10-18 18:26:40 +00:00
Devang Patel
80e28fa633
Fix test.
...
llvm-svn: 43136
2007-10-18 17:54:49 +00:00
Chris Lattner
61de0c50b7
this doesn't need dynamic_cast.
...
llvm-svn: 43133
2007-10-18 16:26:24 +00:00
Chris Lattner
ecbffce0b7
remove dead file
...
llvm-svn: 43131
2007-10-18 16:12:54 +00:00
Chris Lattner
4656de62bf
Reduce reliance on rtti info
...
llvm-svn: 43130
2007-10-18 16:11:18 +00:00
Chris Lattner
80a2b5e53b
fix typo
...
llvm-svn: 43129
2007-10-18 16:10:48 +00:00
Chris Lattner
e047abe2b4
update comment.
...
llvm-svn: 43128
2007-10-18 16:10:17 +00:00
Chris Lattner
cee5f18fb6
This requires rtti info because tblgen uses commandline,
...
and tblgen requires rtti.
llvm-svn: 43127
2007-10-18 15:57:29 +00:00
Chris Lattner
6b180c4e51
tblgen uses dynamic_cast heavily, so it needs rtti info
...
llvm-svn: 43126
2007-10-18 15:54:45 +00:00