This is an archive of the discontinued LLVM Phabricator instance.

ARM: Negative offset support problem (bug 20853 fix)
ClosedPublic

Authored by ioblakov on Sep 8 2014, 6:41 AM.

Details

Reviewers
rengolin
Summary

This patch is to permit a negative offset usage for a non frame access.

Diff Detail

Event Timeline

ioblakov updated this revision to Diff 13392.Sep 8 2014, 6:41 AM
ioblakov retitled this revision from to ARM: Negative offset support problem (bug 20853 fix).
ioblakov updated this object.
ioblakov edited the test plan for this revision. (Show Details)
t.p.northover set the repository for this revision to rL LLVM.Sep 8 2014, 6:59 AM
t.p.northover added a subscriber: Unknown Object (MLST).

Hi Igor,

I've just added the llvm-commits mailing list as a subscriber here. That's where all reviews take place in LLVM (even if we use this to help out).

I think the patch looks mostly fine, but the test is a bit odd: only the first 4 lines of the function actually seem to be tested, so we should either remove the rest or add CHECK lines for them.

Cheers.

Tim.

rengolin added inline comments.Sep 8 2014, 9:43 AM
test/CodeGen/ARM/negative-offset.ll
8

better to CHECK for the whole instruction, and to use regular expressions, and maybe add an extra CHECK-NOT on sub, to be explicit about the reason of this test.

;CHECK-LABEL: sum:
;CHECK-NOT: sub
;CHECK: ldr r{{.*}}, [r0, #-16]
;CHECK: ldr r{{.*}}, [r0, #-8]
14

returning this add should be more than enough.

ioblakov updated this revision to Diff 13441.Sep 8 2014, 9:37 PM

New update with a minimal test

rengolin accepted this revision.Sep 9 2014, 1:22 AM
rengolin edited edge metadata.

Thanks Igor, LGTM.

Also, I ran the test-suite on ARM and all goes well.

Do you need help committing?

cheers,
--renato

This revision is now accepted and ready to land.Sep 9 2014, 1:22 AM

Yes, the committing help is required. "rejected"/ Something is wrong.

rengolin closed this revision.Sep 9 2014, 3:08 AM

Committed in r217431.

Thanks!