summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2017-06-05 09:37:12 +0000
committerPeter Smith <peter.smith@linaro.org>2017-06-05 09:37:12 +0000
commitadde667007b5793fec2556fb75133c5cb92f5421 (patch)
tree96cfab0252375d4f5babea8ff952255b4d83b173 /clang/lib/CodeGen/CodeGenModule.cpp
parent78819e0fd470e1f736891549491ef14f24c68fed (diff)
downloadbcm5719-llvm-adde667007b5793fec2556fb75133c5cb92f5421.tar.gz
bcm5719-llvm-adde667007b5793fec2556fb75133c5cb92f5421.zip
[ARM] Support fixup for Thumb2 modified immediate
This change adds a new fixup fixup_t2_so_imm for the t2_so_imm_asmoperand "T2SOImm". The fixup permits code such as: .L1: sub r3, r3, #.L2 - .L1 .L2: to assemble in Thumb2 as well as in ARM state. The operand predicate isT2SOImm() explicitly doesn't match expressions containing :upper16: and :lower16: as expressions with these operators must match the movt and movw instructions. The test mov r0, foo2 in thumb2-diagnostics is moved to a new file as the fixup delays the error message till after the assembler has quit due to the other errors. As the mov instruction shares the t2_so_imm_asmoperand mov instructions with a non constant expression now match t2MOVi rather than t2MOVi16 so the error message is slightly different. Fixes PR28647 Differential Revision: https://reviews.llvm.org/D33492 llvm-svn: 304702
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud