diff options
author | Asiri Rathnayake <asiri.rathnayake@arm.com> | 2014-12-09 13:14:58 +0000 |
---|---|---|
committer | Asiri Rathnayake <asiri.rathnayake@arm.com> | 2014-12-09 13:14:58 +0000 |
commit | 7835e9b232f372e718d6ca5da024ab2819f9a0cb (patch) | |
tree | 94ac823c53afedabe870dbfd3abc8859478f8390 /llvm/lib/Object/IRObjectFile.cpp | |
parent | 423236bf0b66b18761c917585fef54dc85594761 (diff) | |
download | llvm-7835e9b232f372e718d6ca5da024ab2819f9a0cb.zip llvm-7835e9b232f372e718d6ca5da024ab2819f9a0cb.tar.gz llvm-7835e9b232f372e718d6ca5da024ab2819f9a0cb.tar.bz2 |
Fix modified immediate bug reported by MC Hammer.
Instructions of the form [ADD Rd, pc, #imm] are manually aliased
in processInstruction() to use ADR. To accomodate this, mod_imm handling
had to be tweaked a bit. Turns out it was the manual aliasing that must
be tweaked to accommodate mod_imms instead. More information about the
parsed instruction is available at the point where processInstruction()
is invoked, which makes it easier to detect a mod_imm at that point rather
than trying to detect a potential alias when a mod_imm is being prepped.
Added a test case and fixed some white spaces as well.
llvm-svn: 223772
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions