1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
Commit Graph

34945 Commits

Author SHA1 Message Date
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
Hartmut Kaiser
bbcab3e0bb Updated VC++ build system
llvm-svn: 43123
2007-10-18 12:31:51 +00:00
Gordon Henriksen
3b309c68d1 Work around downrev gccs which do not inherit visibility of the
Registry<>::iterator member class.

llvm-svn: 43122
2007-10-18 11:53:05 +00:00
Gordon Henriksen
422d66e53e Missing 'public' keyword.
llvm-svn: 43121
2007-10-18 11:31:21 +00:00