oota-llvm.git
13 years agoA landingpad instruction is neither folded nor dead.
Bill Wendling [Tue, 23 Aug 2011 21:33:05 +0000 (21:33 +0000)]
A landingpad instruction is neither folded nor dead.

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

13 years agoMove ARM frame-unwinding EHABI handling a touch earlier.
Jim Grosbach [Tue, 23 Aug 2011 21:32:34 +0000 (21:32 +0000)]
Move ARM frame-unwinding EHABI handling a touch earlier.

It should go before AsmPrinter MC pseudo expansion since it's based on
MachineInstr, not MCInst. Otherwise any frame related pseudo instructions
may be missed.

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

13 years ago[SU]XT[BH] are only available on ARMv6 and up.
Jim Grosbach [Tue, 23 Aug 2011 20:53:08 +0000 (20:53 +0000)]
[SU]XT[BH] are only available on ARMv6 and up.

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

13 years agoAdd some useful accessors to c++ api that appear to be missing from the c api
Nate Begeman [Tue, 23 Aug 2011 20:27:46 +0000 (20:27 +0000)]
Add some useful accessors to c++ api that appear to be missing from the c api

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

13 years agoSome refactoring so TargetRegistry.h no longer has to include any files
Evan Cheng [Tue, 23 Aug 2011 20:15:21 +0000 (20:15 +0000)]
Some refactoring so TargetRegistry.h no longer has to include any files
from MC.

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

13 years agoRevert "Address Duncan's CR request:"
Eric Christopher [Tue, 23 Aug 2011 20:11:10 +0000 (20:11 +0000)]
Revert "Address Duncan's CR request:"

This reverts commit 20a05be15ea5271ab6185b83200fa88263362400. (svn rev 138340)

Conflicts:

test/Transforms/InstCombine/bitcast.ll

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

13 years agoThumb parsing and encoding for WFE, WFI and YIELD.
Jim Grosbach [Tue, 23 Aug 2011 20:02:30 +0000 (20:02 +0000)]
Thumb parsing and encoding for WFE, WFI and YIELD.

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

13 years agoThumb parsing and encoding for UXTB and UXTH.
Jim Grosbach [Tue, 23 Aug 2011 19:59:32 +0000 (19:59 +0000)]
Thumb parsing and encoding for UXTB and UXTH.

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

13 years agoThumb parsing and encoding for TST.
Jim Grosbach [Tue, 23 Aug 2011 19:53:17 +0000 (19:53 +0000)]
Thumb parsing and encoding for TST.

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

13 years agoThumb parsing and encoding for SXTB and SXTH.
Jim Grosbach [Tue, 23 Aug 2011 19:51:42 +0000 (19:51 +0000)]
Thumb parsing and encoding for SXTB and SXTH.

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

13 years agoThumb parsing and encoding for SVC.
Jim Grosbach [Tue, 23 Aug 2011 19:49:10 +0000 (19:49 +0000)]
Thumb parsing and encoding for SVC.

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

13 years agoThumb parsing and encoding for SUB.
Jim Grosbach [Tue, 23 Aug 2011 19:45:45 +0000 (19:45 +0000)]
Thumb parsing and encoding for SUB.

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

13 years agoFix 80 col violations.
Evan Cheng [Tue, 23 Aug 2011 19:17:21 +0000 (19:17 +0000)]
Fix 80 col violations.

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

13 years agoPerformSubCombine to work on integers larger than i128. Fixes a crasher.
Nick Lewycky [Tue, 23 Aug 2011 19:01:24 +0000 (19:01 +0000)]
PerformSubCombine to work on integers larger than i128. Fixes a crasher.

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

13 years agoThumb parsing and encoding for STRH.
Jim Grosbach [Tue, 23 Aug 2011 18:56:20 +0000 (18:56 +0000)]
Thumb parsing and encoding for STRH.

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

13 years agoThread safety: Adding in an option for variadic expr* array of arguments
Caitlin Sadowski [Tue, 23 Aug 2011 18:49:23 +0000 (18:49 +0000)]
Thread safety: Adding in an option for variadic expr* array of arguments

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

13 years agoThumb parsing and encoding for STRB.
Jim Grosbach [Tue, 23 Aug 2011 18:43:06 +0000 (18:43 +0000)]
Thumb parsing and encoding for STRB.

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

13 years agoThumb parsing and encoding for tSTRspi.
Jim Grosbach [Tue, 23 Aug 2011 18:39:41 +0000 (18:39 +0000)]
Thumb parsing and encoding for tSTRspi.

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

13 years agoThumb parsing and encoding for STR.
Jim Grosbach [Tue, 23 Aug 2011 18:33:38 +0000 (18:33 +0000)]
Thumb parsing and encoding for STR.

Not including tSTRspi.

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

13 years agoFix an example in the documentation.
Rafael Espindola [Tue, 23 Aug 2011 18:26:56 +0000 (18:26 +0000)]
Fix an example in the documentation.
Patch by Sanjoy Das!

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

13 years agoThumb parsing and encoding for STM.
Jim Grosbach [Tue, 23 Aug 2011 18:15:37 +0000 (18:15 +0000)]
Thumb parsing and encoding for STM.

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

13 years agoFactor low reg checking into a helper function.
Jim Grosbach [Tue, 23 Aug 2011 18:13:04 +0000 (18:13 +0000)]
Factor low reg checking into a helper function.

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

13 years agoFix a typo in the test from the previous commit.
Nadav Rotem [Tue, 23 Aug 2011 17:56:54 +0000 (17:56 +0000)]
Fix a typo in the test from the previous commit.

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

13 years agoFix decoding of Thumb2 prefetch instructions, which account for all the remaining...
Owen Anderson [Tue, 23 Aug 2011 17:51:38 +0000 (17:51 +0000)]
Fix decoding of Thumb2 prefetch instructions, which account for all the remaining Thumb2 decoding failures found by randomized testing so far.

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

13 years agoAddress Duncan's CR request:
Nadav Rotem [Tue, 23 Aug 2011 17:48:43 +0000 (17:48 +0000)]
Address Duncan's CR request:
1. Cleanup the tests in ConstantFolding.cpp
2. Implement isAllOnes for Constant, ConstantFP, ConstantVector

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

13 years agoFix Thumb2 decoding of CPS instructions to mirror ARM decoding of the same instructions.
Owen Anderson [Tue, 23 Aug 2011 17:45:18 +0000 (17:45 +0000)]
Fix Thumb2 decoding of CPS instructions to mirror ARM decoding of the same instructions.

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

13 years agoClean up Thumb load/store multiple definitions.
Jim Grosbach [Tue, 23 Aug 2011 17:41:15 +0000 (17:41 +0000)]
Clean up Thumb load/store multiple definitions.

There is no non-writeback store multiple instruction in Thumb1, so
don't define one. As a result load multiple is the only instantiation of
the multiclass, so refactor that away entirely.

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

13 years agoFix two more instances of mis-matched operand names breaking disassembly. Found...
Owen Anderson [Tue, 23 Aug 2011 17:37:32 +0000 (17:37 +0000)]
Fix two more instances of mis-matched operand names breaking disassembly.  Found by randomized testing.

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

13 years agoPort more assemble tests over to disassembly tests.
Owen Anderson [Tue, 23 Aug 2011 17:26:35 +0000 (17:26 +0000)]
Port more assemble tests over to disassembly tests.

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

13 years agoThis patch adds support of le32 pseudo-cpu that stands for generic
Ivan Krasin [Tue, 23 Aug 2011 16:59:00 +0000 (16:59 +0000)]
This patch adds support of le32 pseudo-cpu that stands for generic
32-bit little-endian CPU. Used by PNaCl and Emscripten.

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

13 years agoFix fpimmm->fpimm typo.
Eric Christopher [Tue, 23 Aug 2011 15:42:35 +0000 (15:42 +0000)]
Fix fpimmm->fpimm typo.

Patch by Micah Villmow!

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

13 years agoUpdate config.sub, config.guess and configure.
Ivan Krasin [Tue, 23 Aug 2011 06:43:49 +0000 (06:43 +0000)]
Update config.sub, config.guess and configure.

The motivation to do that:

1. Now, llvm would use the stock config.sub. Before that we had an
uncommitted FreeBSD-related patch. Now, it has been upstreamed and
comes back. It means that it would be easier to update these files in
the next time (less magic knowledge)

2. Fix a typo for pseudo-CPUs: 32e[lb] -> [lb]e32, 64e[lb]->[lb]64.
One of these CPUs is used for PNaCl and it was not really convenient
to have a CPU that starts with a digit.

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

13 years agoAdd support for breaking 256-bit v16i16 and v32i8 VSETCC into two 128-bit ones, avoid...
Craig Topper [Tue, 23 Aug 2011 04:36:33 +0000 (04:36 +0000)]
Add support for breaking 256-bit v16i16 and v32i8 VSETCC into two 128-bit ones, avoiding sclarization. Add vex form of pcmpeqq and pcmpgtq. Fixes more cases for PR10712.

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

13 years agolib/Support/Windows/Windows.h: Update required IE ver. 0x0600 should be enough for...
NAKAMURA Takumi [Tue, 23 Aug 2011 03:49:11 +0000 (03:49 +0000)]
lib/Support/Windows/Windows.h: Update required IE ver. 0x0600 should be enough for Windows XP.

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

13 years agoIntroduce a pass to insert vzeroupper instructions to avoid AVX to
Bruno Cardoso Lopes [Tue, 23 Aug 2011 01:14:17 +0000 (01:14 +0000)]
Introduce a pass to insert vzeroupper instructions to avoid AVX to
SSE transition penalty. The pass is enabled through the "x86-use-vzeroupper"
llc command line option. This is only the first step (very naive and
conservative one) to sketch out the idea, but proper DFA is coming next
to allow smarter decisions. Comments and ideas now and in further commits
will be very appreciated.

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

13 years agoThumb parsing and encoding for SETEND.
Jim Grosbach [Mon, 22 Aug 2011 23:58:02 +0000 (23:58 +0000)]
Thumb parsing and encoding for SETEND.

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

13 years agoThumb parsing and encoding for SBC.
Jim Grosbach [Mon, 22 Aug 2011 23:55:58 +0000 (23:55 +0000)]
Thumb parsing and encoding for SBC.

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

13 years agoThumb parsing and encoding for RSB.
Jim Grosbach [Mon, 22 Aug 2011 23:47:13 +0000 (23:47 +0000)]
Thumb parsing and encoding for RSB.

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

13 years agoReject invalid imod values in t2CPS instructions.
Owen Anderson [Mon, 22 Aug 2011 23:44:04 +0000 (23:44 +0000)]
Reject invalid imod values in t2CPS instructions.

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

13 years agoAdd an MCInstrAnalysis version of isCall.
Benjamin Kramer [Mon, 22 Aug 2011 23:41:41 +0000 (23:41 +0000)]
Add an MCInstrAnalysis version of isCall.

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

13 years agoThumb parsing and encoding for ROR.
Jim Grosbach [Mon, 22 Aug 2011 23:40:51 +0000 (23:40 +0000)]
Thumb parsing and encoding for ROR.

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

13 years agoThumb parsing and encoding for REV/REV16/REVSH.
Jim Grosbach [Mon, 22 Aug 2011 23:39:25 +0000 (23:39 +0000)]
Thumb parsing and encoding for REV/REV16/REVSH.

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

13 years agoSplit the landing pad's edge. Then for all uses of a landingpad instruction's
Bill Wendling [Mon, 22 Aug 2011 23:38:40 +0000 (23:38 +0000)]
Split the landing pad's edge. Then for all uses of a landingpad instruction's
value, we insert a load of the exception object and selector object from memory,
which is where it actually resides. If it's used by a PHI node, we follow that
to where it is being used. Eventually, all landingpad instructions should have
no uses. Any PHI nodes that were associated with those landingpads should be
removed.

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

13 years agot2SMLAD is a four-register instruction, not a three-register one.
Owen Anderson [Mon, 22 Aug 2011 23:31:45 +0000 (23:31 +0000)]
t2SMLAD is a four-register instruction, not a three-register one.

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

13 years agoCorrect operand naming of t2USAT16 to allow proper decoding.
Owen Anderson [Mon, 22 Aug 2011 23:27:47 +0000 (23:27 +0000)]
Correct operand naming of t2USAT16 to allow proper decoding.

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

13 years agoRevert r138278 now that r138289 has fixed the root issue.
Jim Grosbach [Mon, 22 Aug 2011 23:25:48 +0000 (23:25 +0000)]
Revert r138278 now that r138289 has fixed the root issue.

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

13 years agoMatch operand naming to allow correct decoding of t2LDRSH_POST.
Owen Anderson [Mon, 22 Aug 2011 23:22:05 +0000 (23:22 +0000)]
Match operand naming to allow correct decoding of t2LDRSH_POST.

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

13 years agodocs/ReleaseNotes.html: Mention that Windows 2000 will not be supported any more.
NAKAMURA Takumi [Mon, 22 Aug 2011 23:22:05 +0000 (23:22 +0000)]
docs/ReleaseNotes.html: Mention that Windows 2000 will not be supported any more.

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

13 years agoImprove error checking for tPUSH and tPOP register lists.
Jim Grosbach [Mon, 22 Aug 2011 23:17:34 +0000 (23:17 +0000)]
Improve error checking for tPUSH and tPOP register lists.

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

13 years agoMatch operand names to provide correct decoding for Thumb2 SMULL.
Owen Anderson [Mon, 22 Aug 2011 23:16:48 +0000 (23:16 +0000)]
Match operand names to provide correct decoding for Thumb2 SMULL.

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

13 years agoTidy up. Trailing whitespace.
Jim Grosbach [Mon, 22 Aug 2011 23:13:54 +0000 (23:13 +0000)]
Tidy up. Trailing whitespace.

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

13 years agoProvide a correct decoder hook for Thumb2 shifted registers. Found by randomized...
Owen Anderson [Mon, 22 Aug 2011 23:10:16 +0000 (23:10 +0000)]
Provide a correct decoder hook for Thumb2 shifted registers.  Found by randomized testing.

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

13 years agoAdd NativeClient support to Triple::ParseOS.
Ivan Krasin [Mon, 22 Aug 2011 23:08:53 +0000 (23:08 +0000)]
Add NativeClient support to Triple::ParseOS.

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

13 years agoThumb parsing and encoding for PUSH.
Jim Grosbach [Mon, 22 Aug 2011 23:05:11 +0000 (23:05 +0000)]
Thumb parsing and encoding for PUSH.

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

13 years agoFollow up to Jim's r138278. This fixes commuteInstruction so it handles two-address...
Evan Cheng [Mon, 22 Aug 2011 23:04:56 +0000 (23:04 +0000)]
Follow up to Jim's r138278. This fixes commuteInstruction so it handles two-address instructions correctly. I'll let Jim add a test case. :-)

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

13 years agoFix think-o.
Jim Grosbach [Mon, 22 Aug 2011 23:04:26 +0000 (23:04 +0000)]
Fix think-o.

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

13 years agoThumb assemmbly parsing diagnostic improvements for LDM.
Jim Grosbach [Mon, 22 Aug 2011 23:01:07 +0000 (23:01 +0000)]
Thumb assemmbly parsing diagnostic improvements for LDM.

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

13 years agoThumb assembly parsing and encoding for POP.
Jim Grosbach [Mon, 22 Aug 2011 23:00:19 +0000 (23:00 +0000)]
Thumb assembly parsing and encoding for POP.

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

13 years agoX86: Add some operand types required to identify calls.
Benjamin Kramer [Mon, 22 Aug 2011 22:55:32 +0000 (22:55 +0000)]
X86: Add some operand types required to identify calls.

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

13 years agoTemporarilly mark tMUL as not commutable.
Jim Grosbach [Mon, 22 Aug 2011 22:00:18 +0000 (22:00 +0000)]
Temporarilly mark tMUL as not commutable.

It's not playing nicely in the coalescer with the tied operand. Disable
commutability for now while we figure out the deeper fix.

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

13 years agoSome minor wording updates and cross-linking for atomic docs. Explicitly note that...
Eli Friedman [Mon, 22 Aug 2011 21:35:27 +0000 (21:35 +0000)]
Some minor wording updates and cross-linking for atomic docs.  Explicitly note that we don't try to portably define what volatile in LLVM IR means.

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

13 years agoProvide operand encoding information for half-precision VCVT instructions. Found...
Owen Anderson [Mon, 22 Aug 2011 21:34:00 +0000 (21:34 +0000)]
Provide operand encoding information for half-precision VCVT instructions.  Found by randomized testing.

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

13 years agoAdd support for breaking 256-bit int VETCC into two 128-bit ones,
Bruno Cardoso Lopes [Mon, 22 Aug 2011 20:31:04 +0000 (20:31 +0000)]
Add support for breaking 256-bit int VETCC into two 128-bit ones,
avoding scalarization of the compare. Reduces code from 59 to 6
instructions. Fix PR10712.

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

13 years agoAdd 128-bit AVX codegen for PCMP* family of integer instructions
Bruno Cardoso Lopes [Mon, 22 Aug 2011 20:31:00 +0000 (20:31 +0000)]
Add 128-bit AVX codegen for PCMP* family of integer instructions

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

13 years agoFix decoding of VMOVSRR and VMOVRRS, which account for the overwhelming majority...
Owen Anderson [Mon, 22 Aug 2011 20:27:12 +0000 (20:27 +0000)]
Fix decoding of VMOVSRR and VMOVRRS, which account for the overwhelming majority of decoder crashes detected by randomized testing.

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

13 years agoMake DynamicLibrary thread-safe w/r/t call to dlerror() after dlopen(). PR10718
Jordy Rose [Mon, 22 Aug 2011 19:01:52 +0000 (19:01 +0000)]
Make DynamicLibrary thread-safe w/r/t call to dlerror() after dlopen(). PR10718

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

13 years agoTighten up ARM reglist validation a bit.
Jim Grosbach [Mon, 22 Aug 2011 18:50:36 +0000 (18:50 +0000)]
Tighten up ARM reglist validation a bit.

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

13 years agoSome whitespace fixes and #include reordering.
Bill Wendling [Mon, 22 Aug 2011 18:44:49 +0000 (18:44 +0000)]
Some whitespace fixes and #include reordering.

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

13 years agoFix another batch of VLD/VST decoding crashes discovered by randomized testing.
Owen Anderson [Mon, 22 Aug 2011 18:42:13 +0000 (18:42 +0000)]
Fix another batch of VLD/VST decoding crashes discovered by randomized testing.

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

13 years agoBe less redundant.
Nick Lewycky [Mon, 22 Aug 2011 18:26:12 +0000 (18:26 +0000)]
Be less redundant.

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

13 years agoCorrect writeback handling of duplicating VLD instructions. Discovered by randomized...
Owen Anderson [Mon, 22 Aug 2011 18:22:06 +0000 (18:22 +0000)]
Correct writeback handling of duplicating VLD instructions.  Discovered by randomized testing.

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

13 years agoPort another swathe of Thumb1 encoding tests over to decoding tests.
Owen Anderson [Mon, 22 Aug 2011 18:05:49 +0000 (18:05 +0000)]
Port another swathe of Thumb1 encoding tests over to decoding tests.

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

13 years agoClean up predicates on ARM target instruction aliases.
Jim Grosbach [Mon, 22 Aug 2011 18:04:24 +0000 (18:04 +0000)]
Clean up predicates on ARM target instruction aliases.

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

13 years agoFix an incorrect shift when decoding SP-relative stores in Thumb1-mode. Add more...
Owen Anderson [Mon, 22 Aug 2011 17:56:58 +0000 (17:56 +0000)]
Fix an incorrect shift when decoding SP-relative stores in Thumb1-mode.  Add more tests.

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

13 years agoThumb assembly parsing and encoding for ORR.
Jim Grosbach [Mon, 22 Aug 2011 17:41:44 +0000 (17:41 +0000)]
Thumb assembly parsing and encoding for ORR.

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

13 years agoAdd a comment.
Dan Gohman [Mon, 22 Aug 2011 17:29:37 +0000 (17:29 +0000)]
Add a comment.

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

13 years agoConstant pointers to objects don't need reference counting.
Dan Gohman [Mon, 22 Aug 2011 17:29:11 +0000 (17:29 +0000)]
Constant pointers to objects don't need reference counting.

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

13 years agoMake a few tests slightly more strict.
Dan Gohman [Mon, 22 Aug 2011 17:27:02 +0000 (17:27 +0000)]
Make a few tests slightly more strict.

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

13 years agoTestcase for PR10663.
Duncan Sands [Mon, 22 Aug 2011 10:32:09 +0000 (10:32 +0000)]
Testcase for PR10663.

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

13 years agoRemove DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS, folding its
Jay Foad [Mon, 22 Aug 2011 09:37:03 +0000 (09:37 +0000)]
Remove DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS, folding its
functionality into DEFINE_TRANSPARENT_OPERAND_ACCESSORS. A side-effect
of this is that the operand accessors for Constants will tolerate NULL
operands, fixing PR10663.

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

13 years agoPathV2: Handle more reserved filenames on windows.
Benjamin Kramer [Sat, 20 Aug 2011 21:36:38 +0000 (21:36 +0000)]
PathV2: Handle more reserved filenames on windows.

Patch by Aaron Ballman!

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

13 years agoFix AsmParser binary precedence for shift operators.
Jim Grosbach [Sat, 20 Aug 2011 16:24:13 +0000 (16:24 +0000)]
Fix AsmParser binary precedence for shift operators.

rdar://9976729

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

13 years agoTidy up. Whitespace.
Jim Grosbach [Sat, 20 Aug 2011 16:10:09 +0000 (16:10 +0000)]
Tidy up. Whitespace.

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

13 years agoAdd constant folding support for bitcasts of splat vectors to integers.
Nadav Rotem [Sat, 20 Aug 2011 14:02:29 +0000 (14:02 +0000)]
Add constant folding support for bitcasts of splat vectors to integers.

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

13 years agolib/Support/CrashRecoveryContext.cpp: Add Win32 support to CrashRecoveryContext....
NAKAMURA Takumi [Sat, 20 Aug 2011 06:35:36 +0000 (06:35 +0000)]
lib/Support/CrashRecoveryContext.cpp: Add Win32 support to CrashRecoveryContext. Thanks to Aaron Ballman!

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

13 years agolib/Support/Windows/Windows.h: Require at least Windows XP(5.1) API. We will not...
NAKAMURA Takumi [Sat, 20 Aug 2011 06:35:31 +0000 (06:35 +0000)]
lib/Support/Windows/Windows.h: Require at least Windows XP(5.1) API. We will not support Windows 2000 any more.

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

13 years agoutils/lit/lit/TestingConfig.py: Pass TEMP and TMP to tests on Win32 hosts.
NAKAMURA Takumi [Sat, 20 Aug 2011 05:44:58 +0000 (05:44 +0000)]
utils/lit/lit/TestingConfig.py: Pass TEMP and TMP to tests on Win32 hosts.

Win32 GetTempPath() tends to pick up %WINDIR% when neither TEMP nor TMP was found. %WINDIR% should not be treated writable on recent Windows OS.

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

13 years agoutils/lit/lit/TestingConfig.py: Split out environment vars for Win32.
NAKAMURA Takumi [Sat, 20 Aug 2011 05:44:52 +0000 (05:44 +0000)]
utils/lit/lit/TestingConfig.py: Split out environment vars for Win32.

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

13 years agoCast through intptr_t, ISO C++ requires it.
Benjamin Kramer [Sat, 20 Aug 2011 02:22:42 +0000 (02:22 +0000)]
Cast through intptr_t, ISO C++ requires it.

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

13 years agoRemove remainder of migrated or obsolete tests from FrontendC and remove
Eric Christopher [Sat, 20 Aug 2011 01:04:56 +0000 (01:04 +0000)]
Remove remainder of migrated or obsolete tests from FrontendC and remove
the empty directory.

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

13 years agoRemove the VMOVQQ pseudo instruction.
Chad Rosier [Sat, 20 Aug 2011 00:52:40 +0000 (00:52 +0000)]
Remove the VMOVQQ pseudo instruction.

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

13 years agoRemove migrated or obsolete tests.
Eric Christopher [Sat, 20 Aug 2011 00:49:30 +0000 (00:49 +0000)]
Remove migrated or obsolete tests.

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

13 years agoRemove VMOVQQQQ pseudo instruction.
Chad Rosier [Sat, 20 Aug 2011 00:40:14 +0000 (00:40 +0000)]
Remove VMOVQQQQ pseudo instruction.

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

13 years agoRemove obsolete or migrated tests.
Eric Christopher [Sat, 20 Aug 2011 00:38:20 +0000 (00:38 +0000)]
Remove obsolete or migrated tests.

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

13 years agoWith the fix in r138164: "Add <imp-def> operands to QQ and QQQQ stack loads."
Chad Rosier [Sat, 20 Aug 2011 00:34:45 +0000 (00:34 +0000)]
With the fix in r138164: "Add <imp-def> operands to QQ and QQQQ stack loads."
-verify-machineinstrs can be enabled for this test case.

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

13 years agoRemove obsoleted test.
Eric Christopher [Sat, 20 Aug 2011 00:26:30 +0000 (00:26 +0000)]
Remove obsoleted test.

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

13 years agoRemove tests that were either migrated to clang or are obsolete.
Eric Christopher [Sat, 20 Aug 2011 00:25:42 +0000 (00:25 +0000)]
Remove tests that were either migrated to clang or are obsolete.

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

13 years agoRemove the rest of the files in FrontendC++ and the directory itself.
Eric Christopher [Sat, 20 Aug 2011 00:17:58 +0000 (00:17 +0000)]
Remove the rest of the files in FrontendC++ and the directory itself.

All tests have been updated and migrated into clang or were obsolete.

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

13 years agoAdd <imp-def> operands to QQ and QQQQ stack loads.
Jakob Stoklund Olesen [Sat, 20 Aug 2011 00:17:45 +0000 (00:17 +0000)]
Add <imp-def> operands to QQ and QQQQ stack loads.

This pleases the register scavenger and brings
test/CodeGen/ARM/2011-08-12-vmovqqqq-pseudo.ll a little closer to
working with -verify-machineinstrs.

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

13 years agoVMOVQQQQs pseudo instructions are only created by ARMBaseInstrInfo::copyPhysReg.
Chad Rosier [Sat, 20 Aug 2011 00:17:25 +0000 (00:17 +0000)]
VMOVQQQQs pseudo instructions are only created by ARMBaseInstrInfo::copyPhysReg.
Therefore, rather then generate a pseudo instruction, which is later expanded,
generate the necessary instructions in place.

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