oota-llvm.git
13 years agotwo changes to DSE that shouldn't affect anything:
Chris Lattner [Tue, 30 Nov 2010 00:01:19 +0000 (00:01 +0000)]
two changes to DSE that shouldn't affect anything:

1. Don't bother trying to optimize:

lifetime.end(ptr)
store(ptr)

as it is undefined, and therefore shouldn't exist.

2. Move the 'storing a loaded pointer' xform up, simplifying
  the may-aliased store code.

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

13 years agoFix the encoding of VLD4-dup alignment.
Bob Wilson [Tue, 30 Nov 2010 00:00:42 +0000 (00:00 +0000)]
Fix the encoding of VLD4-dup alignment.
The only reasonable way I could find to do this is to provide an alternate
version of the addrmode6 operand with a different encoding function.  Use it
for all the VLD-dup instructions for the sake of consistency.

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

13 years agoRename VLDnDUP instructions with double-spaced registers
Bob Wilson [Tue, 30 Nov 2010 00:00:38 +0000 (00:00 +0000)]
Rename VLDnDUP instructions with double-spaced registers
in an attempt to make things a little more consistent.

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

13 years agoAdd support for NEON VLD3-dup instructions.
Bob Wilson [Tue, 30 Nov 2010 00:00:35 +0000 (00:00 +0000)]
Add support for NEON VLD3-dup instructions.
The encoding for alignment in VLD4-dup instructions is still a work in progress.

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

13 years agoSimplify definitions of the ARM eh.sjlj.*jmp pseudo instructions.
Jim Grosbach [Mon, 29 Nov 2010 23:51:31 +0000 (23:51 +0000)]
Simplify definitions of the ARM eh.sjlj.*jmp pseudo instructions.

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

13 years agoParameterize ARMPseudoInst size property.
Jim Grosbach [Mon, 29 Nov 2010 23:48:41 +0000 (23:48 +0000)]
Parameterize ARMPseudoInst size property.

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

13 years agoAdd a few missing initializers.
Jim Grosbach [Mon, 29 Nov 2010 23:41:10 +0000 (23:41 +0000)]
Add a few missing initializers.

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

13 years agoSupport/PathV2: Fix 80 col.
Michael J. Spencer [Mon, 29 Nov 2010 23:35:49 +0000 (23:35 +0000)]
Support/PathV2: Fix 80 col.

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

13 years agoSupport/PathV2: Update comments.
Michael J. Spencer [Mon, 29 Nov 2010 23:35:35 +0000 (23:35 +0000)]
Support/PathV2: Update comments.

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

13 years agoprune an llvmcontext include and simplify some code.
Chris Lattner [Mon, 29 Nov 2010 23:35:33 +0000 (23:35 +0000)]
prune an llvmcontext include and simplify some code.

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

13 years agoGeneralize the darwin wrapper hack to work with generic macho triples as well as...
Chris Lattner [Mon, 29 Nov 2010 23:29:54 +0000 (23:29 +0000)]
Generalize the darwin wrapper hack to work with generic macho triples as well as darwin ones.

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

13 years agoNuke trailing whitespace.
Jim Grosbach [Mon, 29 Nov 2010 23:18:01 +0000 (23:18 +0000)]
Nuke trailing whitespace.

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

13 years agoNuke a FIXME. No need to be fancier here, as ARM handles constant pools
Jim Grosbach [Mon, 29 Nov 2010 23:09:20 +0000 (23:09 +0000)]
Nuke a FIXME. No need to be fancier here, as ARM handles constant pools
locations and formatting specially. rdar://7353441

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

13 years agoconvert llvm-ar and llvm-ranlib to raw_ostream from iostreams.
Chris Lattner [Mon, 29 Nov 2010 23:02:20 +0000 (23:02 +0000)]
convert llvm-ar and llvm-ranlib to raw_ostream from iostreams.
Patch by Danil Malyshev!

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

13 years agoProvide Thumb2 encodings for basic loads and stores.
Owen Anderson [Mon, 29 Nov 2010 22:44:32 +0000 (22:44 +0000)]
Provide Thumb2 encodings for basic loads and stores.

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

13 years agoMark Darwin call instructions as using "r7" to prevent the frame-register
Evan Cheng [Mon, 29 Nov 2010 22:43:27 +0000 (22:43 +0000)]
Mark Darwin call instructions as using "r7" to prevent the frame-register
assignment instructions from being moved below / above calls.
rdar://8690640

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

13 years agoNuke dead isCodeGenOnly annotation and extraneous comment.
Jim Grosbach [Mon, 29 Nov 2010 22:40:58 +0000 (22:40 +0000)]
Nuke dead isCodeGenOnly annotation and extraneous comment.

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

13 years agoAdd missing colon.
Benjamin Kramer [Mon, 29 Nov 2010 22:39:38 +0000 (22:39 +0000)]
Add missing colon.

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

13 years agotidy up.
Jim Grosbach [Mon, 29 Nov 2010 22:38:48 +0000 (22:38 +0000)]
tidy up.

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

13 years agoThumb encodings for conditional moves.
Bill Wendling [Mon, 29 Nov 2010 22:37:46 +0000 (22:37 +0000)]
Thumb encodings for conditional moves.

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

13 years agoPseudo-ize Thumb2 jump tables with explicit MC lowering to the raw
Jim Grosbach [Mon, 29 Nov 2010 22:37:40 +0000 (22:37 +0000)]
Pseudo-ize Thumb2 jump tables with explicit MC lowering to the raw
instructions. This simplifies instruction printing and disassembly.

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

13 years agoFix some broken CHECK lines.
Benjamin Kramer [Mon, 29 Nov 2010 22:34:55 +0000 (22:34 +0000)]
Fix some broken CHECK lines.

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

13 years agounittests: Merge SystemTests back into SupportTests.
Michael J. Spencer [Mon, 29 Nov 2010 22:29:04 +0000 (22:29 +0000)]
unittests: Merge SystemTests back into SupportTests.

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

13 years agoSupport: Add PathV2 implementation.
Michael J. Spencer [Mon, 29 Nov 2010 22:28:51 +0000 (22:28 +0000)]
Support: Add PathV2 implementation.

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

13 years agosystem_error: Remove Windows headers.
Michael J. Spencer [Mon, 29 Nov 2010 22:28:32 +0000 (22:28 +0000)]
system_error: Remove Windows headers.

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

13 years agoSupport/PathV2: Just about every function call requires the Twine header.
Michael J. Spencer [Mon, 29 Nov 2010 22:28:22 +0000 (22:28 +0000)]
Support/PathV2: Just about every function call requires the Twine header.

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

13 years agoRefactor some of the "disassembly-only" instructions into a base class. This
Bill Wendling [Mon, 29 Nov 2010 22:15:03 +0000 (22:15 +0000)]
Refactor some of the "disassembly-only" instructions into a base class. This
reduces some code duplication.

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

13 years agofix PR8677, patch by Jakub Staszak!
Chris Lattner [Mon, 29 Nov 2010 21:59:31 +0000 (21:59 +0000)]
fix PR8677, patch by Jakub Staszak!

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

13 years agoUpdate fastisel for the changes in r120272.
Eric Christopher [Mon, 29 Nov 2010 21:56:23 +0000 (21:56 +0000)]
Update fastisel for the changes in r120272.

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

13 years agoTransform (extractvalue (load P), ...) to (load (gep P, 0, ...)) if the load has...
Frits van Bommel [Mon, 29 Nov 2010 21:56:20 +0000 (21:56 +0000)]
Transform (extractvalue (load P), ...) to (load (gep P, 0, ...)) if the load has no other uses, shrinking the load.

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

13 years agoRename t2 TBB and TBH instructions to reference that they encode the jump table
Jim Grosbach [Mon, 29 Nov 2010 21:28:32 +0000 (21:28 +0000)]
Rename t2 TBB and TBH instructions to reference that they encode the jump table
data. Next up, pseudo-izing them.

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

13 years agoUpdate this test to keep testing the -instcombine transform it's supposed to be testi...
Frits van Bommel [Mon, 29 Nov 2010 20:55:40 +0000 (20:55 +0000)]
Update this test to keep testing the -instcombine transform it's supposed to be testing instead of triggering the improved constant folding for insertvalue and extractvalue.

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

13 years agoImproving the factoring of several instruction encodings.
Owen Anderson [Mon, 29 Nov 2010 20:38:48 +0000 (20:38 +0000)]
Improving the factoring of several instruction encodings.

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

13 years agoTeach ConstantFoldInstruction() how to fold insertvalue and extractvalue.
Frits van Bommel [Mon, 29 Nov 2010 20:36:52 +0000 (20:36 +0000)]
Teach ConstantFoldInstruction() how to fold insertvalue and extractvalue.

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

13 years agoNow to chant the magical incantation that will exorcise the System library
Charles Davis [Mon, 29 Nov 2010 19:44:50 +0000 (19:44 +0000)]
Now to chant the magical incantation that will exorcise the System library
from LLVM forever:

grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g'

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

13 years agoRemove empty directories.
Benjamin Kramer [Mon, 29 Nov 2010 19:36:46 +0000 (19:36 +0000)]
Remove empty directories.

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

13 years agoAdd support for NEON VLD3-dup instructions.
Bob Wilson [Mon, 29 Nov 2010 19:35:29 +0000 (19:35 +0000)]
Add support for NEON VLD3-dup instructions.

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

13 years agoFix copy-and-paste errors in VLD2-dup scheduling itineraries.
Bob Wilson [Mon, 29 Nov 2010 19:35:23 +0000 (19:35 +0000)]
Fix copy-and-paste errors in VLD2-dup scheduling itineraries.

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

13 years agoARM Pseudo-ize tBR_JTr.
Jim Grosbach [Mon, 29 Nov 2010 19:32:47 +0000 (19:32 +0000)]
ARM Pseudo-ize tBR_JTr.

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

13 years agoThumb2 encodings for MSR and MRS.
Owen Anderson [Mon, 29 Nov 2010 19:29:15 +0000 (19:29 +0000)]
Thumb2 encodings for MSR and MRS.

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

13 years agoUpdate library dependencies changed in the System -> Support merge.
Michael J. Spencer [Mon, 29 Nov 2010 19:28:48 +0000 (19:28 +0000)]
Update library dependencies changed in the System -> Support merge.

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

13 years agoThumb2 encodings for system instructions.
Owen Anderson [Mon, 29 Nov 2010 19:22:08 +0000 (19:22 +0000)]
Thumb2 encodings for system instructions.

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

13 years agoThumb2 encodings for branches and IT blocks.
Owen Anderson [Mon, 29 Nov 2010 18:54:38 +0000 (18:54 +0000)]
Thumb2 encodings for branches and IT blocks.

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

13 years agoThe ARM BR_JT* pseudos don't need to use the printer jtblock_operand node to
Jim Grosbach [Mon, 29 Nov 2010 18:53:24 +0000 (18:53 +0000)]
The ARM BR_JT* pseudos don't need to use the printer jtblock_operand node to
get the pretty-printer. That's handled explicityly by the MC lowering now.

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

13 years agoI swear I did a make clean and make before committing all this...
Michael J. Spencer [Mon, 29 Nov 2010 18:47:54 +0000 (18:47 +0000)]
I swear I did a make clean and make before committing all this...

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

13 years agoSwitch ARM BR_JTm and BR_JTr instructions to be MC-expanded pseudos.
Jim Grosbach [Mon, 29 Nov 2010 18:37:44 +0000 (18:37 +0000)]
Switch ARM BR_JTm and BR_JTr instructions to be MC-expanded pseudos.

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

13 years agoMissed another one.
Michael J. Spencer [Mon, 29 Nov 2010 18:33:08 +0000 (18:33 +0000)]
Missed another one.

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

13 years agoMissed a spot.
Michael J. Spencer [Mon, 29 Nov 2010 18:29:55 +0000 (18:29 +0000)]
Missed a spot.

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

13 years agoMerge System into Support.
Michael J. Spencer [Mon, 29 Nov 2010 18:16:10 +0000 (18:16 +0000)]
Merge System into Support.

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

13 years agoHandle lshr for i128 correctly on SPU also when
Kalle Raiskila [Mon, 29 Nov 2010 14:44:28 +0000 (14:44 +0000)]
Handle lshr for i128 correctly on SPU also when
shiftamount > 7.

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

13 years agoEnable PostRA scheduling for SPU.
Kalle Raiskila [Mon, 29 Nov 2010 10:30:25 +0000 (10:30 +0000)]
Enable PostRA scheduling for SPU.
This speeds up selected test cases with up to
5% - no slowdowns observed.

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

13 years agoAllow machine LICM to do its job on SPU.
Kalle Raiskila [Mon, 29 Nov 2010 10:08:09 +0000 (10:08 +0000)]
Allow machine LICM to do its job on SPU.
-return a sensible value for register pressure
-add pattern to 'ila' instrucion

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

13 years agoAdd missing i128 case.
Kalle Raiskila [Mon, 29 Nov 2010 09:36:26 +0000 (09:36 +0000)]
Add missing i128 case.

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

13 years agotools/Makefile: Don't look into $(TARGET_OS), but $(HOST_OS), to inspect availability...
NAKAMURA Takumi [Mon, 29 Nov 2010 08:58:11 +0000 (08:58 +0000)]
tools/Makefile: Don't look into $(TARGET_OS), but $(HOST_OS), to inspect availability of loadable module!

The last commit made run.build.step.test_llvm_1 to fail.

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

13 years agotest: Check the feature 'loadable_module' with load modules in %llvmshlibdir.
NAKAMURA Takumi [Mon, 29 Nov 2010 07:58:32 +0000 (07:58 +0000)]
test: Check the feature 'loadable_module' with load modules in %llvmshlibdir.

%llvmshlibdir should be 'bin' on Cygming.

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

13 years agoAdd some dead stores to pacify my least favorite GCC warning: may be
Chandler Carruth [Mon, 29 Nov 2010 01:41:13 +0000 (01:41 +0000)]
Add some dead stores to pacify my least favorite GCC warning: may be
uninitialized. The warning is terrible, has incorrect source locations, and has
a huge false positive rate such as *all* of these.

If anyone has a better solution, please let me know. Alternatively, I'll
happily add -Wno-uninitialized to the -Werror build mode. Maybe I can even do
it *only* when building with GCC instead of Clang.

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

13 years agoAdd more Thumb encodings.
Bill Wendling [Mon, 29 Nov 2010 01:07:48 +0000 (01:07 +0000)]
Add more Thumb encodings.

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

13 years agoMore Thumb encodings.
Bill Wendling [Mon, 29 Nov 2010 01:00:43 +0000 (01:00 +0000)]
More Thumb encodings.

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

13 years agoAdd Thumb encodings for REV instructions.
Bill Wendling [Mon, 29 Nov 2010 00:42:50 +0000 (00:42 +0000)]
Add Thumb encodings for REV instructions.

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

13 years agotools/Makefile: Fix indentation.
NAKAMURA Takumi [Mon, 29 Nov 2010 00:20:34 +0000 (00:20 +0000)]
tools/Makefile: Fix indentation.

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

13 years agotools/Makefile: Enable building lto, edis and bugpoint-passes on Cygming.
NAKAMURA Takumi [Mon, 29 Nov 2010 00:20:28 +0000 (00:20 +0000)]
tools/Makefile: Enable building lto, edis and bugpoint-passes on Cygming.

bugpoint-passes would be built with ENABLE_SHARED=1.
You could try building gold on Cygming, though, it would fail.

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

13 years agotest: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not...
NAKAMURA Takumi [Mon, 29 Nov 2010 00:20:21 +0000 (00:20 +0000)]
test: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not in lib/ but bin.

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

13 years agotest: Add the new feature 'loadable_module'.
NAKAMURA Takumi [Mon, 29 Nov 2010 00:20:09 +0000 (00:20 +0000)]
test: Add the new feature 'loadable_module'.

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

13 years agoAdd more Thumb encodings.
Bill Wendling [Mon, 29 Nov 2010 00:18:15 +0000 (00:18 +0000)]
Add more Thumb encodings.

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

13 years agoMake EmitIntValue non virtual.
Rafael Espindola [Sun, 28 Nov 2010 23:22:44 +0000 (23:22 +0000)]
Make EmitIntValue non virtual.

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

13 years agoForgot the MCPureStreamer::EmitValue in the previous commit.
Rafael Espindola [Sun, 28 Nov 2010 23:13:47 +0000 (23:13 +0000)]
Forgot the MCPureStreamer::EmitValue in the previous commit.

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

13 years agoMove EmitValue to MCObjectStreamer.
Rafael Espindola [Sun, 28 Nov 2010 23:08:47 +0000 (23:08 +0000)]
Move EmitValue to MCObjectStreamer.

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

13 years agoDon't use std::copy and std::copy_backward, run 10% faster.
Jakob Stoklund Olesen [Sun, 28 Nov 2010 22:17:14 +0000 (22:17 +0000)]
Don't use std::copy and std::copy_backward, run 10% faster.

Sometimes std::copy can become a memmove call, and that is not a good idea when
copying relatively few bytes as we are doing. We also get a small win by
changing two loops into one.

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

13 years agoDisallow overlapping inserts, even when inserting the same value.
Jakob Stoklund Olesen [Sun, 28 Nov 2010 22:17:11 +0000 (22:17 +0000)]
Disallow overlapping inserts, even when inserting the same value.

We always disallowed overlapping inserts with different values, and this makes
the insertion code smaller and faster.

If an overwriting insert is needed, it can be added as a separate method that
trims any existing intervals before inserting. The immediate use cases for
IntervalMap don't need this - they only use disjoint insertions.

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

13 years agoMove lowering of TLS_addr32 and TLS_addr64 to X86MCInstLower.
Rafael Espindola [Sun, 28 Nov 2010 21:16:39 +0000 (21:16 +0000)]
Move lowering of TLS_addr32 and TLS_addr64 to X86MCInstLower.

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

13 years agoPR5207: remove unused methods APInt::Emit() and APInt::Read().
Jay Foad [Sun, 28 Nov 2010 21:05:31 +0000 (21:05 +0000)]
PR5207: remove unused methods APInt::Emit() and APInt::Read().

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

13 years agoPR5207: change APInt::doubleToBits() and APInt::floatToBits() to be
Jay Foad [Sun, 28 Nov 2010 21:04:48 +0000 (21:04 +0000)]
PR5207: change APInt::doubleToBits() and APInt::floatToBits() to be
static methods that return a new APInt.

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

13 years agofix PR8686, accepting a 'b' suffix at the end of all the setcc
Chris Lattner [Sun, 28 Nov 2010 20:23:50 +0000 (20:23 +0000)]
fix PR8686, accepting a 'b' suffix at the end of all the setcc
instructions.  I choose to handle this with an asmparser hack,
though it could be handled by changing all the instruction definitions
to allow be "setneb" instead of "setne".  The asm parser hack is
better in this case, because we want the disassembler to produce
setne, not setneb.

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

13 years agoadd a function to the C api to get the context out of a module, patch
Chris Lattner [Sun, 28 Nov 2010 20:03:44 +0000 (20:03 +0000)]
add a function to the C api to get the context out of a module, patch
by Eric Dobson!

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

13 years agoTweak comments to make it clear that we are working in a namespace.
Jakob Stoklund Olesen [Sun, 28 Nov 2010 18:58:30 +0000 (18:58 +0000)]
Tweak comments to make it clear that we are working in a namespace.

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

13 years agoWhen emitting a single function with cppgen=function, you don't want to emit
Nicolas Geoffray [Sun, 28 Nov 2010 18:00:53 +0000 (18:00 +0000)]
When emitting a single function with cppgen=function, you don't want to emit
initializers of global variables used in the function.
Also make sure to emit the operands of a constant.

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

13 years agoFixed verson of r120245.
Rafael Espindola [Sun, 28 Nov 2010 17:18:55 +0000 (17:18 +0000)]
Fixed verson of r120245.
Factor some duplicated code into MCObjectStreamer::EmitLabel.

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

13 years agoRevert previous patch while I debug the darwin bootstrap failure.
Rafael Espindola [Sun, 28 Nov 2010 16:22:59 +0000 (16:22 +0000)]
Revert previous patch while I debug the darwin bootstrap failure.

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

13 years agoFactor some duplicated code into MCObjectStreamer::EmitLabel.
Rafael Espindola [Sun, 28 Nov 2010 15:54:36 +0000 (15:54 +0000)]
Factor some duplicated code into MCObjectStreamer::EmitLabel.

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

13 years agoMake EmitSymbolValue non virtual.
Rafael Espindola [Sun, 28 Nov 2010 15:12:55 +0000 (15:12 +0000)]
Make EmitSymbolValue non virtual.

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

13 years agoAvoid code duplication in the many unsupported EmitGPRel32Value implementations.
Rafael Espindola [Sun, 28 Nov 2010 15:09:24 +0000 (15:09 +0000)]
Avoid code duplication in the many unsupported EmitGPRel32Value implementations.

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

13 years agoMake EmitULEB128IntValue and EmitSLEB128IntValue non virtual.
Rafael Espindola [Sun, 28 Nov 2010 14:56:52 +0000 (14:56 +0000)]
Make EmitULEB128IntValue and EmitSLEB128IntValue non virtual.

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

13 years agoMove the PTXMCAsmStreamer class to the .cpp file.
Rafael Espindola [Sun, 28 Nov 2010 14:48:34 +0000 (14:48 +0000)]
Move the PTXMCAsmStreamer class to the .cpp file.

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

13 years agoDefine generic 1, 2 and 4 byte pc relative relocations. They are common
Rafael Espindola [Sun, 28 Nov 2010 14:17:56 +0000 (14:17 +0000)]
Define generic 1, 2 and 4 byte pc relative relocations. They are common
and at least the 4 byte one will be needed to implement the .cfi_* directives.

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

13 years agoAdd default constructors for iterators.
Jakob Stoklund Olesen [Sun, 28 Nov 2010 07:21:48 +0000 (07:21 +0000)]
Add default constructors for iterators.

These iterators don't point anywhere, and they can't be compared to anything.
They are only good for assigning to.

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

13 years agoImplement const_iterator::advanceTo().
Jakob Stoklund Olesen [Sun, 28 Nov 2010 07:00:46 +0000 (07:00 +0000)]
Implement const_iterator::advanceTo().

This is a version of find() that always searches forwards and is faster for
local searches.

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

13 years agoAdd support for NEON VLD2-dup instructions.
Bob Wilson [Sun, 28 Nov 2010 06:51:26 +0000 (06:51 +0000)]
Add support for NEON VLD2-dup instructions.

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

13 years agoFix a comment typo.
Bob Wilson [Sun, 28 Nov 2010 06:51:19 +0000 (06:51 +0000)]
Fix a comment typo.

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

13 years agoAnother minor refactoring for VLD1DUP instructions.
Bob Wilson [Sun, 28 Nov 2010 06:51:15 +0000 (06:51 +0000)]
Another minor refactoring for VLD1DUP instructions.
The op11_8 field is the same for all of them so put it in the instruction
classes instead of specifying it separately for each instruction.

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

13 years agoAdd entry in getTargetNodeName() for ARMISD::VBICIMM.
Bob Wilson [Sun, 28 Nov 2010 06:51:11 +0000 (06:51 +0000)]
Add entry in getTargetNodeName() for ARMISD::VBICIMM.

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

13 years agoSpeed up simple insertions into an unbranched tree by not creating an iterator.
Jakob Stoklund Olesen [Sun, 28 Nov 2010 06:14:33 +0000 (06:14 +0000)]
Speed up simple insertions into an unbranched tree by not creating an iterator.

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

13 years agollvmc: First stab at better -march handling.
Mikhail Glushenkov [Sun, 28 Nov 2010 00:31:13 +0000 (00:31 +0000)]
llvmc: First stab at better -march handling.

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

13 years agoMove more PEI-related hooks to TFI
Anton Korobeynikov [Sat, 27 Nov 2010 23:05:25 +0000 (23:05 +0000)]
Move more PEI-related hooks to TFI

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

13 years agoMove callee-saved regs spills / reloads to TFI
Anton Korobeynikov [Sat, 27 Nov 2010 23:05:03 +0000 (23:05 +0000)]
Move callee-saved regs spills / reloads to TFI

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

13 years agoAdd more tests for erase(). Fix a few exposed bugs.
Jakob Stoklund Olesen [Sat, 27 Nov 2010 22:56:53 +0000 (22:56 +0000)]
Add more tests for erase(). Fix a few exposed bugs.

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

13 years agoAdd test case with randomly ordered insertions, massive coalescing.
Jakob Stoklund Olesen [Sat, 27 Nov 2010 21:12:36 +0000 (21:12 +0000)]
Add test case with randomly ordered insertions, massive coalescing.

Implement iterator::erase() in a simple version that erases nodes when they
become empty, but doesn't try to redistribute elements among siblings for better
packing.

Handle coalescing across leaf nodes which may require erasing entries.

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

13 years agoLower TLS_addr32 and TLS_addr64.
Rafael Espindola [Sat, 27 Nov 2010 20:43:02 +0000 (20:43 +0000)]
Lower TLS_addr32 and TLS_addr64.

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

13 years agoImplement the data16 prefix.
Rafael Espindola [Sat, 27 Nov 2010 20:29:45 +0000 (20:29 +0000)]
Implement the data16 prefix.

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

13 years agoRemove PIC16 remnants.
Benjamin Kramer [Sat, 27 Nov 2010 18:20:30 +0000 (18:20 +0000)]
Remove PIC16 remnants.

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

13 years agomacho-dump: Add support for --dump-section-data and tweak a few format strings.
Daniel Dunbar [Sat, 27 Nov 2010 13:58:16 +0000 (13:58 +0000)]
macho-dump: Add support for --dump-section-data and tweak a few format strings.

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