This is an archive of the discontinued LLVM Phabricator instance.

[ARM64] Add proper bounds checking/diagnostics to logical shifts
ClosedPublic

Authored by bsmith on May 9 2014, 7:22 AM.

Details

Summary

Patch to add proper bounds checking/diagnostics to logical shifts, this also means we can get rid of yet more AsmParser hacks that do this manually.

As with my previous patches, there is no testcase for this as it is part of the merge of MC/AArch64/basic-a64-diagnostics.s.

Diff Detail

Event Timeline

bsmith updated this revision to Diff 9260.May 9 2014, 7:22 AM
bsmith retitled this revision from to [ARM64] Add proper bounds checking/diagnostics to logical shifts.
bsmith updated this object.
bsmith edited the test plan for this revision. (Show Details)
bsmith added a reviewer: t.p.northover.
bsmith set the repository for this revision to rL LLVM.
bsmith added a subscriber: Unknown Object (MLST).
t.p.northover edited edge metadata.May 9 2014, 11:20 AM

Hi Bradley,

I've got one nit-pick here. Not a correctness issue or anything...

lib/Target/ARM64/ARM64InstrFormats.td
553–557

I think it'd be better to pass the entire logical_shiftXY operand through here.

I view casting strings to particular Record types as a last ditch solution when you'd otherwise have to pass dozens of them up the hierarchy.

bsmith updated this revision to Diff 9305.May 12 2014, 3:55 AM
bsmith edited edge metadata.

Fix to pass through operand types directly, as suggested.

bsmith accepted this revision.May 12 2014, 4:56 AM
bsmith added a reviewer: bsmith.
This revision is now accepted and ready to land.May 12 2014, 4:56 AM
bsmith closed this revision.May 12 2014, 4:56 AM