oota-llvm.git
12 years agoRemove llvmc from CMake as well.
Eric Christopher [Tue, 20 Sep 2011 00:13:13 +0000 (00:13 +0000)]
Remove llvmc from CMake as well.

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

12 years agoThumb1 convenience aliases for disassembler round-trip testing. CPS instruction.
Jim Grosbach [Tue, 20 Sep 2011 00:10:37 +0000 (00:10 +0000)]
Thumb1 convenience aliases for disassembler round-trip testing. CPS instruction.

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

12 years agoAttempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura,
Bruno Cardoso Lopes [Tue, 20 Sep 2011 00:08:12 +0000 (00:08 +0000)]
Attempt to fix -mtriple=i686-{cygwin|mingw|win32} regressions. Nakamura,
if this doesn't work, please provide more details.

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

12 years agoThumb CPS definition is not disassembler only.
Jim Grosbach [Tue, 20 Sep 2011 00:00:06 +0000 (00:00 +0000)]
Thumb CPS definition is not disassembler only.

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

12 years agoThumb2 range check on CPS mode immediate.
Jim Grosbach [Mon, 19 Sep 2011 23:58:31 +0000 (23:58 +0000)]
Thumb2 range check on CPS mode immediate.

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

12 years agotMOVSr is not allowed in an IT block either.
Owen Anderson [Mon, 19 Sep 2011 23:57:20 +0000 (23:57 +0000)]
tMOVSr is not allowed in an IT block either.

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

12 years agoUpdate to the new EH syntax.
Bill Wendling [Mon, 19 Sep 2011 23:50:34 +0000 (23:50 +0000)]
Update to the new EH syntax.

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

12 years agoCPS instructions are UNPREDICTABLE inside IT blocks.
Owen Anderson [Mon, 19 Sep 2011 23:47:10 +0000 (23:47 +0000)]
CPS instructions are UNPREDICTABLE inside IT blocks.

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

12 years agoDramatically reduce this testcase.
Bill Wendling [Mon, 19 Sep 2011 23:47:06 +0000 (23:47 +0000)]
Dramatically reduce this testcase.

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

12 years agoTidy up comments.
Jim Grosbach [Mon, 19 Sep 2011 23:38:34 +0000 (23:38 +0000)]
Tidy up comments.

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

12 years agoFix PR10949. Fix the encoding of VMOVPQIto64rr.
Bruno Cardoso Lopes [Mon, 19 Sep 2011 23:36:59 +0000 (23:36 +0000)]
Fix PR10949. Fix the encoding of VMOVPQIto64rr.

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

12 years agoBased on the small opt Zvi's patch was trying to achieve, eliminate
Bruno Cardoso Lopes [Mon, 19 Sep 2011 23:36:50 +0000 (23:36 +0000)]
Based on the small opt Zvi's patch was trying to achieve, eliminate
128-bit undef subvector insertion into a 256-bit vector

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

12 years agoTidy up a bit.
Jim Grosbach [Mon, 19 Sep 2011 23:34:18 +0000 (23:34 +0000)]
Tidy up a bit.

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

12 years agoThumb2 assembly parsing and encoding for UMAAL/UMLAL/UMULL.
Jim Grosbach [Mon, 19 Sep 2011 23:31:02 +0000 (23:31 +0000)]
Thumb2 assembly parsing and encoding for UMAAL/UMLAL/UMULL.

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

12 years agoRevert r140083 and r140084 until buildbots can be fixed.
Bill Wendling [Mon, 19 Sep 2011 23:30:41 +0000 (23:30 +0000)]
Revert r140083 and r140084 until buildbots can be fixed.

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

12 years agoRemove llvmc and assorted build machinery for it.
Eric Christopher [Mon, 19 Sep 2011 23:22:41 +0000 (23:22 +0000)]
Remove llvmc and assorted build machinery for it.

The problems that llvmc solved have largely been subsumed with the
tasks that the clang driver can accomplish, but llvmc lacks flexibility
and depends too heavily on the EOL'd llvm-gcc.

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

12 years agoThumb2 assembly parsing and encoding for UHSUB16/UHSUB8.
Jim Grosbach [Mon, 19 Sep 2011 23:15:36 +0000 (23:15 +0000)]
Thumb2 assembly parsing and encoding for UHSUB16/UHSUB8.

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

12 years agoThumb2 assembly parsing and encoding for UHASX/UHSAX.
Jim Grosbach [Mon, 19 Sep 2011 23:13:25 +0000 (23:13 +0000)]
Thumb2 assembly parsing and encoding for UHASX/UHSAX.

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

12 years agoThumb2 assembly parsing and encoding for UHADD16/UHADD8.
Jim Grosbach [Mon, 19 Sep 2011 23:08:24 +0000 (23:08 +0000)]
Thumb2 assembly parsing and encoding for UHADD16/UHADD8.

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

12 years agoThumb2 assembly parsing and encoding for UBFX.
Jim Grosbach [Mon, 19 Sep 2011 23:06:38 +0000 (23:06 +0000)]
Thumb2 assembly parsing and encoding for UBFX.

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

12 years agoThumb2 assembly parsing and encoding for UASX.
Jim Grosbach [Mon, 19 Sep 2011 23:05:22 +0000 (23:05 +0000)]
Thumb2 assembly parsing and encoding for UASX.

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

12 years agoUpdate test to remove the 'unwind' instruction.
Bill Wendling [Mon, 19 Sep 2011 23:01:11 +0000 (23:01 +0000)]
Update test to remove the 'unwind' instruction.

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

12 years agoIf we are extracting a basic block that ends in an invoke call, we must also
Bill Wendling [Mon, 19 Sep 2011 23:00:52 +0000 (23:00 +0000)]
If we are extracting a basic block that ends in an invoke call, we must also
extract the landing pad block. Otherwise, there will be a situation where the
invoke's unwind edge lands on a non-landing pad.

We also forbid the user from extracting the landing pad block by itself. Again,
this is not a valid transformation.

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

12 years agoFix copy/past-o. Gotta remember that 'modify' step...
Jim Grosbach [Mon, 19 Sep 2011 22:53:00 +0000 (22:53 +0000)]
Fix copy/past-o. Gotta remember that 'modify' step...

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

12 years agoThumb2 assembly parsing and encoding for UADD16/UADD8.
Jim Grosbach [Mon, 19 Sep 2011 22:52:27 +0000 (22:52 +0000)]
Thumb2 assembly parsing and encoding for UADD16/UADD8.

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

12 years agoThumb2 assembly parsing and encoding for TST.
Jim Grosbach [Mon, 19 Sep 2011 22:46:06 +0000 (22:46 +0000)]
Thumb2 assembly parsing and encoding for TST.

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

12 years agoThumb2 TBB and TBH instructions are only allowed at the end of IT blocks, not in...
Owen Anderson [Mon, 19 Sep 2011 22:34:23 +0000 (22:34 +0000)]
Thumb2 TBB and TBH instructions are only allowed at the end of IT blocks, not in the middle.

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

12 years agoThumb2 assembly parsing and encoding for TBB/TBH.
Jim Grosbach [Mon, 19 Sep 2011 22:21:13 +0000 (22:21 +0000)]
Thumb2 assembly parsing and encoding for TBB/TBH.

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

12 years agoReplace uses of unwind with unreachable for the same effect.
Bill Wendling [Mon, 19 Sep 2011 22:16:15 +0000 (22:16 +0000)]
Replace uses of unwind with unreachable for the same effect.

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

12 years agoReplace more uses of 'unwind' in the tests with calls to landingpad and
Bill Wendling [Mon, 19 Sep 2011 22:11:35 +0000 (22:11 +0000)]
Replace more uses of 'unwind' in the tests with calls to landingpad and
resume. Note that some of these tests were basically dead.

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

12 years agoSome additional tests for Thumb atomic load and store (which I somehow forgot to...
Eli Friedman [Mon, 19 Sep 2011 22:02:33 +0000 (22:02 +0000)]
Some additional tests for Thumb atomic load and store (which I somehow forgot to commit earlier).

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

12 years agoFix an infinite loop where a transform in InstCombiner::visitAnd claims a construct...
Eli Friedman [Mon, 19 Sep 2011 21:58:15 +0000 (21:58 +0000)]
Fix an infinite loop where a transform in InstCombiner::visitAnd claims a construct is changed when it is not.  (See included testcase.)

Patch by Xiaoyi Guo.

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

12 years agoThumb2 assembly parsing and encoding for TEQ.
Jim Grosbach [Mon, 19 Sep 2011 21:41:21 +0000 (21:41 +0000)]
Thumb2 assembly parsing and encoding for TEQ.

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

12 years agoMatch X86ISD::FSETCCsd and X86ISD::FSETCCss while in AVX mode. This fix
Bruno Cardoso Lopes [Mon, 19 Sep 2011 21:29:24 +0000 (21:29 +0000)]
Match X86ISD::FSETCCsd and X86ISD::FSETCCss while in AVX mode. This fix
PR10955 and PR10948.

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

12 years agoThis testcase is dead. It doesn't inline even if I add the 'alwaysinline'
Bill Wendling [Mon, 19 Sep 2011 21:14:33 +0000 (21:14 +0000)]
This testcase is dead. It doesn't inline even if I add the 'alwaysinline'
attribute to the @foo function.

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

12 years agoRegenerate configure.
Eric Christopher [Mon, 19 Sep 2011 20:46:12 +0000 (20:46 +0000)]
Regenerate configure.

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

12 years agoRename LLVM_MULTITHREADED define and fix build without threads.
Eric Christopher [Mon, 19 Sep 2011 20:43:23 +0000 (20:43 +0000)]
Rename LLVM_MULTITHREADED define and fix build without threads.

Patch by Arrowdodger.

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

12 years agoTidy up a bit.
Jim Grosbach [Mon, 19 Sep 2011 20:31:59 +0000 (20:31 +0000)]
Tidy up a bit.

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

12 years agoRemove FIXME. TBB/TBH are Thumb mode only instructions.
Jim Grosbach [Mon, 19 Sep 2011 20:30:29 +0000 (20:30 +0000)]
Remove FIXME. TBB/TBH are Thumb mode only instructions.

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

12 years agoThumb2 assembly parsing and encoding for SXTB/SXTB16/SXTH.
Jim Grosbach [Mon, 19 Sep 2011 20:29:33 +0000 (20:29 +0000)]
Thumb2 assembly parsing and encoding for SXTB/SXTB16/SXTH.

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

12 years agoMake changes to avoid creating nested CALLSEQ_START/END constructs, which aren't
Akira Hatanaka [Mon, 19 Sep 2011 20:26:02 +0000 (20:26 +0000)]
Make changes to avoid creating nested CALLSEQ_START/END constructs, which aren't
yet legal according to comments in LegalizeDAG.cpp:227.

Memcpy nodes created for copying byval arguments are inserted before
CALLSEQ_START.

The two failing tests reported in PR10876 pass after applying this patch.

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

12 years agoNope, there's another one!
Benjamin Kramer [Mon, 19 Sep 2011 20:23:01 +0000 (20:23 +0000)]
Nope, there's another one!

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

12 years agoMissed one instance of implicit pointer conversion.
Benjamin Kramer [Mon, 19 Sep 2011 20:14:46 +0000 (20:14 +0000)]
Missed one instance of implicit pointer conversion.

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

12 years agoSilence -Wsign-compare warnings from GCC.
Benjamin Kramer [Mon, 19 Sep 2011 20:08:54 +0000 (20:08 +0000)]
Silence -Wsign-compare warnings from GCC.

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

12 years agoTry to make MSVC 2010 happy.
Benjamin Kramer [Mon, 19 Sep 2011 20:08:52 +0000 (20:08 +0000)]
Try to make MSVC 2010 happy.

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

12 years agoSpecify an additional fixed bit in the Thumb2 SSAT encoding to prevent the decoder...
Owen Anderson [Mon, 19 Sep 2011 20:00:02 +0000 (20:00 +0000)]
Specify an additional fixed bit in the Thumb2 SSAT encoding to prevent the decoder from emitting gibberish for this invalid encoding.

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

12 years agoFix a typo in the bitcode reader in the handling of atomic stores. Reported by David...
Eli Friedman [Mon, 19 Sep 2011 19:41:28 +0000 (19:41 +0000)]
Fix a typo in the bitcode reader in the handling of atomic stores.  Reported by David Meyer on llvmdev.

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

12 years agoARM asm parsing should handle pre-indexed writeback w/o immediate.
Jim Grosbach [Mon, 19 Sep 2011 18:42:21 +0000 (18:42 +0000)]
ARM asm parsing should handle pre-indexed writeback w/o immediate.

For example, 'ldrb r9, [sp]!' is odd, but valid.

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

12 years agoBetter Error Reporting
David Greene [Mon, 19 Sep 2011 18:26:07 +0000 (18:26 +0000)]
Better Error Reporting

Report missing template arguments more helpfully by supplying the name
of the missing argument in the error message.

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

12 years agoX86 has asterisk-free inline asm support now.
Jakob Stoklund Olesen [Mon, 19 Sep 2011 18:15:46 +0000 (18:15 +0000)]
X86 has asterisk-free inline asm support now.

Floating point stack inline asm works.

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

12 years agoHandle STRT (and friends) like LDRT (and friends) for decoding purposes. Port over...
Owen Anderson [Mon, 19 Sep 2011 18:07:10 +0000 (18:07 +0000)]
Handle STRT (and friends) like LDRT (and friends) for decoding purposes.  Port over additional encoding tests to decoding tests.

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

12 years agoThumb2 assembly parsing and encoding for SXTAB/SXTAB16/SXTAH.
Jim Grosbach [Mon, 19 Sep 2011 17:56:37 +0000 (17:56 +0000)]
Thumb2 assembly parsing and encoding for SXTAB/SXTAB16/SXTAH.

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

12 years agoAdd a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional...
Benjamin Kramer [Mon, 19 Sep 2011 17:56:04 +0000 (17:56 +0000)]
Add a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional information that are only available on MachO.

- It can take FunctionStarts from a binary to find entry points more accurately.
- Symbol offsets in executables are correct now.

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

12 years agoMCInstrAnalysis: Don't crash on instructions with no operands.
Benjamin Kramer [Mon, 19 Sep 2011 17:56:00 +0000 (17:56 +0000)]
MCInstrAnalysis: Don't crash on instructions with no operands.

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

12 years ago[indvars] Fix PR10946: SCEV cannot handle Vector IVs.
Andrew Trick [Mon, 19 Sep 2011 17:54:39 +0000 (17:54 +0000)]
[indvars] Fix PR10946: SCEV cannot handle Vector IVs.

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

12 years agoThumb2 assembly parsing and encoding for SVC.
Jim Grosbach [Mon, 19 Sep 2011 17:40:35 +0000 (17:40 +0000)]
Thumb2 assembly parsing and encoding for SVC.

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

12 years agoThumb2 assembly parsing and encoding for SUB(register).
Jim Grosbach [Mon, 19 Sep 2011 17:37:48 +0000 (17:37 +0000)]
Thumb2 assembly parsing and encoding for SUB(register).

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

12 years agoAdded regression test for bug #10869.
Stepan Dyatkovskiy [Mon, 19 Sep 2011 07:48:08 +0000 (07:48 +0000)]
Added regression test for bug #10869.

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

12 years agoAdd Win32 support to llvm::llvm_execute_on_thread(). Thanks to Aaron Ballman!
NAKAMURA Takumi [Mon, 19 Sep 2011 07:41:43 +0000 (07:41 +0000)]
Add Win32 support to llvm::llvm_execute_on_thread(). Thanks to Aaron Ballman!

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

12 years agoClaimed.
Jakob Stoklund Olesen [Mon, 19 Sep 2011 05:34:10 +0000 (05:34 +0000)]
Claimed.

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

12 years agoFix typos in my prev commit, found by Tobi.
Nadav Rotem [Sun, 18 Sep 2011 19:00:23 +0000 (19:00 +0000)]
Fix typos in my prev commit, found by Tobi.

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

12 years agosetOperationAction should be done on the return value of the type, not the operands.
Nadav Rotem [Sun, 18 Sep 2011 14:57:03 +0000 (14:57 +0000)]
setOperationAction should be done on the return value of the type, not the operands.

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

12 years agoRemove obsolete .pod files.
Bill Wendling [Sun, 18 Sep 2011 12:52:55 +0000 (12:52 +0000)]
Remove obsolete .pod files.

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

12 years agoFix up the formating and change llvm-gcc to clang.
Bill Wendling [Sun, 18 Sep 2011 12:51:05 +0000 (12:51 +0000)]
Fix up the formating and change llvm-gcc to clang.

Note that this example doesn't work anymore!

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

12 years agoRemove mention of llvm-gcc/llvm-g++ from doc.
Bill Wendling [Sun, 18 Sep 2011 12:37:20 +0000 (12:37 +0000)]
Remove mention of llvm-gcc/llvm-g++ from doc.

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

12 years agoWhen promoting integer vectors we often create ext-loads. This patch adds a
Nadav Rotem [Sun, 18 Sep 2011 10:39:32 +0000 (10:39 +0000)]
When promoting integer vectors we often create ext-loads. This patch adds a
dag-combine optimization to implement the ext-load efficiently (using shuffles).

For example the type <4 x i8> is stored in memory as i32, but it needs to
find its way into a <4 x i32> register. Previously we scalarized the memory
access, now we use shuffles.

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

12 years agowhite space cleanups
Nadav Rotem [Sun, 18 Sep 2011 10:29:29 +0000 (10:29 +0000)]
white space cleanups

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

12 years agoFix typo by changing Lower256IntVETCC to Lower256IntVSETCC.
Craig Topper [Sun, 18 Sep 2011 08:03:58 +0000 (08:03 +0000)]
Fix typo by changing Lower256IntVETCC to Lower256IntVSETCC.

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

12 years agoApply Duncan's test fix from r139986 to the avx version of that test too.
Benjamin Kramer [Sun, 18 Sep 2011 00:41:38 +0000 (00:41 +0000)]
Apply Duncan's test fix from r139986 to the avx version of that test too.

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

12 years agoSynthesize x86 max/min instructions also for vectors (i.e. produce
Duncan Sands [Sat, 17 Sep 2011 16:49:39 +0000 (16:49 +0000)]
Synthesize x86 max/min instructions also for vectors (i.e. produce
maxps and maxpd).  This broke the sse41-blend.ll testcase by causing
maxpd to be produced rather than a cmp+blend pair, which is the reason
I tweaked it.  Gives a small speedup on doduc with dragonegg when the
GCC vectorizer is used.

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

12 years agoDescribe more AVX 128-bit convert instructions without patterns to have
Bruno Cardoso Lopes [Fri, 16 Sep 2011 23:41:29 +0000 (23:41 +0000)]
Describe more AVX 128-bit convert instructions without patterns to have
mayLoad = 1

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

12 years agoBitfield mask instructions are unpredictable if the encoded LSB is higher than the...
Owen Anderson [Fri, 16 Sep 2011 23:30:01 +0000 (23:30 +0000)]
Bitfield mask instructions are unpredictable if the encoded LSB is higher than the encoded MSB.

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

12 years agoAdd a testcase for another corner-case decoding.
Owen Anderson [Fri, 16 Sep 2011 23:15:29 +0000 (23:15 +0000)]
Add a testcase for another corner-case decoding.

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

12 years agoFix bitfield decoding based on Eli's feedback.
Owen Anderson [Fri, 16 Sep 2011 23:04:48 +0000 (23:04 +0000)]
Fix bitfield decoding based on Eli's feedback.

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

12 years agoAdd ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and...
Ted Kremenek [Fri, 16 Sep 2011 23:01:25 +0000 (23:01 +0000)]
Add ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and its Factory.  This may eventually replace Immtuable[Map,Set].

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

12 years agoThumb2 assembly parsing and encoding for SUB(immediate).
Jim Grosbach [Fri, 16 Sep 2011 22:58:42 +0000 (22:58 +0000)]
Thumb2 assembly parsing and encoding for SUB(immediate).

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

12 years agoThumb2 pre-indexed loads/stores use the restricted GPR set for Rt.
Owen Anderson [Fri, 16 Sep 2011 22:42:36 +0000 (22:42 +0000)]
Thumb2 pre-indexed loads/stores use the restricted GPR set for Rt.

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

12 years agoFix disassembly of Thumb2 BFI instructions with bit range of [0, 32).
Owen Anderson [Fri, 16 Sep 2011 22:29:48 +0000 (22:29 +0000)]
Fix disassembly of Thumb2 BFI instructions with bit range of [0, 32).

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

12 years agoThumb2 assembly parsing and encoding for STRT.
Jim Grosbach [Fri, 16 Sep 2011 22:27:12 +0000 (22:27 +0000)]
Thumb2 assembly parsing and encoding for STRT.

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

12 years agoThumb2 assembly parsing and encoding for LDRHT/STRHT.
Jim Grosbach [Fri, 16 Sep 2011 22:26:01 +0000 (22:26 +0000)]
Thumb2 assembly parsing and encoding for LDRHT/STRHT.

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

12 years agoThumb2 assembly parsing and encoding for STREX/STREXB/STREXH/STREXD.
Jim Grosbach [Fri, 16 Sep 2011 22:22:07 +0000 (22:22 +0000)]
Thumb2 assembly parsing and encoding for STREX/STREXB/STREXH/STREXD.

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

12 years agoThumb2 assembly parsing and encoding for STRD.
Jim Grosbach [Fri, 16 Sep 2011 22:19:38 +0000 (22:19 +0000)]
Thumb2 assembly parsing and encoding for STRD.

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

12 years agoSimplify comment. There's no Thumb LDRD(register) encoding. That's ARM only.
Jim Grosbach [Fri, 16 Sep 2011 22:18:42 +0000 (22:18 +0000)]
Simplify comment. There's no Thumb LDRD(register) encoding. That's ARM only.

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

12 years agoAdd fixed bits to correctly distinguish Thumb2 SSAT/SSAT16's.
Owen Anderson [Fri, 16 Sep 2011 22:17:02 +0000 (22:17 +0000)]
Add fixed bits to correctly distinguish Thumb2 SSAT/SSAT16's.

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

12 years agoThumb2 assembly parsing and encoding for STRBT.
Jim Grosbach [Fri, 16 Sep 2011 22:15:51 +0000 (22:15 +0000)]
Thumb2 assembly parsing and encoding for STRBT.

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

12 years agoThumb2 assembly parsing and encoding for STRH.
Jim Grosbach [Fri, 16 Sep 2011 22:12:19 +0000 (22:12 +0000)]
Thumb2 assembly parsing and encoding for STRH.

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

12 years agoRemove test of undocumented format.
Jim Grosbach [Fri, 16 Sep 2011 22:09:58 +0000 (22:09 +0000)]
Remove test of undocumented format.

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

12 years agoThumb2 assembly parsing and encoding for STRB.
Jim Grosbach [Fri, 16 Sep 2011 22:09:19 +0000 (22:09 +0000)]
Thumb2 assembly parsing and encoding for STRB.

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

12 years agoAdd mayLoad attribute to AVX convert instructions, since non of them
Bruno Cardoso Lopes [Fri, 16 Sep 2011 22:02:14 +0000 (22:02 +0000)]
Add mayLoad attribute to AVX convert instructions, since non of them
are declared with load patterns. This fix the crash in PR10941. No testcases,
since a fold is triggered and then converted back to the register form
afterwards.

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

12 years agoShuffle a few more thumb2 tests to match the comment headings.
Jim Grosbach [Fri, 16 Sep 2011 22:01:18 +0000 (22:01 +0000)]
Shuffle a few more thumb2 tests to match the comment headings.

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

12 years agoThumb2 tests for STR(literal), STR(register) and STR pre/post indexed immediate.
Jim Grosbach [Fri, 16 Sep 2011 21:59:13 +0000 (21:59 +0000)]
Thumb2 tests for STR(literal), STR(register) and STR pre/post indexed immediate.

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

12 years agoShuffle a few tests around.
Jim Grosbach [Fri, 16 Sep 2011 21:57:10 +0000 (21:57 +0000)]
Shuffle a few tests around.

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

12 years agoThumb2 assembly parsing and encoding for STR.
Jim Grosbach [Fri, 16 Sep 2011 21:55:56 +0000 (21:55 +0000)]
Thumb2 assembly parsing and encoding for STR.

More addressing mode encoding bits. Handle pre increment for STR/STRB/STRH
and STR(register).

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

12 years agoAdd -rfunc and -rglob options to llvm-extract to support regular
Chad Rosier [Fri, 16 Sep 2011 21:09:17 +0000 (21:09 +0000)]
Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

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

12 years agoTidy up. 80 columns.
Jim Grosbach [Fri, 16 Sep 2011 21:09:00 +0000 (21:09 +0000)]
Tidy up. 80 columns.

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

12 years agoFix disassembly of Thumb2 LDRSH with a #-0 offset.
Owen Anderson [Fri, 16 Sep 2011 21:08:33 +0000 (21:08 +0000)]
Fix disassembly of Thumb2 LDRSH with a #-0 offset.

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

12 years agoThumb2 assembly parsing and encoding for STR(immediate).
Jim Grosbach [Fri, 16 Sep 2011 21:06:12 +0000 (21:06 +0000)]
Thumb2 assembly parsing and encoding for STR(immediate).

Add aliases for STRB/STRH while there. Tests forthcoming for those.

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

12 years agoThumb2 assembly parsing and encoding for STMDB.
Jim Grosbach [Fri, 16 Sep 2011 20:58:38 +0000 (20:58 +0000)]
Thumb2 assembly parsing and encoding for STMDB.

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

12 years agoFix PR10884.
Bruno Cardoso Lopes [Fri, 16 Sep 2011 20:58:28 +0000 (20:58 +0000)]
Fix PR10884.

This PR basically reports a problem where a crash in generated code
happened due to %rbp being clobbered:

  pushq %rbp
  movq  %rsp, %rbp
  ....
  vmovmskps %ymm12, %ebp
  ....
  movq  %rbp, %rsp
  popq  %rbp
  ret

Since Eric's r123367 commit, the default stack alignment for x86 32-bit
has changed to be 16-bytes. Since then, the MaxStackAlignmentHeuristicPass
hasn't been really used, but with AVX it becomes useful again, since per
ABI compliance we don't always align the stack to 256-bit, but only when
there are 256-bit incoming arguments.

ReserveFP was only used by this pass, but there's no RA target hook that
uses getReserveFP() to check for the presence of FP (since nothing was
triggering the pass to run, the uses of getReserveFP() were removed
through time without being noticed). Change this pass to use
setForceFramePointer, which is properly called by MachineFunction
hasFP method.

The testcase is very big and dependent on RA, not sure if it's worth
adding to test/CodeGen/X86.

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

12 years agoThumb2 assembly parsing and encoding for STMIA.
Jim Grosbach [Fri, 16 Sep 2011 20:50:13 +0000 (20:50 +0000)]
Thumb2 assembly parsing and encoding for STMIA.

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