Nick Lewycky [Tue, 30 Nov 2010 04:13:41 +0000 (04:13 +0000)]
Make @llvm.invariant.start not be readonly, so that it has side-effects. This
unbreaks test/Transforms/InstCombine/invariant.ll which was broken by r120382.
This is a fix-forward to do what I think Chris intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120388
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 30 Nov 2010 02:17:10 +0000 (02:17 +0000)]
Stub out a new LiveDebugVariables pass.
This analysis is going to run immediately after LiveIntervals. It will stay
alive during register allocation and keep track of user variables mentioned in
DBG_VALUE instructions.
When the register allocator is moving values between registers and the stack, it
is very hard to keep track of DBG_VALUE instructions. We usually get it wrong.
This analysis maintains a data structure that makes it easy to update DBG_VALUE
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120385
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 02:04:15 +0000 (02:04 +0000)]
remove a use of llvm-dis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120383
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 02:03:47 +0000 (02:03 +0000)]
remove the pointless check of MemoryUseIntrinsic from
is trivially dead, since these have side effects. This makes the
(misnamed) MemoryUseIntrinsic class dead, so remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120382
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:56:13 +0000 (01:56 +0000)]
strength reduce this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120381
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:48:20 +0000 (01:48 +0000)]
getLocationForDest should work for memset as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:37:52 +0000 (01:37 +0000)]
rename doesClobberMemory -> hasMemoryWrite to be more specific, and
remove an actively-wrong comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:28:33 +0000 (01:28 +0000)]
clean up handling of 'free', detangling it from everything else.
It can be seriously improved, but at least now it isn't intertwined
with the other logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:06:43 +0000 (01:06 +0000)]
merge one more away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:05:07 +0000 (01:05 +0000)]
I already merged partial-overwrite.ll -> PartialStore.ll
Merge context-sensitive.ll -> simple.ll and upgrade it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 01:00:34 +0000 (01:00 +0000)]
clean up DSE tests, removing some poorly reduced and useless old test,
merging more into other larger .ll files, filecheckizing along the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120373
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:50:22 +0000 (00:50 +0000)]
Minor cleanups. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120372
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:48:15 +0000 (00:48 +0000)]
s/ARM::BRIND/ARM::BX/g to coincide with r120366.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120371
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 00:43:16 +0000 (00:43 +0000)]
enhance basicaa to return "Mod" for a memcpy call when the
queried location doesn't overlap the source, and add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120370
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:34:08 +0000 (00:34 +0000)]
Add correct encoding for "bl __aeabi_read_tp". However, the asm matcher isn't
able to match this yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 00:28:45 +0000 (00:28 +0000)]
Teach basicaa that memset's modref set is at worst "mod" and never
contains "ref".
Enhance DSE to use a modref query instead of a store-specific hack
to generalize the "ignore may-alias stores" optimization to handle
memset and memcpy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120368
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 30 Nov 2010 00:24:05 +0000 (00:24 +0000)]
Rename BX/BRIND/etc patterns to clarify which is actually the BX instruction
and which are pseudos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120366
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:18:30 +0000 (00:18 +0000)]
Add some encoding for the adr instruction. Labels still need to be finished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120365
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Nov 2010 00:14:31 +0000 (00:14 +0000)]
Correct Thumb2 encodings for a much wider range of loads and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Nov 2010 00:12:39 +0000 (00:12 +0000)]
my previous patch would cause us to start deleting some volatile
stores, fix and add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120363
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 30 Nov 2010 00:09:06 +0000 (00:09 +0000)]
Make a few more ARM pseudo instructions actually use the PseudoInst base class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120362
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:08:20 +0000 (00:08 +0000)]
Predicate encoding should be withing {}s. And general cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120361
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Nov 2010 00:05:25 +0000 (00:05 +0000)]
Predicate encoding should be withing {}s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120360
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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