- Mar 24, 2011
-
-
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
-
Anders Carlsson authored
llvm-svn: 128149
-
Cameron Zwarich authored
that were hit in practice. llvm-svn: 128146
-
Jakob Stoklund Olesen authored
The register allocator needs to know when the range shrinks. llvm-svn: 128145
-
Jakob Stoklund Olesen authored
Empty ranges may represent undef values. llvm-svn: 128144
-
Jakob Stoklund Olesen authored
llvm-svn: 128143
-
Anders Carlsson authored
A global variable with internal linkage where all uses are in one function and whose address is never taken is a non-escaping local object and can't alias anything else. llvm-svn: 128140
-
Andrew Trick authored
I'm tired of doing this manually for each checkout. If anyone knows a better way debug isel for non-trivial tests feel free to revert and let me know how to do it. llvm-svn: 128132
-
Douglas Gregor authored
kind, and fix serialization/deserialization of IdentifierInfo attributes. These are requires for the new 'availability' attribute. llvm-svn: 128130
-
Johnny Chen authored
Change inspired by llvm-bug 9530 submitted by Jyun-Yan You. llvm-svn: 128122
-
Johnny Chen authored
A8.6.292 VCMPE llvm-svn: 128120
-
Devang Patel authored
llvm-svn: 128119
-
- Mar 22, 2011
-
-
Owen Anderson authored
This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler. Fixes <rdar://problem/9165738>. llvm-svn: 128117
-
Jakob Stoklund Olesen authored
This will extend the ranges of debug info variables in registers until they are clobbered. Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on the stack with DBG_VALUE instructions referring to variables in the frame pointer. This fixes the gdb test-suite failure. Fix 2: Don't trace through copies to physical registers setting up call arguments. These registers are call clobbered, and the source register is more likely to be a callee-saved register that can be extended through the call instruction. llvm-svn: 128114
-
Johnny Chen authored
We now tag them as IndexModePost. This fixed http://llvm.org/bugs/show_bug.cgi?id=9530. llvm-svn: 128113
-
Devang Patel authored
llvm-svn: 128112
-
Rafael Espindola authored
memory and writing it back to disk. llvm-svn: 128108
-
Eli Friedman authored
llvm-svn: 128107
-
Johnny Chen authored
llvm-svn: 128106
-