oota-llvm.git
16 years agoFix PR1739.
Chris Lattner [Wed, 24 Oct 2007 04:35:54 +0000 (04:35 +0000)]
Fix PR1739.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43286 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded VC++ solution file allowing to build clang.
Hartmut Kaiser [Wed, 24 Oct 2007 00:13:40 +0000 (00:13 +0000)]
Added VC++ solution file allowing to build clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43279 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSilenced a VC++ warning.
Hartmut Kaiser [Wed, 24 Oct 2007 00:06:31 +0000 (00:06 +0000)]
Silenced a VC++ warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43276 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated VC++ build system
Hartmut Kaiser [Tue, 23 Oct 2007 23:57:01 +0000 (23:57 +0000)]
Updated VC++ build system

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43275 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix comment and use the "Size" variable that's already provided.
Bill Wendling [Tue, 23 Oct 2007 23:36:57 +0000 (23:36 +0000)]
Fix comment and use the "Size" variable that's already provided.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43271 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf there's an unaligned memcpy to/from the stack, don't lower it. Just call the
Bill Wendling [Tue, 23 Oct 2007 23:32:40 +0000 (23:32 +0000)]
If there's an unaligned memcpy to/from the stack, don't lower it. Just call the
memcpy library function instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43270 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDisable a couple more things for ppcf128.
Dale Johannesen [Tue, 23 Oct 2007 23:20:14 +0000 (23:20 +0000)]
Disable a couple more things for ppcf128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43267 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded "ReadEnum" and "WriteEnum" to serialization classes.
Ted Kremenek [Tue, 23 Oct 2007 22:17:03 +0000 (22:17 +0000)]
Added "ReadEnum" and "WriteEnum" to serialization classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43265 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis broke lots. Reverting.
Bill Wendling [Tue, 23 Oct 2007 22:04:26 +0000 (22:04 +0000)]
This broke lots. Reverting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43264 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake DomTreeBase not a FunctionPass.
Owen Anderson [Tue, 23 Oct 2007 21:42:49 +0000 (21:42 +0000)]
Make DomTreeBase not a FunctionPass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43263 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLowering a memcpy to the stack is killing PPC. The ARM and X86 backends already
Bill Wendling [Tue, 23 Oct 2007 21:30:25 +0000 (21:30 +0000)]
Lowering a memcpy to the stack is killing PPC. The ARM and X86 backends already
have their own custom memcpy lowering code. This code needs to be factored out
into a target-independent lowering method with hooks to the backend. In the
meantime, just call memcpy if we're trying to copy onto a stack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43262 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded preliminary implementation of generic object serialization to bitcode.
Ted Kremenek [Tue, 23 Oct 2007 21:29:33 +0000 (21:29 +0000)]
Added preliminary implementation of generic object serialization to bitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43261 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak the build. Forgot to commit this file.
Owen Anderson [Tue, 23 Oct 2007 21:04:37 +0000 (21:04 +0000)]
Unbreak the build.  Forgot to commit this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43260 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting...
Owen Anderson [Tue, 23 Oct 2007 20:58:37 +0000 (20:58 +0000)]
Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting from it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43259 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIt's possible to commute instrctions with more than 3 operands.
Evan Cheng [Tue, 23 Oct 2007 20:14:40 +0000 (20:14 +0000)]
It's possible to commute instrctions with more than 3 operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43256 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agonew testcase
Chris Lattner [Tue, 23 Oct 2007 18:07:23 +0000 (18:07 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43252 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agollvm/test programs should not be execution programs. This
Chris Lattner [Tue, 23 Oct 2007 17:56:04 +0000 (17:56 +0000)]
llvm/test programs should not be execution programs.  This
will hopefully fix Gabor's Sparc problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43251 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoisSubRegOf() is a dup of isSubRegister.
Evan Cheng [Tue, 23 Oct 2007 06:51:50 +0000 (06:51 +0000)]
isSubRegOf() is a dup of isSubRegister.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43249 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right calle...
Evan Cheng [Tue, 23 Oct 2007 06:42:42 +0000 (06:42 +0000)]
Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43248 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix validation problems, which were somewhat ironically in the "valid html" button...
Chris Lattner [Tue, 23 Oct 2007 06:30:50 +0000 (06:30 +0000)]
Fix validation problems, which were somewhat ironically in the "valid html" button code :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43247 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a skeleton for part 4
Chris Lattner [Tue, 23 Oct 2007 06:27:55 +0000 (06:27 +0000)]
add a skeleton for part 4

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43246 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocomplete the codegen chapter
Chris Lattner [Tue, 23 Oct 2007 06:23:57 +0000 (06:23 +0000)]
complete the codegen chapter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43245 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNow with valid HTML 4.01!
Owen Anderson [Tue, 23 Oct 2007 06:22:21 +0000 (06:22 +0000)]
Now with valid HTML 4.01!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43244 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a link to the "writing an optimization" tutorial.
Owen Anderson [Tue, 23 Oct 2007 06:17:39 +0000 (06:17 +0000)]
Add a link to the "writing an optimization" tutorial.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43243 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd downloadable code sample for tutorial 2.
Owen Anderson [Tue, 23 Oct 2007 06:05:37 +0000 (06:05 +0000)]
Add downloadable code sample for tutorial 2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43242 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd the second of the "basic topics" tutorials.
Owen Anderson [Tue, 23 Oct 2007 06:03:24 +0000 (06:03 +0000)]
Add the second of the "basic topics" tutorials.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43241 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReorder the optimization and bitcode tutorials.
Owen Anderson [Tue, 23 Oct 2007 06:02:14 +0000 (06:02 +0000)]
Reorder the optimization and bitcode tutorials.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43240 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix up a broken #include, move code to its own section, add conclusions.
Chris Lattner [Tue, 23 Oct 2007 05:43:01 +0000 (05:43 +0000)]
Fix up a broken #include, move code to its own section, add conclusions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43239 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFinish up expr codegen.
Chris Lattner [Tue, 23 Oct 2007 04:51:30 +0000 (04:51 +0000)]
Finish up expr codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43238 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoseveral improvements suggested by Dan, thanks!
Chris Lattner [Tue, 23 Oct 2007 04:27:44 +0000 (04:27 +0000)]
several improvements suggested by Dan, thanks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43237 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix memcpy lowering when addresses are 4-byte aligned but size is not multiple of 4.
Evan Cheng [Mon, 22 Oct 2007 22:11:27 +0000 (22:11 +0000)]
Fix memcpy lowering when addresses are 4-byte aligned but size is not multiple of 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43234 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThe #include <iterator> isn't needed in this header.
Dan Gohman [Mon, 22 Oct 2007 20:44:10 +0000 (20:44 +0000)]
The #include <iterator> isn't needed in this header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43232 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoStrength reduction improvements.
Dan Gohman [Mon, 22 Oct 2007 20:40:42 +0000 (20:40 +0000)]
Strength reduction improvements.

 - Avoid attempting stride-reuse in the case that there are users that
   aren't addresses. In that case, there will be places where the
   multiplications won't be folded away, so it's better to try to
   strength-reduce them.

 - Several SSE intrinsics have operands that strength-reduction can
   treat as addresses. The previous item makes this more visible, as
   any non-address use of an IV can inhibit stride-reuse.

 - Make ValidStride aware of whether there's likely to be a base
   register in the address computation. This prevents it from thinking
   that things like stride 9 are valid on x86 when the base register is
   already occupied.

Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid
stride-reuse elimintes the LEA in the loop, so the test is no longer
testing what it was intended to test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43231 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the folding of multiplication into addresses on x86, which was broken
Dan Gohman [Mon, 22 Oct 2007 20:22:24 +0000 (20:22 +0000)]
Fix the folding of multiplication into addresses on x86, which was broken
by the recent {U,S}MUL_LOHI changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43230 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse ptr type in the immediate field of a BxA instruction so we don't end up selecting...
Evan Cheng [Mon, 22 Oct 2007 19:46:19 +0000 (19:46 +0000)]
Use ptr type in the immediate field of a BxA instruction so we don't end up selecting 32-bit call instruction for ppc64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43228 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd missing paratheses.
Evan Cheng [Mon, 22 Oct 2007 19:42:28 +0000 (19:42 +0000)]
Add missing paratheses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43227 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a 'don't use me' marker.
Chris Lattner [Mon, 22 Oct 2007 19:41:46 +0000 (19:41 +0000)]
add a 'don't use me' marker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43226 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSupport for expanding extending loads of integers with
Duncan Sands [Mon, 22 Oct 2007 19:00:05 +0000 (19:00 +0000)]
Support for expanding extending loads of integers with
funky bit-widths.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43225 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove the SCEV object factors from being static members of the individual
Dan Gohman [Mon, 22 Oct 2007 18:31:58 +0000 (18:31 +0000)]
Move the SCEV object factors from being static members of the individual
SCEV subclasses to being non-static member functions of the ScalarEvolution
class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43224 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix up the logic for result expanding the various extension
Duncan Sands [Mon, 22 Oct 2007 18:26:21 +0000 (18:26 +0000)]
Fix up the logic for result expanding the various extension
operations so they work right for integers with funky
bit-widths.  For example, consider extending i48 to i64
on a 32 bit machine.  The i64 result is expanded to 2 x i32.
We know that the i48 operand will be promoted to i64, then
also expanded to 2 x i32.  If we had the expanded promoted
operand to hand, then expanding the result would be trivial.
Unfortunately at this stage we can only get hold of the
promoted operand.  So instead we kind of hand-expand, doing
explicit shifting and truncating to get the top and bottom
halves of the i64 operand into 2 x i32, which are then used
to expand the result.  This is harmless, because when the
promoted operand is finally expanded all this bit fiddling
turns into trivial operations which are eliminated either
by the expansion code itself or the DAG combiner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43223 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofit in 80 cols :)
Chris Lattner [Mon, 22 Oct 2007 16:44:31 +0000 (16:44 +0000)]
fit in 80 cols :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43222 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agostart of chapter 3
Chris Lattner [Mon, 22 Oct 2007 07:01:42 +0000 (07:01 +0000)]
start of chapter 3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43221 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a few typos I noticed.
Owen Anderson [Mon, 22 Oct 2007 06:48:28 +0000 (06:48 +0000)]
Fix a few typos I noticed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43220 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd downloadable code samples.
Owen Anderson [Mon, 22 Oct 2007 06:35:07 +0000 (06:35 +0000)]
Add downloadable code samples.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43219 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck in part 2: parser and ast.
Chris Lattner [Mon, 22 Oct 2007 06:34:15 +0000 (06:34 +0000)]
Check in part 2: parser and ast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43218 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix some code to make it actually work.
Owen Anderson [Mon, 22 Oct 2007 06:29:31 +0000 (06:29 +0000)]
Fix some code to make it actually work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43217 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPut correct link in example
Bill Wendling [Mon, 22 Oct 2007 05:10:05 +0000 (05:10 +0000)]
Put correct link in example

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43216 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd part 1, review appreciated.
Chris Lattner [Mon, 22 Oct 2007 04:32:37 +0000 (04:32 +0000)]
add part 1, review appreciated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43215 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd an outline for "part 2".
Chris Lattner [Mon, 22 Oct 2007 03:19:07 +0000 (03:19 +0000)]
add an outline for "part 2".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43214 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorename tutorial 1 -> JITTutorial1, make unimplemented links not be dead links.
Chris Lattner [Mon, 22 Oct 2007 03:12:24 +0000 (03:12 +0000)]
rename tutorial 1 -> JITTutorial1, make unimplemented links not be dead links.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43213 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix an unfolding bug.
Evan Cheng [Mon, 22 Oct 2007 03:03:20 +0000 (03:03 +0000)]
Fix an unfolding bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43212 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Only perform the unfolding optimization when the folding in question is modref.
Evan Cheng [Mon, 22 Oct 2007 03:01:44 +0000 (03:01 +0000)]
- Only perform the unfolding optimization when the folding in question is modref.
- Remove a bogus assertion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43211 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a mechanism for the JIT to invoke a function to lazily create functions as they...
Chris Lattner [Mon, 22 Oct 2007 02:50:12 +0000 (02:50 +0000)]
add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43210 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agollvm-gcc3 is dead, along with it __main.
Chris Lattner [Mon, 22 Oct 2007 02:39:47 +0000 (02:39 +0000)]
llvm-gcc3 is dead, along with it __main.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43209 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReg2Mem cleanup and optimizations:
Anton Korobeynikov [Sun, 21 Oct 2007 23:05:16 +0000 (23:05 +0000)]
Reg2Mem cleanup and optimizations:
 - enable phi instructions demotion to stack
 - create alloca instructions in the entry block

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43208 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLoadLibraryPermanently doesn't throw.
Chris Lattner [Sun, 21 Oct 2007 22:58:11 +0000 (22:58 +0000)]
LoadLibraryPermanently doesn't throw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43207 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a convenience method for creating EE's.
Chris Lattner [Sun, 21 Oct 2007 22:57:11 +0000 (22:57 +0000)]
Add a convenience method for creating EE's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43206 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAllow for copysign having f80 second argument.
Dale Johannesen [Sun, 21 Oct 2007 01:07:44 +0000 (01:07 +0000)]
Allow for copysign having f80 second argument.
Fixes 5550319.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43205 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd promote operand support for [su]int_to_fp.
Chris Lattner [Sat, 20 Oct 2007 22:57:56 +0000 (22:57 +0000)]
Add promote operand support for [su]int_to_fp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43204 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSome improvements based on feedback from Anders.
Owen Anderson [Sat, 20 Oct 2007 06:12:33 +0000 (06:12 +0000)]
Some improvements based on feedback from Anders.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43203 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix some weird indenting in code.
Owen Anderson [Sat, 20 Oct 2007 05:41:39 +0000 (05:41 +0000)]
Fix some weird indenting in code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43202 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse getOrInsertFunction() in tutorial 1. This makes for shorter, simpler, and better...
Owen Anderson [Sat, 20 Oct 2007 05:40:47 +0000 (05:40 +0000)]
Use getOrInsertFunction() in tutorial 1.  This makes for shorter, simpler, and better example code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43201 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd the beginnings of an LLVM tutorial. If anyone has suggestions, comments,
Owen Anderson [Sat, 20 Oct 2007 05:23:06 +0000 (05:23 +0000)]
Add the beginnings of an LLVM tutorial.  If anyone has suggestions, comments,
or would like to contribute, let me know!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43200 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd result promotion of FP_TO_*INT, fixing CodeGen/X86/trunc-to-bool.ll
Chris Lattner [Sat, 20 Oct 2007 04:32:38 +0000 (04:32 +0000)]
Add result promotion of FP_TO_*INT, fixing CodeGen/X86/trunc-to-bool.ll
with the new legalizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43199 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosimplify some code.
Chris Lattner [Sat, 20 Oct 2007 04:09:48 +0000 (04:09 +0000)]
simplify some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43198 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement promote and expand for operands of memcpy and friends.
Chris Lattner [Sat, 20 Oct 2007 04:07:07 +0000 (04:07 +0000)]
Implement promote and expand for operands of memcpy and friends.
This fixes CodeGen/X86/mem*.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43197 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded missing curly braces which renders the if clause useless in debug build.
Evan Cheng [Sat, 20 Oct 2007 04:01:47 +0000 (04:01 +0000)]
Added missing curly braces which renders the if clause useless in debug build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43196 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a few places vector operations were not getting
Dale Johannesen [Sat, 20 Oct 2007 00:07:52 +0000 (00:07 +0000)]
Fix a few places vector operations were not getting
the operand's type from the right place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43195 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoResolve unfold tables ambiguity.
Evan Cheng [Fri, 19 Oct 2007 23:50:58 +0000 (23:50 +0000)]
Resolve unfold tables ambiguity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43194 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNew test case.
Evan Cheng [Fri, 19 Oct 2007 22:05:00 +0000 (22:05 +0000)]
New test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43193 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLocal spiller optimization:
Evan Cheng [Fri, 19 Oct 2007 21:23:22 +0000 (21:23 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43192 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't branch fold inline asm statements.
Bill Wendling [Fri, 19 Oct 2007 21:09:55 +0000 (21:09 +0000)]
Don't branch fold inline asm statements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43191 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for a few more nodes.
Duncan Sands [Fri, 19 Oct 2007 20:29:48 +0000 (20:29 +0000)]
Add support for a few more nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43190 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRedo "last ppc long double fix" as Chris wants.
Dale Johannesen [Fri, 19 Oct 2007 20:29:00 +0000 (20:29 +0000)]
Redo "last ppc long double fix" as Chris wants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43189 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemoved "-arch i386" by popular demand...
Bill Wendling [Fri, 19 Oct 2007 18:49:16 +0000 (18:49 +0000)]
Removed "-arch i386" by popular demand...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43186 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNow with RUN line!
Bill Wendling [Fri, 19 Oct 2007 18:40:53 +0000 (18:40 +0000)]
Now with RUN line!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43185 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove the Foundation.h file because not everyone has that.
Bill Wendling [Fri, 19 Oct 2007 18:36:04 +0000 (18:36 +0000)]
Remove the Foundation.h file because not everyone has that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43184 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis test now passes.
Devang Patel [Fri, 19 Oct 2007 17:11:01 +0000 (17:11 +0000)]
This test now passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43183 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate this file for 2.0 syntax. Contributed by Jan Rehders
Anton Korobeynikov [Fri, 19 Oct 2007 16:54:13 +0000 (16:54 +0000)]
Update this file for 2.0 syntax. Contributed by Jan Rehders

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43182 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a really nasty vector miscompilation bill recently introduced.
Chris Lattner [Fri, 19 Oct 2007 16:47:35 +0000 (16:47 +0000)]
Fix a really nasty vector miscompilation bill recently introduced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43181 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated VC++ build system
Hartmut Kaiser [Fri, 19 Oct 2007 15:51:20 +0000 (15:51 +0000)]
Updated VC++ build system

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43180 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorename ExpandOperation to ExpandOperationResult, as suggested
Chris Lattner [Fri, 19 Oct 2007 15:28:47 +0000 (15:28 +0000)]
rename ExpandOperation to ExpandOperationResult, as suggested
by Duncan

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43177 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosplit LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.
Rafael Espindola [Fri, 19 Oct 2007 14:35:17 +0000 (14:35 +0000)]
split LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43176 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSupport for expanding ADDE and SUBE.
Duncan Sands [Fri, 19 Oct 2007 13:06:17 +0000 (13:06 +0000)]
Support for expanding ADDE and SUBE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43175 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf the value types are equal then this routine
Duncan Sands [Fri, 19 Oct 2007 13:05:40 +0000 (13:05 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43174 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest byval with a 8 bit aligned struct
Rafael Espindola [Fri, 19 Oct 2007 11:29:21 +0000 (11:29 +0000)]
Test byval with a 8 bit aligned struct

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43173 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for byval function whose argument is not 32 bit aligned.
Rafael Espindola [Fri, 19 Oct 2007 10:41:11 +0000 (10:41 +0000)]
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 :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43172 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement a few new operations.
Chris Lattner [Fri, 19 Oct 2007 04:46:45 +0000 (04:46 +0000)]
Implement a few new operations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43171 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement expansion of SINT_TO_FP and UINT_TO_FP operands.
Chris Lattner [Fri, 19 Oct 2007 04:32:47 +0000 (04:32 +0000)]
Implement expansion of SINT_TO_FP and UINT_TO_FP operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43170 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoimplement support for custom expansion of any node type, in one place.
Chris Lattner [Fri, 19 Oct 2007 04:14:36 +0000 (04:14 +0000)]
implement support for custom expansion of any node type, in one place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43169 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocomment fixes
Chris Lattner [Fri, 19 Oct 2007 04:08:28 +0000 (04:08 +0000)]
comment fixes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43168 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake use of TLI.ExpandOperation, remove softfloat stuff.
Chris Lattner [Fri, 19 Oct 2007 03:58:25 +0000 (03:58 +0000)]
Make use of TLI.ExpandOperation, remove softfloat stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43167 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd expand support for bit_convert result, even allowing custom expansion.
Chris Lattner [Fri, 19 Oct 2007 03:33:14 +0000 (03:33 +0000)]
add expand support for bit_convert result, even allowing custom expansion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43166 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a new target hook.
Chris Lattner [Fri, 19 Oct 2007 03:31:45 +0000 (03:31 +0000)]
add a new target hook.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43165 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd an easy microoptimization I noticed.
Chris Lattner [Fri, 19 Oct 2007 03:29:26 +0000 (03:29 +0000)]
Add an easy microoptimization I noticed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43164 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNew test.
Devang Patel [Fri, 19 Oct 2007 01:28:02 +0000 (01:28 +0000)]
New test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43162 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNegative indices aren't allowed here.
Bill Wendling [Fri, 19 Oct 2007 01:10:49 +0000 (01:10 +0000)]
Negative indices aren't allowed here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43161 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMore ppcf128 issues (maybe the last)?
Dale Johannesen [Fri, 19 Oct 2007 00:59:18 +0000 (00:59 +0000)]
More ppcf128 issues (maybe the last)?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43160 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only...
Evan Cheng [Thu, 18 Oct 2007 22:40:57 +0000 (22:40 +0000)]
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43153 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public...
Evan Cheng [Thu, 18 Oct 2007 21:29:24 +0000 (21:29 +0000)]
Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43150 91177308-0d34-0410-b5e6-96231b3b80d8