[PATCH][ARM] Label offset crashes llvm integrated assembler
liujiangning1 at gmail.com
Thu Mar 13 01:16:06 PDT 2014
Are you sure the fix in r203762 is correct? With the trunk, I got the
following result, and obviously, the immediate operand is incorrect.
$ llvm-mc -triple=armv7-linux-gnuabi -filetype=obj test_label_offset.s -o
$ arm-none-linux-gnueabi-objdump -dS test_label_offset.o
test_label_offset.o: file format elf32-littlearm
Disassembly of section .text:
0: e3520910 cmp r2, #16, 18 ; 0x40000
$ cat test_label_offset.s
cmp r2, #(l2 - l1) >> 6
2014-03-13 15:09 GMT+08:00 Saleem Abdulrasool <compnerd at compnerd.org>:
> On Wed, Mar 12, 2014 at 11:23 PM, Saleem Abdulrasool <
> compnerd at compnerd.org> wrote:
>> On Wed, Mar 12, 2014 at 11:12 PM, Jiangning Liu <liujiangning1 at gmail.com>wrote:
>>> Attached patch is to raise an error message when finding an expression
>>> at compile time can't really be solved as a constant for immediate operand.
>>> Without this patch, llvm compiler would crash.
>> The attached patch seems wrong. With the attached
>> change, validateTargetOperandClass always returns Match_InvalidOperand for
>> any immediate in this addressing mode. If the value is a constant value,
>> then it should return Match_Success.
> The crash should be addressed by SVN r203762.
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>> Saleem Abdulrasool
>> compnerd (at) compnerd (dot) org
> Saleem Abdulrasool
> compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits