oota-llvm.git
13 years agoCombine these together - should probably have some text associated
Eric Christopher [Tue, 12 Oct 2010 19:44:17 +0000 (19:44 +0000)]
Combine these together - should probably have some text associated
that says what why what we just asserted is wrong.

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

13 years agoKillTheDoctor: Fix VS2008 build.
Michael J. Spencer [Tue, 12 Oct 2010 19:27:44 +0000 (19:27 +0000)]
KillTheDoctor: Fix VS2008 build.

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

13 years agoMark variable 'NoImplicitFloatOps' used only in an assert as used.
Nick Lewycky [Tue, 12 Oct 2010 18:18:03 +0000 (18:18 +0000)]
Mark variable 'NoImplicitFloatOps' used only in an assert as used.

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

13 years agoComment grammar tweakage.
Jim Grosbach [Tue, 12 Oct 2010 18:11:41 +0000 (18:11 +0000)]
Comment grammar tweakage.

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

13 years agoAdd MOVi ARM encoding.
Jim Grosbach [Tue, 12 Oct 2010 18:09:12 +0000 (18:09 +0000)]
Add MOVi ARM encoding.

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

13 years agoInitial va_arg support for x86-64. Patch by David Meyer!
Dan Gohman [Tue, 12 Oct 2010 18:00:49 +0000 (18:00 +0000)]
Initial va_arg support for x86-64. Patch by David Meyer!

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

13 years agoNuke unused wrapper function.
Jim Grosbach [Tue, 12 Oct 2010 17:53:25 +0000 (17:53 +0000)]
Nuke unused wrapper function.

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

13 years agoRemove the x86 MOV{32,64}{rr,rm,mr}_TC instructions.
Jakob Stoklund Olesen [Tue, 12 Oct 2010 17:15:00 +0000 (17:15 +0000)]
Remove the x86 MOV{32,64}{rr,rm,mr}_TC instructions.

The reg-reg copies were no longer being generated since copyPhysReg copies
physical registers only.

The loads and stores are not necessary - The TC constraint is imposed by the
TAILJMP and TCRETURN instructions, there should be no need for constrained loads
and stores.

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

13 years agoAdd encoding information for the remainder of the generic arithmetic
Jim Grosbach [Tue, 12 Oct 2010 17:11:26 +0000 (17:11 +0000)]
Add encoding information for the remainder of the generic arithmetic
ARM instructions.

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

13 years agoPR8359: The ARM backend may end up allocating registers D16 to D31 when
Bob Wilson [Tue, 12 Oct 2010 16:22:47 +0000 (16:22 +0000)]
PR8359: The ARM backend may end up allocating registers D16 to D31 when
"-mattr=+vfp3" is specified. However, this will not work for hardware that
only supports 16 registers.  Add a new flag to support -"mattr=+vfp3,+d16".
Patch by Jan Voung!

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

13 years agoRework alloca handling so that we can load or store from casted
Eric Christopher [Tue, 12 Oct 2010 05:39:06 +0000 (05:39 +0000)]
Rework alloca handling so that we can load or store from casted
address that we've looked through.

Fixes compilation problems in tramp3d from earlier patch.

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

13 years agoFix the last two commits to configure - configure is a generated file.
Eric Christopher [Tue, 12 Oct 2010 02:42:05 +0000 (02:42 +0000)]
Fix the last two commits to configure - configure is a generated file.
Made necessary edits to configure.ac and regenerated.

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

13 years agoHandle a wider arrangement of loads.
Eric Christopher [Tue, 12 Oct 2010 00:43:21 +0000 (00:43 +0000)]
Handle a wider arrangement of loads.

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

13 years agoFix spelling error.
Cameron Esfahani [Tue, 12 Oct 2010 00:21:05 +0000 (00:21 +0000)]
Fix spelling error.

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

13 years agoDelete a redundant check.
Dan Gohman [Tue, 12 Oct 2010 00:19:24 +0000 (00:19 +0000)]
Delete a redundant check.

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

13 years agoMore SmallVectorImpls.
Dan Gohman [Tue, 12 Oct 2010 00:15:27 +0000 (00:15 +0000)]
More SmallVectorImpls.

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

13 years agoShrink a SmallVector with a known maximum size.
Dan Gohman [Tue, 12 Oct 2010 00:13:43 +0000 (00:13 +0000)]
Shrink a SmallVector with a known maximum size.

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

13 years agoConstify.
Dan Gohman [Tue, 12 Oct 2010 00:12:29 +0000 (00:12 +0000)]
Constify.

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

13 years agoUse SmallVectorImpl in a bunch of places.
Dan Gohman [Tue, 12 Oct 2010 00:11:18 +0000 (00:11 +0000)]
Use SmallVectorImpl in a bunch of places.

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

13 years agoDisable warning C4267 for MSVC. Otherwise it generate literally thousands of warnings...
Francois Pichet [Tue, 12 Oct 2010 00:01:36 +0000 (00:01 +0000)]
Disable warning C4267 for MSVC. Otherwise it generate literally thousands of warnings when targeting x64. The warning occurs because int is 32 bit but size_t is 64 bit on Win64.

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

13 years agoAdd a simple testcase for tbaa.
Dan Gohman [Mon, 11 Oct 2010 23:54:13 +0000 (23:54 +0000)]
Add a simple testcase for tbaa.

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

13 years agoMore ARM scheduling itinerary fixes.
Evan Cheng [Mon, 11 Oct 2010 23:41:41 +0000 (23:41 +0000)]
More ARM scheduling itinerary fixes.

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

13 years agoSupport AA chaining.
Dan Gohman [Mon, 11 Oct 2010 23:39:34 +0000 (23:39 +0000)]
Support AA chaining.

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

13 years agoFix the pass manager's search order for immutable passes, and make it
Dan Gohman [Mon, 11 Oct 2010 23:19:01 +0000 (23:19 +0000)]
Fix the pass manager's search order for immutable passes, and make it
stop searching when it has found a match.

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

13 years agoMC machine encoding for simple aritmetic instructions that use a shifted
Jim Grosbach [Mon, 11 Oct 2010 23:16:21 +0000 (23:16 +0000)]
MC machine encoding for simple aritmetic instructions that use a shifted
register operand.

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

13 years agoSecond set of ARM/MC/ELF changes.
Jason W Kim [Mon, 11 Oct 2010 23:01:44 +0000 (23:01 +0000)]
Second set of ARM/MC/ELF changes.

Added ARM specific ELF section types.
Added AttributesSection to ARMElfTargetObject
First step in unifying .cpu assembly tag with ELF/.o
llc now asserts on actual ELF emission on -filetype=obj :-)

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

13 years agoClang's #include handling apparently doesn't work for libstdc++'s
Dan Gohman [Mon, 11 Oct 2010 22:30:59 +0000 (22:30 +0000)]
Clang's #include handling apparently doesn't work for libstdc++'s
fenv.h. See PR6907 for details. Work around this in FEnv.h to fix
the seflhost build.

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

13 years agoUnit Tests: Missed this error. MSVC and clang didn't complain.
Michael J. Spencer [Mon, 11 Oct 2010 22:04:38 +0000 (22:04 +0000)]
Unit Tests: Missed this error. MSVC and clang didn't complain.

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

13 years agoProper VST scheduling itineraries.
Evan Cheng [Mon, 11 Oct 2010 22:03:18 +0000 (22:03 +0000)]
Proper VST scheduling itineraries.

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

13 years agoUse a sane mechanism for that assert.
Eric Christopher [Mon, 11 Oct 2010 22:01:22 +0000 (22:01 +0000)]
Use a sane mechanism for that assert.

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

13 years agoSystem: Add SwapByteOrder and update Support/MathExtras.h to use it.
Michael J. Spencer [Mon, 11 Oct 2010 21:56:16 +0000 (21:56 +0000)]
System: Add SwapByteOrder and update Support/MathExtras.h to use it.

This time correctly.

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

13 years agoReplace FindLiveRangeContaining() with getVNInfoAt() in LiveIntervalAnalysis.
Jakob Stoklund Olesen [Mon, 11 Oct 2010 21:45:03 +0000 (21:45 +0000)]
Replace FindLiveRangeContaining() with getVNInfoAt() in LiveIntervalAnalysis.

This helps hiding the LiveRange class which really should be private.

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

13 years agoThe assert() should reference to machine instr operand number, too.
Jim Grosbach [Mon, 11 Oct 2010 21:41:31 +0000 (21:41 +0000)]
The assert() should reference to machine instr operand number, too.

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

13 years agoRevert "System: Add SwapByteOrder and update Support/MathExtras.h to use it."
Michael J. Spencer [Mon, 11 Oct 2010 21:39:24 +0000 (21:39 +0000)]
Revert "System: Add SwapByteOrder and update Support/MathExtras.h to use it."

This reverts commit 116234.

It compiled just fine with MSVC and clang...

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

13 years agoWe're not going to handle dynamic allocas anywhere else.
Eric Christopher [Mon, 11 Oct 2010 21:37:35 +0000 (21:37 +0000)]
We're not going to handle dynamic allocas anywhere else.

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

13 years agoChange explicit search Apple specific code to only reference __eprintf on x86.
Daniel Dunbar [Mon, 11 Oct 2010 21:34:24 +0000 (21:34 +0000)]
Change explicit search Apple specific code to only reference __eprintf on x86.

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

13 years agoMake sure to use the machine instruction operand number. It doesn't always
Jim Grosbach [Mon, 11 Oct 2010 21:31:22 +0000 (21:31 +0000)]
Make sure to use the machine instruction operand number. It doesn't always
map one-to-one with the CodeGenInstruction operand number.

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

13 years agoReduce dpendencies for SupportTests.
Michael J. Spencer [Mon, 11 Oct 2010 21:22:34 +0000 (21:22 +0000)]
Reduce dpendencies for SupportTests.

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

13 years agoSystem: Add SwapByteOrder and update Support/MathExtras.h to use it.
Michael J. Spencer [Mon, 11 Oct 2010 21:22:22 +0000 (21:22 +0000)]
System: Add SwapByteOrder and update Support/MathExtras.h to use it.

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

13 years agoMake sure that the call stack adjustments have default operands. Also
Eric Christopher [Mon, 11 Oct 2010 21:20:02 +0000 (21:20 +0000)]
Make sure that the call stack adjustments have default operands. Also
leave custom lowerings for later.

Fixes some nightly tests.

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

13 years agoPR8297
Andrew Trick [Mon, 11 Oct 2010 21:08:42 +0000 (21:08 +0000)]
PR8297

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

13 years agoPowerPC varargs functions store live-in registers on the stack. Make sure we use
Jakob Stoklund Olesen [Mon, 11 Oct 2010 20:43:09 +0000 (20:43 +0000)]
PowerPC varargs functions store live-in registers on the stack. Make sure we use
virtual registers for those stores since RegAllocFast requires that each live
physreg only be used once.

This fixes PR8357.

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

13 years agoFound a bug turning this on by default. Disable again for now.
Eric Christopher [Mon, 11 Oct 2010 20:26:21 +0000 (20:26 +0000)]
Found a bug turning this on by default. Disable again for now.

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

13 years agoRemove now non-existent option.
Eric Christopher [Mon, 11 Oct 2010 20:21:21 +0000 (20:21 +0000)]
Remove now non-existent option.

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

13 years agoFix help text.
Eric Christopher [Mon, 11 Oct 2010 20:15:02 +0000 (20:15 +0000)]
Fix help text.

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

13 years agoChange flag from Enable to Disable since we're enabled by default.
Eric Christopher [Mon, 11 Oct 2010 20:05:22 +0000 (20:05 +0000)]
Change flag from Enable to Disable since we're enabled by default.
Also don't use fast-isel on non-darwin since it's untested.

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

13 years agoAdd KillTheDoctor.
Michael J. Spencer [Mon, 11 Oct 2010 19:55:38 +0000 (19:55 +0000)]
Add KillTheDoctor.

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

13 years agotrailing whitespace cleanup
Jim Grosbach [Mon, 11 Oct 2010 19:38:01 +0000 (19:38 +0000)]
trailing whitespace cleanup

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

13 years agoFixes bug 8297: i386 cmpxchg8b, missing MachineMemOperand
Andrew Trick [Mon, 11 Oct 2010 19:02:04 +0000 (19:02 +0000)]
Fixes bug 8297: i386 cmpxchg8b, missing MachineMemOperand

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

13 years agoMore binary encoding stuff, taking advantage of the new "by name" operand
Jim Grosbach [Mon, 11 Oct 2010 18:51:51 +0000 (18:51 +0000)]
More binary encoding stuff, taking advantage of the new "by name" operand
matching in tblgen to do the predicate operand.

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

13 years agoTurn on arm fast isel by default.
Eric Christopher [Mon, 11 Oct 2010 18:48:18 +0000 (18:48 +0000)]
Turn on arm fast isel by default.

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

13 years agoWhen figuring out which operands match which encoding fields in an instruction,
Jim Grosbach [Mon, 11 Oct 2010 18:25:51 +0000 (18:25 +0000)]
When figuring out which operands match which encoding fields in an instruction,
try to match them by name first. If there is no by-name match, fall back to
assuming they are in order (this was the previous behavior).

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

13 years agoProperly handle reloading and spilling around partial redefines in
Jakob Stoklund Olesen [Mon, 11 Oct 2010 18:10:36 +0000 (18:10 +0000)]
Properly handle reloading and spilling around partial redefines in
LocalRewriter.

This is a bit of a hack that adds an implicit use operand to model the
read-modify-write nature of a partial redef. Uses and defs are rewritten in
separate passes, and a single operand would never be processed twice.

<rdar://problem/8518892>

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

13 years agoremove dead prototype, PR8351
Chris Lattner [Mon, 11 Oct 2010 17:44:22 +0000 (17:44 +0000)]
remove dead prototype, PR8351

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

13 years agoMSVC hangs on compilation of ARMDisassembler.cpp. PR6866 applied to ARM target.
Francois Pichet [Mon, 11 Oct 2010 11:36:19 +0000 (11:36 +0000)]
MSVC hangs on compilation of ARMDisassembler.cpp. PR6866 applied to ARM target.

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

13 years agoCopy and pasteo.
Eric Christopher [Mon, 11 Oct 2010 08:40:05 +0000 (08:40 +0000)]
Copy and pasteo.

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

13 years agoWhitespace cleanup in ARM fast isel.
Eric Christopher [Mon, 11 Oct 2010 08:38:55 +0000 (08:38 +0000)]
Whitespace cleanup in ARM fast isel.

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

13 years agoAdd srem libcall support to ARM fast isel.
Eric Christopher [Mon, 11 Oct 2010 08:37:26 +0000 (08:37 +0000)]
Add srem libcall support to ARM fast isel.

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

13 years agoAdd i8 sdiv support for ARM fast isel.
Eric Christopher [Mon, 11 Oct 2010 08:31:54 +0000 (08:31 +0000)]
Add i8 sdiv support for ARM fast isel.

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

13 years agoImplement select handling for ARM fast-isel.
Eric Christopher [Mon, 11 Oct 2010 08:27:59 +0000 (08:27 +0000)]
Implement select handling for ARM fast-isel.

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

13 years agotweak comment.
Chris Lattner [Mon, 11 Oct 2010 05:48:00 +0000 (05:48 +0000)]
tweak comment.

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

13 years agoPer discussion with Sanjiv, remove the PIC16 target from mainline. When/if
Chris Lattner [Mon, 11 Oct 2010 05:44:40 +0000 (05:44 +0000)]
Per discussion with Sanjiv, remove the PIC16 target from mainline.  When/if
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.

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

13 years agoX86: Call ulldiv and ftol2 on Windows instead of their libgcc eqivilents.
Michael J. Spencer [Mon, 11 Oct 2010 05:29:15 +0000 (05:29 +0000)]
X86: Call ulldiv and ftol2 on Windows instead of their libgcc eqivilents.

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

13 years agoX86: MinGW should always use libgcc on Windows.
Michael J. Spencer [Sun, 10 Oct 2010 23:11:06 +0000 (23:11 +0000)]
X86: MinGW should always use libgcc on Windows.

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

13 years agoX86: Call _alldiv instead of __divdi3 on Windows (excluding cygwin).
Michael J. Spencer [Sun, 10 Oct 2010 22:04:34 +0000 (22:04 +0000)]
X86: Call _alldiv instead of __divdi3 on Windows (excluding cygwin).

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

13 years agoFix Whitespace.
Michael J. Spencer [Sun, 10 Oct 2010 22:04:20 +0000 (22:04 +0000)]
Fix Whitespace.

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

13 years agoforce a triple, varargs isn't supported with the SVR4 ABI the buildbot tells me.
Chris Lattner [Sun, 10 Oct 2010 18:59:01 +0000 (18:59 +0000)]
force a triple, varargs isn't supported with the SVR4 ABI the buildbot tells me.

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

13 years agofix the default va_arg expansion (in the realignment case) to not implicitly
Chris Lattner [Sun, 10 Oct 2010 18:36:26 +0000 (18:36 +0000)]
fix the default va_arg expansion (in the realignment case) to not implicitly
truncate the stack pointer to 32-bits on a 64-bit machine.

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

13 years agofix the expansion of va_arg instruction on PPC to know the arg
Chris Lattner [Sun, 10 Oct 2010 18:34:00 +0000 (18:34 +0000)]
fix the expansion of va_arg instruction on PPC to know the arg
alignment for PPC32/64, avoiding some masking operations.

llvm-gcc expands vaarg inline instead of using the instruction
so it has never hit this.

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

13 years agoclarify that zero sized vectors are illegal, PR8340
Chris Lattner [Sun, 10 Oct 2010 18:20:35 +0000 (18:20 +0000)]
clarify that zero sized vectors are illegal, PR8340

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

13 years agoNow using a variant of the existing inlining heuristics to decide whether to create...
Kenneth Uildriks [Sat, 9 Oct 2010 22:06:36 +0000 (22:06 +0000)]
Now using a variant of the existing inlining heuristics to decide whether to create a given specialization of a function in PartialSpecialization.  If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization.

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

13 years agoFix dead link.
Nick Lewycky [Sat, 9 Oct 2010 21:12:29 +0000 (21:12 +0000)]
Fix dead link.

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

13 years agoSilence compiler warning.
Benjamin Kramer [Sat, 9 Oct 2010 16:36:44 +0000 (16:36 +0000)]
Silence compiler warning.

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

13 years agoMC-COFF: Fix .bss section size. Fixes PR8335. Patch by NAKAMUTA Takumi!
Michael J. Spencer [Sat, 9 Oct 2010 16:04:45 +0000 (16:04 +0000)]
MC-COFF: Fix .bss section size. Fixes PR8335. Patch by NAKAMUTA Takumi!

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

13 years agoDon't test a removed function.
Benjamin Kramer [Sat, 9 Oct 2010 15:53:25 +0000 (15:53 +0000)]
Don't test a removed function.

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

13 years agosyntax-highlighting: Fix module asm keyword.
Michael J. Spencer [Sat, 9 Oct 2010 15:44:36 +0000 (15:44 +0000)]
syntax-highlighting: Fix module asm keyword.

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

13 years agoMC-COFF: Implement InitSections. Fixes PR8335.
Michael J. Spencer [Sat, 9 Oct 2010 15:44:27 +0000 (15:44 +0000)]
MC-COFF: Implement InitSections. Fixes PR8335.

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

13 years agoMC-COFF: Add COFFAsmParser. Completes PR8343.
Michael J. Spencer [Sat, 9 Oct 2010 11:01:07 +0000 (11:01 +0000)]
MC-COFF: Add COFFAsmParser. Completes PR8343.

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

13 years agoFix Whitespace.
Michael J. Spencer [Sat, 9 Oct 2010 11:00:50 +0000 (11:00 +0000)]
Fix Whitespace.

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

13 years agoMC-COFF: Assert on non-coff sections.
Michael J. Spencer [Sat, 9 Oct 2010 11:00:37 +0000 (11:00 +0000)]
MC-COFF: Assert on non-coff sections.

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

13 years agoAdd Kate syntax highlighting files.
Michael J. Spencer [Sat, 9 Oct 2010 07:11:04 +0000 (07:11 +0000)]
Add Kate syntax highlighting files.

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

13 years agoAdd VLD4 scheduling itineraries.
Evan Cheng [Sat, 9 Oct 2010 04:07:58 +0000 (04:07 +0000)]
Add VLD4 scheduling itineraries.

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

13 years agoMC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for something else.
Michael J. Spencer [Sat, 9 Oct 2010 03:47:55 +0000 (03:47 +0000)]
MC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for something else.

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

13 years agoFinish vld3 and vld4.
Evan Cheng [Sat, 9 Oct 2010 01:45:34 +0000 (01:45 +0000)]
Finish vld3 and vld4.

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

13 years agoComplete vld2 instruction itineries.
Evan Cheng [Sat, 9 Oct 2010 01:26:12 +0000 (01:26 +0000)]
Complete vld2 instruction itineries.

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

13 years agoMultiply instructions are issued on pipeline 0. They do not need to reserve pipeline 1.
Evan Cheng [Sat, 9 Oct 2010 01:15:04 +0000 (01:15 +0000)]
Multiply instructions are issued on pipeline 0. They do not need to reserve pipeline 1.

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

13 years agoCorrect some load / store instruction itinerary mistakes:
Evan Cheng [Sat, 9 Oct 2010 01:03:04 +0000 (01:03 +0000)]
Correct some load / store instruction itinerary mistakes:
1. Cortex-A8 load / store multiplies can only issue on ALU0.
2. Eliminate A8_Issue, A8_LSPipe will correctly limit the load / store issues.
3. Correctly model all vld1 and vld2 variants.

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

13 years agoSimplify test and move into a generic "crash" ll file.
Bill Wendling [Sat, 9 Oct 2010 00:29:04 +0000 (00:29 +0000)]
Simplify test and move into a generic "crash" ll file.

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

13 years agoCheck to make sure that the iterator isn't at the beginning of the basic block
Bill Wendling [Sat, 9 Oct 2010 00:03:48 +0000 (00:03 +0000)]
Check to make sure that the iterator isn't at the beginning of the basic block
before decrementing. <rdar://problem/8529919>

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

13 years agoadd jit support for the new psuedo instructions I added for
Chris Lattner [Fri, 8 Oct 2010 23:59:27 +0000 (23:59 +0000)]
add jit support for the new psuedo instructions I added for
the add/or xform.  The JIT isn't mcized yet, boo.

This fixes Olden/voronoi, bh and a ton of other stuff that
uses the jit.

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

13 years agomachine a mutable machineinstr down into emitInstruction.
Chris Lattner [Fri, 8 Oct 2010 23:54:01 +0000 (23:54 +0000)]
machine a mutable machineinstr down into emitInstruction.

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

13 years agoFix the store part of this as well. Fixes smg2000.
Eric Christopher [Fri, 8 Oct 2010 23:52:16 +0000 (23:52 +0000)]
Fix the store part of this as well.  Fixes smg2000.

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

13 years agoRename SplitEditor::rewrite to finish() and break it out into a couple of new
Jakob Stoklund Olesen [Fri, 8 Oct 2010 23:42:21 +0000 (23:42 +0000)]
Rename SplitEditor::rewrite to finish() and break it out into a couple of new
functions: computeRemainder and rewrite.

When the remainder breaks up into multiple components, remember to rewrite those
uses as well.

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

13 years agoAvoid compiler warning: comparison between signed and unsigned integer.
Evan Cheng [Fri, 8 Oct 2010 23:01:57 +0000 (23:01 +0000)]
Avoid compiler warning: comparison between signed and unsigned integer.

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

13 years agoExtract method ProcessUses from LocalRewriter::RewriteMBB. Both parent and child
Jakob Stoklund Olesen [Fri, 8 Oct 2010 22:14:41 +0000 (22:14 +0000)]
Extract method ProcessUses from LocalRewriter::RewriteMBB. Both parent and child
are still way too long, but it's a start.

No functional change intended.

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

13 years agoDo not check that the bodies of two defs of same linkonce global are the same.
Anton Korobeynikov [Fri, 8 Oct 2010 21:50:04 +0000 (21:50 +0000)]
Do not check that the bodies of two defs of same linkonce global are the same.
Such a check does not make any sense in presense of inlining and other compiler-dependent stuff.
This should fix bunch of warnings on mingw32.

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

13 years agoImplement a few more binary encoding bits. Still very early stage proof-of-
Jim Grosbach [Fri, 8 Oct 2010 21:45:55 +0000 (21:45 +0000)]
Implement a few more binary encoding bits. Still very early stage proof-of-
concept level stuff at this point, but it is generally working for those
instructions that know how to map the operands.

This patch fills in the register operands for add/sub/or/etc instructions
and adds the conditional execution predicate encoding.

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

13 years agoAllow << streaming of MCOperand.
Jim Grosbach [Fri, 8 Oct 2010 21:36:13 +0000 (21:36 +0000)]
Allow << streaming of MCOperand.

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

13 years agoClassify value numbers into connected components in linear time.
Jakob Stoklund Olesen [Fri, 8 Oct 2010 21:19:28 +0000 (21:19 +0000)]
Classify value numbers into connected components in linear time.

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

13 years agoCall InitSections in llc and clang so that the binaries produced by them
Rafael Espindola [Fri, 8 Oct 2010 19:37:38 +0000 (19:37 +0000)]
Call InitSections in llc and clang so that the binaries produced by them
are easier to diff with those produced by llvm-mc.

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