r209149 - Non-allocatable Global Named Register

Renato Golin renato.golin at linaro.org
Mon May 19 15:36:26 PDT 2014


On 19 May 2014 23:17, Justin Bogner <mail at justinbogner.com> wrote:
> It looks like the tests you've added here rely on having an asserts
> build. Specifically:
>
>> +// CHECK: [[sto:%[0-9]+]] = load i[[bits]]* %addr
>
> the function this matches looks like so with asserts:
>
>     define void @set_stack_pointer_addr(i64 %addr) #0 {
>     entry:
>       %addr.addr = alloca i64, align 8
>       store i64 %addr, i64* %addr.addr, align 8
>       %0 = load i64* %addr.addr, align 8
>       call void @llvm.write_register.i64(metadata !0, i64 %0)
>       ret void
>     }
>
> So we match here:
>
>   %0 = load i64* %addr.addr, align 8
>
> but in release, the line reads like so instead:
>
>   %2 = load i64* %1, align 8
>
> so the %addr doesn't match.
>
> Would you mind taking a look?

Right, I should have used variables. I'll post it with the other fix
for the gdb bot.

--renato



More information about the cfe-commits mailing list