- Mar 24, 2011
-
-
Jim Grosbach authored
The MC asm lexer wasn't honoring a non-default (anything but ';') statement separator. Fix that, and generalize a bit to support multi-character statement separators. llvm-svn: 128227
-
Johnny Chen authored
VORRiv*i* instructions properly within the DisassembleN1RegModImmFrm() function. Add a test case. llvm-svn: 128226
-
Johnny Chen authored
a test case of invalid CPS3p encoding and one for invalid VLDMSDB due to regs out of range. llvm-svn: 128220
-
Andrew Trick authored
llvm-svn: 128218
-
Cameron Zwarich authored
affect the generated code. llvm-svn: 128217
-
Jay Foad authored
llvm-svn: 128216
-
Chris Lattner authored
llvm-svn: 128214
-
Cameron Zwarich authored
void; it doesn't need to have a void type. llvm-svn: 128212
-
Devang Patel authored
llvm-svn: 128211
-
NAKAMURA Takumi authored
FIXME: Some cleanups would be needed. llvm-svn: 128206
-
NAKAMURA Takumi authored
llvm-svn: 128205
-
Evan Cheng authored
llvm-svn: 128204
-
Evan Cheng authored
entries being compared may not be ARMConstantPoolValue. Without checking whether they are ARMConstantPoolValue first, and if the stars and moons are aligned properly, the equality test may return true (when the first few words of two Constants' values happen to be identical) and very bad things can happen. rdar://9125354 llvm-svn: 128203
-
Michael J. Spencer authored
llvm-svn: 128199
-
Cameron Zwarich authored
void return type. This fixes PR9487. llvm-svn: 128197
-
Cameron Zwarich authored
llvm-svn: 128196
-
Cameron Zwarich authored
use it later. I couldn't make a test that hits this with the current code. llvm-svn: 128195
-
Cameron Zwarich authored
llvm-svn: 128194
-
Johnny Chen authored
CPS3p: Let's reject impossible imod values by returning false from the DisassembleMiscFrm() function. Fixed rdar://problem/9179416 ARM disassembler crash: "Unknown imod operand" (fuzz testing) Opcode=98 Name=CPS3p Format=ARM_FORMAT_MISCFRM(26) 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: 0: 0: 1| 0: 0: 0: 0| 0: 0: 1: 0| 0: 0: 0: 1| 1: 1: 0: 0| 1: 0: 0: 1| 0: 0: 1: 1| ------------------------------------------------------------------------------------------------- Before: cpsUnknown imod operand UNREACHABLE executed at /Volumes/data/lldb/llvm/lib/Target/ARM/InstPrinter/../ARMBaseInfo.h:123! After: /Volumes/data/Radar/9179416/mc-input-arm.txt:1:1: warning: invalid instruction encoding 0x93 0x1c 0x2 0xf1 ^ llvm-svn: 128192
-
Johnny Chen authored
These instructions were changed to not embed the addressing mode within the MC instructions We also need to update the corresponding assert stmt. Also add two test cases. llvm-svn: 128191
-
Johnny Chen authored
We now tag them as IndexModePost. llvm-svn: 128189
-
Johnny Chen authored
were incomplete. The assert stmt needs to be updated and the operand index incrment is wrong. Fix the bad logic and add some sanity checking to detect bad instruction encoding; and add a test case. llvm-svn: 128186
-
Jim Grosbach authored
llvm-svn: 128184
-
Devang Patel authored
llvm-svn: 128183
-
Jim Grosbach authored
llvm-svn: 128182
-
Andrew Trick authored
I'm backing this out for the second time. It was supposed to be fixed by r128164, but the mingw self-host must be defeating the fix. llvm-svn: 128181
-
- Mar 23, 2011
-
-
Evan Cheng authored
int tries = INT_MAX; while (tries > 0) { tries--; } The check should be: subs r4, #1 cmp r4, #0 bgt LBB0_1 The subs can set the overflow V bit when r4 is INT_MAX+1 (which loop canonicalization apparently does in this case). cmp #0 would have cleared it while not changing the N and Z bits. Since BGT is dependent on the V bit, i.e. (N == V) && !Z, it is not safe to eliminate the cmp #0. rdar://9172742 llvm-svn: 128179
-
Eli Friedman authored
Also cleaning up some duplicated code while I'm here. llvm-svn: 128176
-
Andrew Trick authored
(target-specific branchless method for double-width relational comparisons on x86) llvm-svn: 128175
-
Jim Grosbach authored
llvm-svn: 128173
-
Owen Anderson authored
This fixes 464.h264ref with the integrated assembler. llvm-svn: 128172
-
Jim Grosbach authored
The ExecutionEngine constructor already added the module, so there's no need to call addModule() directly. Doing so causes a double-free of the Module at program termination. llvm-svn: 128171
-
Owen Anderson authored
Fix a bug introduced by my patch yesterday: BL is a 4-byte instructions like BLX, rather than a 2-byte instruction like B. llvm-svn: 128169
-
Andrew Trick authored
so the scheduler can't create new interferences on the copies themselves. Prior to this fix the scheduler could get stuck in a loop creating copies. Fixes PR9509. llvm-svn: 128164
-
Andrew Trick authored
llvm-svn: 128163
-
Jim Grosbach authored
llvm-svn: 128161
-
Jim Grosbach authored
llvm-svn: 128160
-
Jakob Stoklund Olesen authored
Each of these instructions may have a RegsClobberInsn entry that can't be ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc merges entries. llvm-svn: 128155
-
Oscar Fuentes authored
X86. Fixes PR9533. llvm-svn: 128154
-
Justin Holewinski authored
- Fix bug in ADDRrr/ADDRri/ADDRii selection for 64-bit addresses - Add comparison selection for i64 - Add zext selection for i32 -> i64 - Add shl/shr/sha support for i64 llvm-svn: 128153
-