oota-llvm.git
13 years agoRegionInfo: Allow to update exit and entry of a region.
Tobias Grosser [Wed, 13 Oct 2010 05:54:10 +0000 (05:54 +0000)]
RegionInfo: Allow to update exit and entry of a region.

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

13 years agoRegionInfo: Enhance addSubregion.
Tobias Grosser [Wed, 13 Oct 2010 05:54:09 +0000 (05:54 +0000)]
RegionInfo: Enhance addSubregion.

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

13 years agoRegionInfo: Allow to set the parent region of a basic block.
Tobias Grosser [Wed, 13 Oct 2010 05:54:07 +0000 (05:54 +0000)]
RegionInfo: Allow to set the parent region of a basic block.

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

13 years agoFix PR8313 by changing ValueToValueMap use a TrackingVH.
Rafael Espindola [Wed, 13 Oct 2010 02:08:17 +0000 (02:08 +0000)]
Fix PR8313 by changing ValueToValueMap use a TrackingVH.

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

13 years agoLimit load / store issues (at least until we have a true multi-issue aware scheduler).
Evan Cheng [Wed, 13 Oct 2010 01:54:21 +0000 (01:54 +0000)]
Limit load / store issues (at least until we have a true multi-issue aware scheduler).

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

13 years agoBe more consistent in using ValueToValueMapTy.
Rafael Espindola [Wed, 13 Oct 2010 01:36:30 +0000 (01:36 +0000)]
Be more consistent in using ValueToValueMapTy.

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

13 years agoAdd encodings for VNEG and VSQRT. Also add encodings for VMOV, but not a test
Bill Wendling [Wed, 13 Oct 2010 01:17:33 +0000 (01:17 +0000)]
Add encodings for VNEG and VSQRT. Also add encodings for VMOV, but not a test
just yet.

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

13 years agoAdd encodings for VCVT instructions.
Bill Wendling [Wed, 13 Oct 2010 00:56:35 +0000 (00:56 +0000)]
Add encodings for VCVT instructions.

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

13 years agoAdd ARM encoding information for comparisons, forced-cc-out arithmetics, and
Jim Grosbach [Wed, 13 Oct 2010 00:50:27 +0000 (00:50 +0000)]
Add ARM encoding information for comparisons, forced-cc-out arithmetics, and
arithmetic-with-carry-in instructions.

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

13 years agoAdd VCMPZ and VABS.
Bill Wendling [Wed, 13 Oct 2010 00:38:07 +0000 (00:38 +0000)]
Add VCMPZ and VABS.

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

13 years agoRegionInfo: Free the RegionNodes in cache.
Tobias Grosser [Wed, 13 Oct 2010 00:07:59 +0000 (00:07 +0000)]
RegionInfo: Free the RegionNodes in cache.

Contributed by: ether

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

13 years agoRefactor VCMP instructions.
Bill Wendling [Wed, 13 Oct 2010 00:04:29 +0000 (00:04 +0000)]
Refactor VCMP instructions.

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

13 years agoAdd the rest of the ARM so_reg encoding options (register shifted register)
Jim Grosbach [Tue, 12 Oct 2010 23:53:58 +0000 (23:53 +0000)]
Add the rest of the ARM so_reg encoding options (register shifted register)
and move to a custom operand encoder. Remove the last of the special handling
stuff from ARMMCCodeEmitter::EncodeInstruction.

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

13 years agoFileCheckize this in a hope to quiet a valgrind warning on grep.
Eric Christopher [Tue, 12 Oct 2010 23:47:58 +0000 (23:47 +0000)]
FileCheckize this in a hope to quiet a valgrind warning on grep.

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

13 years agoAdd encodings for VNMUL[SD].
Bill Wendling [Tue, 12 Oct 2010 23:47:37 +0000 (23:47 +0000)]
Add encodings for VNMUL[SD].

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

13 years agoAdd encodings for VDIV and VMUL.
Bill Wendling [Tue, 12 Oct 2010 23:22:27 +0000 (23:22 +0000)]
Add encodings for VDIV and VMUL.

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

13 years agoTurn some fp stackifier assertion into errors to avoid silently generating bad code...
Evan Cheng [Tue, 12 Oct 2010 23:19:28 +0000 (23:19 +0000)]
Turn some fp stackifier assertion into errors to avoid silently generating bad code when assertions are off. rdar://8540457.

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

13 years agoMove the ARM so_imm encoding into a custom operand encoder and remove the
Jim Grosbach [Tue, 12 Oct 2010 23:18:08 +0000 (23:18 +0000)]
Move the ARM so_imm encoding into a custom operand encoder and remove the
explicit handling of the instructions referencing it from the MC code
emitter.

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

13 years agoBe nitpicky and line up the comments.
Jim Grosbach [Tue, 12 Oct 2010 23:14:03 +0000 (23:14 +0000)]
Be nitpicky and line up the comments.

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

13 years agoRefactor some of the encoding logic into a base class. This keeps us from having
Bill Wendling [Tue, 12 Oct 2010 23:06:54 +0000 (23:06 +0000)]
Refactor some of the encoding logic into a base class. This keeps us from having
to add 10+ lines to every instruction.

It may turn out that we can move this base class into it's parent class.

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

13 years agoAdd custom encoder for the 's' bit denoting whether an ARM arithmetic
Jim Grosbach [Tue, 12 Oct 2010 23:00:24 +0000 (23:00 +0000)]
Add custom encoder for the 's' bit denoting whether an ARM arithmetic
instruction should set the processor status flags or not. Remove the now
unnecessary special handling for the bit from the MCCodeEmitter.

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

13 years agoAdd encoding for VSUB and VCMP.
Bill Wendling [Tue, 12 Oct 2010 22:55:35 +0000 (22:55 +0000)]
Add encoding for VSUB and VCMP.

Fear not! I'm going to try a refactoring right now. :)

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

13 years agoDon't need to specify calling convention. Add 'readnone' to functions.
Bill Wendling [Tue, 12 Oct 2010 22:24:10 +0000 (22:24 +0000)]
Don't need to specify calling convention. Add 'readnone' to functions.

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

13 years agoAllow targets to optionally specify custom binary encoder functions for
Jim Grosbach [Tue, 12 Oct 2010 22:21:57 +0000 (22:21 +0000)]
Allow targets to optionally specify custom binary encoder functions for
operand values. This is useful for operands which require additional trickery
to encode into the instruction. For example, the ARM shifted immediate and
shifted register operands.

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

13 years agoEncoding for VADDD. Plus a test for the VFP instructions.
Bill Wendling [Tue, 12 Oct 2010 22:08:41 +0000 (22:08 +0000)]
Encoding for VADDD. Plus a test for the VFP instructions.

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

13 years agoSplit out the "size" field from the encoding. The newer documentation has it as
Bill Wendling [Tue, 12 Oct 2010 22:03:19 +0000 (22:03 +0000)]
Split out the "size" field from the encoding. The newer documentation has it as
a separate bit in the coding.

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

13 years agoFix thinko in arm fast isel alloca rewrite.
Eric Christopher [Tue, 12 Oct 2010 21:23:43 +0000 (21:23 +0000)]
Fix thinko in arm fast isel alloca rewrite.

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

13 years agoEncoding for ARM-mode VADD.F32 instruction.
Jim Grosbach [Tue, 12 Oct 2010 21:22:40 +0000 (21:22 +0000)]
Encoding for ARM-mode VADD.F32 instruction.

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

13 years agoBegin adding static dependence information to passes, which will allow us to
Owen Anderson [Tue, 12 Oct 2010 19:48:12 +0000 (19:48 +0000)]
Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client.  For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve.  I hope to be able to relax
the latter requirement in the future.

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

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