oota-llvm.git
13 years agoPR9634: Don't unconditionally tell the AliasSetTracker that the PreheaderLoad
Eli Friedman [Thu, 7 Apr 2011 01:35:06 +0000 (01:35 +0000)]
PR9634: Don't unconditionally tell the AliasSetTracker that the PreheaderLoad
is equivalent to any other relevant value; it isn't true in general.
If it is equivalent, the LoopPromoter will tell the AST the equivalence.
Also, delete the PreheaderLoad if it is unused.

Chris, since you were the last one to make major changes here, can you check
that this is sane?

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

13 years agoThe ARM disassembler was not recognizing USADA8 instruction. Need to add checking...
Johnny Chen [Thu, 7 Apr 2011 01:05:52 +0000 (01:05 +0000)]
The ARM disassembler was not recognizing USADA8 instruction.  Need to add checking for register values
for USAD8 and USADA8.

rdar://problem/9247060

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

13 years agoChange -arm-divmod-libcall to a target neutral option.
Evan Cheng [Thu, 7 Apr 2011 00:58:44 +0000 (00:58 +0000)]
Change -arm-divmod-libcall to a target neutral option.

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

13 years agoRemove dead code. rdar://9221736.
Evan Cheng [Thu, 7 Apr 2011 00:56:37 +0000 (00:56 +0000)]
Remove dead code. rdar://9221736.

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

13 years agoShould also check SMLAD for invalid register values.
Johnny Chen [Thu, 7 Apr 2011 00:50:25 +0000 (00:50 +0000)]
Should also check SMLAD for invalid register values.

rdar://problem/9246650

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

13 years agoSimplify. isIdenticalToWhenDefined() checks opcode.
Devang Patel [Thu, 7 Apr 2011 00:30:15 +0000 (00:30 +0000)]
Simplify. isIdenticalToWhenDefined() checks opcode.

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

13 years agoSet unnamed_addr on strings created through the IRBuilder.
Nick Lewycky [Thu, 7 Apr 2011 00:14:29 +0000 (00:14 +0000)]
Set unnamed_addr on strings created through the IRBuilder.

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

13 years agoAdd support for ArrayRef in IRBuilder's CreateCall.
Nick Lewycky [Thu, 7 Apr 2011 00:03:25 +0000 (00:03 +0000)]
Add support for ArrayRef in IRBuilder's CreateCall.

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

13 years agoTeach the ARM peephole optimizer that RSB, RSC, ADC, and SBC can be used for folded...
Owen Anderson [Wed, 6 Apr 2011 23:35:59 +0000 (23:35 +0000)]
Teach the ARM peephole optimizer that RSB, RSC, ADC, and SBC can be used for folded comparisons, just like ADD and SUB.

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

13 years agoCleanups from Jim: remove redundant constraints and a dead FIXME.
Owen Anderson [Wed, 6 Apr 2011 22:45:55 +0000 (22:45 +0000)]
Cleanups from Jim: remove redundant constraints and a dead FIXME.

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

13 years agoWhile folding branch to a common destination into a predecessor, copy dbg values...
Devang Patel [Wed, 6 Apr 2011 22:37:20 +0000 (22:37 +0000)]
While folding branch to a common destination into a predecessor, copy dbg values also.

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

13 years agoTidy up.
Jim Grosbach [Wed, 6 Apr 2011 22:35:47 +0000 (22:35 +0000)]
Tidy up.

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

13 years agoA8.6.393
Johnny Chen [Wed, 6 Apr 2011 22:14:48 +0000 (22:14 +0000)]
A8.6.393
The ARM disassembler should reject invalid (type, align) encodings as invalid instructions.

So, instead of:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------

vst2.32 {d0, d2}, [r3, :256], r3

we now have:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------

mc-input.txt:1:1: warning: invalid instruction encoding
0xb3 0x9 0x3 0xf4
^

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

13 years agotidy up.
Jim Grosbach [Wed, 6 Apr 2011 22:13:52 +0000 (22:13 +0000)]
tidy up.

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

13 years agoAlso account for the spill code that would be inserted in live-through blocks with...
Jakob Stoklund Olesen [Wed, 6 Apr 2011 21:32:41 +0000 (21:32 +0000)]
Also account for the spill code that would be inserted in live-through blocks with interference.

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

13 years agoAbort the constraint calculation early when all positive bias is lost.
Jakob Stoklund Olesen [Wed, 6 Apr 2011 21:32:38 +0000 (21:32 +0000)]
Abort the constraint calculation early when all positive bias is lost.

Without any positive bias, there is nothing for the spill placer to to. It will
spill everywhere.

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

13 years agoFix typo in doxy-comment.
Nick Lewycky [Wed, 6 Apr 2011 20:54:07 +0000 (20:54 +0000)]
Fix typo in doxy-comment.

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

13 years agoA8.6.92 MCR (Encoding A1): if coproc == '101x' then SEE "Advanced SIMD and VFP"
Johnny Chen [Wed, 6 Apr 2011 20:49:02 +0000 (20:49 +0000)]
A8.6.92 MCR (Encoding A1): if coproc == '101x' then SEE "Advanced SIMD and VFP"
Since these "Advanced SIMD and VFP" instructions have more specfic encoding bits
specified, if coproc == 10 or 11, we should reject the insn as invalid.

rdar://problem/9239922
rdar://problem/9239596

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

13 years agoFix comment to use llvm 2.x syntax.
Nick Lewycky [Wed, 6 Apr 2011 20:38:44 +0000 (20:38 +0000)]
Fix comment to use llvm 2.x syntax.

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

13 years agoReplace const std::vector& with ArrayRef in the type creation APIs.
Nick Lewycky [Wed, 6 Apr 2011 20:28:34 +0000 (20:28 +0000)]
Replace const std::vector& with ArrayRef in the type creation APIs.

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

13 years agoKeep track of the number of positively biased nodes when adding constraints.
Jakob Stoklund Olesen [Wed, 6 Apr 2011 19:14:00 +0000 (19:14 +0000)]
Keep track of the number of positively biased nodes when adding constraints.

If there are no positive nodes, the algorithm can be aborted early.

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

13 years agoBreak the spill placement algorithm into three parts: prepare, addConstraints, and...
Jakob Stoklund Olesen [Wed, 6 Apr 2011 19:13:57 +0000 (19:13 +0000)]
Break the spill placement algorithm into three parts: prepare, addConstraints, and finish.

This will allow us to abort the algorithm early if it is determined to be futile.

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

13 years agoFix a typo.
Roman Divacky [Wed, 6 Apr 2011 19:12:21 +0000 (19:12 +0000)]
Fix a typo.

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

13 years agoFix a bug in the disassembly of VGETLNs8 where the lane index was wrong.
Johnny Chen [Wed, 6 Apr 2011 18:27:46 +0000 (18:27 +0000)]
Fix a bug in the disassembly of VGETLNs8 where the lane index was wrong.
Also set the encoding bits (for A8.6.303, A8.6.328, A8.6.329) Inst{3-0} = 0b0000,
in class NVLaneOp.

rdar://problem/9240648

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

13 years agoAdd another case we are not optimizing.
Rafael Espindola [Wed, 6 Apr 2011 17:35:32 +0000 (17:35 +0000)]
Add another case we are not optimizing.

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

13 years agoThe original issue has been fixed by not doing unnecessary sign extensions.
Rafael Espindola [Wed, 6 Apr 2011 17:19:35 +0000 (17:19 +0000)]
The original issue has been fixed by not doing unnecessary sign extensions.
Change the test to force a sign extension and expose the problem again.

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

13 years agoface+palm
Devang Patel [Wed, 6 Apr 2011 17:08:15 +0000 (17:08 +0000)]
face+palm

Keep track of llvm.dbg.value intrinsics with non null values.

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

13 years agoDo a topological sort of the types before writing them out.
Rafael Espindola [Wed, 6 Apr 2011 16:49:37 +0000 (16:49 +0000)]
Do a topological sort of the types before writing them out.

This takes the linking of libxul on linux from 6m54.931s to 5m39.840s.

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

13 years agoEngineBuilder setter method for UseMCJIT was missing return value.
Jim Grosbach [Wed, 6 Apr 2011 16:35:19 +0000 (16:35 +0000)]
EngineBuilder setter method for UseMCJIT was missing return value.

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

13 years agoadd rubinius
Chris Lattner [Wed, 6 Apr 2011 16:14:25 +0000 (16:14 +0000)]
add rubinius

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

13 years agoFix a few instances of "warning: extra ';' outside of a function [-pedantic]".
Frits van Bommel [Wed, 6 Apr 2011 12:29:56 +0000 (12:29 +0000)]
Fix a few instances of "warning: extra ';' outside of a function [-pedantic]".

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

13 years agoThis testcase passed even without the fix. Added the target info to make the
Nadav Rotem [Wed, 6 Apr 2011 11:18:29 +0000 (11:18 +0000)]
This testcase passed even without the fix. Added the target info to make the
test fail (without the fix). Thanks Dan.

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

13 years agoFix some typos. Minor tweaks to how some things were expressed.
Duncan Sands [Wed, 6 Apr 2011 08:07:40 +0000 (08:07 +0000)]
Fix some typos.  Minor tweaks to how some things were expressed.

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

13 years agoTrivial typo fixes.
Jay Foad [Wed, 6 Apr 2011 07:55:30 +0000 (07:55 +0000)]
Trivial typo fixes.

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

13 years agoAdd an empty key for DebugLoc so that you can store an empty DebugLoc in a
Nick Lewycky [Wed, 6 Apr 2011 06:49:59 +0000 (06:49 +0000)]
Add an empty key for DebugLoc so that you can store an empty DebugLoc in a
DenseMap.

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

13 years agoFinish up the first draft of the release notes.
Chris Lattner [Wed, 6 Apr 2011 06:29:50 +0000 (06:29 +0000)]
Finish up the first draft of the release notes.

improvements are welcome, please commit any changes directly to SVN.

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

13 years agocontinue writing.
Chris Lattner [Wed, 6 Apr 2011 05:50:04 +0000 (05:50 +0000)]
continue writing.

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

13 years agoSupport using DebugLoc's in a DenseMap.
Nick Lewycky [Wed, 6 Apr 2011 05:36:52 +0000 (05:36 +0000)]
Support using DebugLoc's in a DenseMap.

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

13 years agoOops. Scary.
Jakob Stoklund Olesen [Wed, 6 Apr 2011 04:07:14 +0000 (04:07 +0000)]
Oops. Scary.

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

13 years agoAnalyze blocks with uses separately from live-through blocks without uses.
Jakob Stoklund Olesen [Wed, 6 Apr 2011 03:57:00 +0000 (03:57 +0000)]
Analyze blocks with uses separately from live-through blocks without uses.

About 90% of the relevant blocks are live-through without uses, and the only
information required about them is their number. This saves memory and enables
later optimizations that need to look at only the use-blocks.

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

13 years agoAdd a missing opcode (SMLSLDX) to BadRegsMulFrm() function.
Johnny Chen [Wed, 6 Apr 2011 01:18:32 +0000 (01:18 +0000)]
Add a missing opcode (SMLSLDX) to BadRegsMulFrm() function.
Add more complete sanity check for LdStFrm instructions where if IBit (Inst{25})
is 1, Inst{4} should be 0.  Otherwise, we should reject the insn as invalid.

rdar://problem/9239347
rdar://problem/9239467

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

13 years agoadd the external users that emailed me.
Chris Lattner [Wed, 6 Apr 2011 01:13:49 +0000 (01:13 +0000)]
add the external users that emailed me.

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

13 years agoRuntimeDyld should use the memory manager API.
Jim Grosbach [Wed, 6 Apr 2011 01:11:05 +0000 (01:11 +0000)]
RuntimeDyld should use the memory manager API.

Start teaching the runtime Dyld interface to use the memory manager API
for allocating space. Rather than mapping directly into the MachO object,
we extract the payload for each object and copy it into a dedicated buffer
allocated via the memory manager. For now, just do Segment64, so this works
on x86_64, but not yet on ARM.

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

13 years agosome libc++ notes.
Chris Lattner [Wed, 6 Apr 2011 00:59:18 +0000 (00:59 +0000)]
some libc++ notes.

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

13 years agosome edits.
Chris Lattner [Wed, 6 Apr 2011 00:56:12 +0000 (00:56 +0000)]
some edits.

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

13 years agodistribute content out to the appropriate sections
Chris Lattner [Wed, 6 Apr 2011 00:45:11 +0000 (00:45 +0000)]
distribute content out to the appropriate sections

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

13 years agoReapply r128946 (pseudoization of various instructions), and fix the extra imp-def...
Owen Anderson [Tue, 5 Apr 2011 23:55:28 +0000 (23:55 +0000)]
Reapply r128946 (pseudoization of various instructions), and fix the extra imp-def of CPSR it was adding.

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

13 years agoMake the virtual destructor out-of-line so we have a key function.
Chandler Carruth [Tue, 5 Apr 2011 23:54:31 +0000 (23:54 +0000)]
Make the virtual destructor out-of-line so we have a key function.

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

13 years agoSign error
Jakob Stoklund Olesen [Tue, 5 Apr 2011 23:43:16 +0000 (23:43 +0000)]
Sign error

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

13 years agoDon't crash when a value is defined after the last split point.
Jakob Stoklund Olesen [Tue, 5 Apr 2011 23:43:14 +0000 (23:43 +0000)]
Don't crash when a value is defined after the last split point.

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

13 years agoPermit blocks to branch directly to a landing pad.
Jakob Stoklund Olesen [Tue, 5 Apr 2011 23:43:11 +0000 (23:43 +0000)]
Permit blocks to branch directly to a landing pad.

Treat the landing pad as a normal successor when that happens.

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

13 years agoRemove extraneous 'return'.
Jim Grosbach [Tue, 5 Apr 2011 23:39:08 +0000 (23:39 +0000)]
Remove extraneous 'return'.

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

13 years agoFix a typo in the handling of PKHTB opcode, plus add sanity check for illegal register
Johnny Chen [Tue, 5 Apr 2011 23:28:00 +0000 (23:28 +0000)]
Fix a typo in the handling of PKHTB opcode, plus add sanity check for illegal register
encodings for DisassembleArithMiscFrm().

rdar://problem/9238659

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

13 years agofinished my pass through all the 2.9 commits, now to make this intelligible
Chris Lattner [Tue, 5 Apr 2011 23:22:33 +0000 (23:22 +0000)]
finished my pass through all the 2.9 commits, now to make this intelligible

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

13 years agomention llvm::ArrayRef, which should be use much more pervasively than
Chris Lattner [Tue, 5 Apr 2011 23:18:20 +0000 (23:18 +0000)]
mention llvm::ArrayRef, which should be use much more pervasively than
it already is.

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

13 years agoClean up some code for clarity.
Bob Wilson [Tue, 5 Apr 2011 23:03:25 +0000 (23:03 +0000)]
Clean up some code for clarity.

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

13 years agoProvide an empty virtual destructor to go with the virtual methods in
Chandler Carruth [Tue, 5 Apr 2011 23:03:24 +0000 (23:03 +0000)]
Provide an empty virtual destructor to go with the virtual methods in
this class. Clang was warning on this with -Wnon-virtual-dtor.

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

13 years agoRevert r128946 while I figure out why it broke the buildbots.
Owen Anderson [Tue, 5 Apr 2011 23:03:06 +0000 (23:03 +0000)]
Revert r128946 while I figure out why it broke the buildbots.

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

13 years agoA7.3 register encoding
Johnny Chen [Tue, 5 Apr 2011 22:57:07 +0000 (22:57 +0000)]
A7.3 register encoding
    Qd -> bit[12] == 0
    Qn -> bit[16] == 0
    Qm -> bit[0]  == 0

If one of these bits is 1, the instruction is UNDEFINED.

rdar://problem/9238399
rdar://problem/9238445

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

13 years agoAdd support to encode function's template parameters.
Devang Patel [Tue, 5 Apr 2011 22:52:06 +0000 (22:52 +0000)]
Add support to encode function's template parameters.

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

13 years agoGive RSBS and RSCS the pseudo treatment.
Owen Anderson [Tue, 5 Apr 2011 22:42:54 +0000 (22:42 +0000)]
Give RSBS and RSCS the pseudo treatment.

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

13 years agoARM disassembler was erroneously accepting an invalid RSC instruction.
Johnny Chen [Tue, 5 Apr 2011 22:18:07 +0000 (22:18 +0000)]
ARM disassembler was erroneously accepting an invalid RSC instruction.
Added checks for regs which should not be 15.

rdar://problem/9237734

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

13 years agoremove postdom frontiers, because it is dead. Forward dom frontiers are
Chris Lattner [Tue, 5 Apr 2011 21:57:17 +0000 (21:57 +0000)]
remove postdom frontiers, because it is dead.  Forward dom frontiers are
still used by RegionInfo :(

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

13 years agodocs/ReleaseNotes.html: Please use proper *Heading* elements instead of classified...
NAKAMURA Takumi [Tue, 5 Apr 2011 21:55:14 +0000 (21:55 +0000)]
docs/ReleaseNotes.html: Please use proper *Heading* elements instead of classified div.

It would be better to browse without stylesheet. (eg. on ViewVC)

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

13 years agoARM disassembler was erroneously accepting an invalid LSL instruction.
Johnny Chen [Tue, 5 Apr 2011 21:49:44 +0000 (21:49 +0000)]
ARM disassembler was erroneously accepting an invalid LSL instruction.
For register-controlled shifts, we should check that the encoding constraint
Inst{7} = 0 and Inst{4} = 1 is satisfied.

rdar://problem/9237693

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

13 years agoFix bugs in the pseuo-ization of ADCS/SBCS pointed out by Jim, as well as doing the...
Owen Anderson [Tue, 5 Apr 2011 21:48:57 +0000 (21:48 +0000)]
Fix bugs in the pseuo-ization of ADCS/SBCS pointed out by Jim, as well as doing the expansion earlier (using a custom inserter) to allow for the chance of predicating these instructions.

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

13 years agoremove graphprinter support for domfrontier.
Chris Lattner [Tue, 5 Apr 2011 21:43:56 +0000 (21:43 +0000)]
remove graphprinter support for domfrontier.

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

13 years agoThese tests no longer require linear scan because reserved register coalescing is...
Jakob Stoklund Olesen [Tue, 5 Apr 2011 21:40:41 +0000 (21:40 +0000)]
These tests no longer require linear scan because reserved register coalescing is now universal.

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

13 years agoRun LiveDebugVariables in RegAllocBasic and RegAllocGreedy.
Jakob Stoklund Olesen [Tue, 5 Apr 2011 21:40:37 +0000 (21:40 +0000)]
Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy.

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

13 years agoonly 7 more weeks to go.
Chris Lattner [Tue, 5 Apr 2011 21:37:08 +0000 (21:37 +0000)]
only 7 more weeks to go.

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

13 years agoRefactor.
Devang Patel [Tue, 5 Apr 2011 21:08:24 +0000 (21:08 +0000)]
Refactor.

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

13 years agoDocument llvm/ADT/IntEqClasses.h in ProgrammersManual.html
Jakob Stoklund Olesen [Tue, 5 Apr 2011 20:56:08 +0000 (20:56 +0000)]
Document llvm/ADT/IntEqClasses.h in ProgrammersManual.html

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

13 years agoAdd an assertion instead of crashing when the scavenger goes past the end
Bob Wilson [Tue, 5 Apr 2011 20:44:15 +0000 (20:44 +0000)]
Add an assertion instead of crashing when the scavenger goes past the end
of a basic block.

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

13 years agoFix typos. Adjust some whitespace for style. No functionality change.
Nick Lewycky [Tue, 5 Apr 2011 20:39:27 +0000 (20:39 +0000)]
Fix typos. Adjust some whitespace for style. No functionality change.

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

13 years agoThe r128085 checkin modified the operand ordering for MRC/MRC2 instructions.
Johnny Chen [Tue, 5 Apr 2011 20:32:23 +0000 (20:32 +0000)]
The r128085 checkin modified the operand ordering for MRC/MRC2 instructions.
Modify DisassembleCoprocessor() of ARMDisassemblerCore.cpp to react to the change.

rdar://problem/9236873

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

13 years agoAdd support for detection of Intel SandyBridge.
Roman Divacky [Tue, 5 Apr 2011 20:25:36 +0000 (20:25 +0000)]
Add support for detection of Intel SandyBridge.

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

13 years agoFix one more batch of X86 tests to be register allocation dependent.
Jakob Stoklund Olesen [Tue, 5 Apr 2011 20:20:30 +0000 (20:20 +0000)]
Fix one more batch of X86 tests to be register allocation dependent.

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

13 years agoWhen dead code elimination removes all but one use, try to fold the single def into...
Jakob Stoklund Olesen [Tue, 5 Apr 2011 20:20:26 +0000 (20:20 +0000)]
When dead code elimination removes all but one use, try to fold the single def into the remaining use.

Rematerialization can leave single-use loads behind that we might as well fold whenever possible.

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

13 years agoDo not emit empty name.
Devang Patel [Tue, 5 Apr 2011 20:14:13 +0000 (20:14 +0000)]
Do not emit empty name.

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

13 years agoARM disassembler should flag (rGPRRegClassID, r13|r15) as an error.
Johnny Chen [Tue, 5 Apr 2011 19:42:11 +0000 (19:42 +0000)]
ARM disassembler should flag (rGPRRegClassID, r13|r15) as an error.

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

13 years agoFix a typo.
Andrew Trick [Tue, 5 Apr 2011 19:13:11 +0000 (19:13 +0000)]
Fix a typo.

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

13 years agoAdded *hidden* flags -print-options and -print-all-options so
Andrew Trick [Tue, 5 Apr 2011 18:54:36 +0000 (18:54 +0000)]
Added *hidden* flags -print-options and -print-all-options so
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.

Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.

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

13 years agoLDRD now prints out two dst registers.
Johnny Chen [Tue, 5 Apr 2011 18:53:14 +0000 (18:53 +0000)]
LDRD now prints out two dst registers.

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

13 years agoFix test-llvm failures.
Johnny Chen [Tue, 5 Apr 2011 18:41:40 +0000 (18:41 +0000)]
Fix test-llvm failures.

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

13 years agowhitespace
Andrew Trick [Tue, 5 Apr 2011 18:41:31 +0000 (18:41 +0000)]
whitespace

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

13 years agoAn MCDisassembler has the option to not implement
Shantonu Sen [Tue, 5 Apr 2011 18:40:45 +0000 (18:40 +0000)]
An MCDisassembler has the option to not implement
getEDInfo(), in which case this code would dereference
NULL. EDInst can already handle NULL info, so avoid
the dereference and pass NULL through.

Reviewed by Sean Callanan

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

13 years agoMake second source operand of LDRD pre/post explicit.
Jim Grosbach [Tue, 5 Apr 2011 18:40:13 +0000 (18:40 +0000)]
Make second source operand of LDRD pre/post explicit.

Finish what r128736 started.

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

13 years agomore notes to self.
Chris Lattner [Tue, 5 Apr 2011 18:38:45 +0000 (18:38 +0000)]
more notes to self.

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

13 years agoConstants with multiple encodings (ARM):
Johnny Chen [Tue, 5 Apr 2011 18:02:46 +0000 (18:02 +0000)]
Constants with multiple encodings (ARM):
An alternative syntax is available for a modified immediate constant that permits the programmer to specify
the encoding directly. In this syntax, #<const> is instead written as #<byte>,#<rot>, where:

    <byte> is the numeric value of abcdefgh, in the range 0-255
    <rot> is twice the numeric value of rotation, an even number in the range 0-30.

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

13 years agoCheck for invalid register encodings for UMAAL and friends where:
Johnny Chen [Tue, 5 Apr 2011 17:43:10 +0000 (17:43 +0000)]
Check for invalid register encodings for UMAAL and friends where:
    if dLo == 15 || dHi == 15 || n == 15 || m == 15 then UNPREDICTABLE;
    if dHi == dLo then UNPREDICTABLE;

rdar://problem/9230202

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

13 years agoConvert ADCS and SBCS instructions into pseudos that are expanded to the ADC/ABC...
Owen Anderson [Tue, 5 Apr 2011 17:24:25 +0000 (17:24 +0000)]
Convert ADCS and SBCS instructions into pseudos that are expanded to the ADC/ABC with the appropriate S-bit input value.

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

13 years agoARM doesn't support byval yet. XFAIL this test until it does.
Stuart Hastings [Tue, 5 Apr 2011 17:16:21 +0000 (17:16 +0000)]
ARM doesn't support byval yet.  XFAIL this test until it does.

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

13 years agoRename LLVMConfig.cmake to LLVM-Config.cmake. The *Config.cmake naming
Oscar Fuentes [Tue, 5 Apr 2011 17:02:48 +0000 (17:02 +0000)]
Rename LLVMConfig.cmake to LLVM-Config.cmake. The *Config.cmake naming
scheme is used by the functionality related to find_package.

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

13 years agoEnsure all defs referring to a virtual register are marked dead by addRegisterDead().
Jakob Stoklund Olesen [Tue, 5 Apr 2011 16:53:50 +0000 (16:53 +0000)]
Ensure all defs referring to a virtual register are marked dead by addRegisterDead().

There can be multiple defs for a single virtual register when they are defining
sub-registers.

The missing <dead> flag was stopping the inline spiller from eliminating dead
code after rematerialization.

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

13 years agoPrint visibility info for external variables.
Rafael Espindola [Tue, 5 Apr 2011 15:51:32 +0000 (15:51 +0000)]
Print visibility info for external variables.

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

13 years agoUse std::unique instead of a SmallPtrSet to ensure unique instructions in UseSlots.
Jakob Stoklund Olesen [Tue, 5 Apr 2011 15:18:18 +0000 (15:18 +0000)]
Use std::unique instead of a SmallPtrSet to ensure unique instructions in UseSlots.

This allows us to always keep the smaller slot for an instruction which is what
we want when a register has early clobber defines.

Drop the UsingInstrs set and the UsingBlocks map. They are no longer needed.

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

13 years agoInstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away address
Nadav Rotem [Tue, 5 Apr 2011 14:29:52 +0000 (14:29 +0000)]
InstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away address
space info. We crash with an assert in this case. This change checks that the
address space of the bitcasted pointer is the same as the gep ptr.

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

13 years agodocs/ReleaseNotes.html: Add a few notes to MCCOFF and x64. FIXME: fixme!
NAKAMURA Takumi [Tue, 5 Apr 2011 08:24:22 +0000 (08:24 +0000)]
docs/ReleaseNotes.html: Add a few notes to MCCOFF and x64. FIXME: fixme!

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

13 years agodocs/GettingStarted.html: FIXME: dg, lit, and source tree layout.
NAKAMURA Takumi [Tue, 5 Apr 2011 08:24:15 +0000 (08:24 +0000)]
docs/GettingStarted.html: FIXME: dg, lit, and source tree layout.

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

13 years agoadd a bunch of notes to myself, this is not intended to be gramatic or
Chris Lattner [Tue, 5 Apr 2011 07:19:28 +0000 (07:19 +0000)]
add a bunch of notes to myself, this is not intended to be gramatic or
make sense to anyone else.

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