Eli Friedman [Wed, 24 Aug 2011 21:17:30 +0000 (21:17 +0000)]
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138487
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 24 Aug 2011 21:16:59 +0000 (21:16 +0000)]
Basic tests for atomic load and store on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138486
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Aug 2011 21:06:46 +0000 (21:06 +0000)]
Skip the landingpad instruction when determining the insertion point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138481
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 24 Aug 2011 20:50:09 +0000 (20:50 +0000)]
Basic x86 code generation for atomic load and store instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138478
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Aug 2011 20:28:43 +0000 (20:28 +0000)]
Use getFirstInsertionPt instead of getFirstNonPHI so that it skips to the proper
insertion place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138473
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 24 Aug 2011 20:28:39 +0000 (20:28 +0000)]
Some minor updates to atomic acquire/release docs in LangRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138472
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Wed, 24 Aug 2011 20:18:38 +0000 (20:18 +0000)]
Implement Constant::isAllOnesValue(). Fix ConstantFolding to use the new api.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138469
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Aug 2011 20:06:14 +0000 (20:06 +0000)]
When printing Thumb1 NOP ('mov r8, r8'), make sure to print the predicate.
rdar://
10015134
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138467
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 24 Aug 2011 18:48:33 +0000 (18:48 +0000)]
Mark VZEROALL as clobbering all YMM registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138461
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Aug 2011 18:19:42 +0000 (18:19 +0000)]
Add missing explicit writeback operand to tSTMIA_UPD.
rdar://
10014745
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138457
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Aug 2011 18:08:43 +0000 (18:08 +0000)]
Move TargetRegistry and TargetSelect from Target to Support where they belong.
These are strictly utilities for registering targets and components.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 24 Aug 2011 18:07:01 +0000 (18:07 +0000)]
Fix a crashing bug in SplitBlock when it is called on a block with no
dominator information even though dominators were previously computed.
Patch by Nick Sumner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138449
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Aug 2011 18:04:27 +0000 (18:04 +0000)]
Thumb add SP assembly syntax fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138448
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Aug 2011 17:46:13 +0000 (17:46 +0000)]
Thumb1 ADD/SUB SP instructions are predicable in Thumb2 mode.
Add the predicate operand to the instructions. Update the back end
accordingly where the instructions are used. Restrict the SP operands
to actually only be SP, as otherwise these break assembly parsing for the
normal instruction variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138445
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 24 Aug 2011 17:21:43 +0000 (17:21 +0000)]
Be stricter in enforcing IT instruction predicate values, so that we don't end up trying to print out an illegal predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138443
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 24 Aug 2011 17:08:34 +0000 (17:08 +0000)]
Port over more encoding tests to decoding tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138441
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Aug 2011 16:44:17 +0000 (16:44 +0000)]
Tidy up. Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138437
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Wed, 24 Aug 2011 13:32:43 +0000 (13:32 +0000)]
Add Uses=[SP] to call instructions. This fixes a miscompilation with a
variable sized alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138433
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 24 Aug 2011 06:14:18 +0000 (06:14 +0000)]
Break 256-bit vector int add/sub/mul into two 128-bit operations to avoid costly scalarization. Fixes PR10711.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138427
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Aug 2011 00:00:23 +0000 (00:00 +0000)]
Add the sentinal "no handle" value to the ResumeInst.
A value of -1 at a call site tells the personality function that this call isn't
handled by the current function. Since the ResumeInsts are converted to calls to
_Unwind_SjLj_Resume, add a (volatile) store of -1 to its 'call site'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138416
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 23 Aug 2011 22:55:03 +0000 (22:55 +0000)]
Don't replace *all* uses with the new stuff.
This is not necessarily the first or dominating use of the EH values. The IR
breaks if it's not. So replace the specific value in the instruction with the
new value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138406
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 23 Aug 2011 22:20:16 +0000 (22:20 +0000)]
Look at the end of the entry block for an invoke.
The invoke could be at the end of the entry block. If it's the only one, then we
won't process all of the landingpad instructions correctly. This code is
currently ugly, but should be made much nicer once the new EH switch is thrown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138397
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 23 Aug 2011 22:06:37 +0000 (22:06 +0000)]
Fix a nasty bug where a v4i64 was being wrong emitted with 32-bit
permutations. Also tidy up some patterns and make them close to their
instruction definition!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138392
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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