This is an archive of the discontinued LLVM Phabricator instance.

ARM: No need for 8 byte alignment of LDRD on newer CPUs
AbandonedPublic

Authored by MatzeB on May 11 2015, 4:27 PM.

Details

Summary

We only need to be conservative about the alignment of LDRD on older CPUs.

Diff Detail

Event Timeline

MatzeB updated this revision to Diff 25524.May 11 2015, 4:27 PM
MatzeB retitled this revision from to ARM: No need for 8 byte alignment of LDRD on newer CPUs.
MatzeB updated this object.
MatzeB edited the test plan for this revision. (Show Details)
MatzeB added reviewers: grosbach, t.p.northover.
MatzeB added a subscriber: Unknown Object (MLST).
t.p.northover edited edge metadata.May 11 2015, 6:03 PM

Does the patch actually affect the given test-case? I would have expected thumbv7-apple-darwin to have ABIAlignment of 4 anyway.

test/CodeGen/Thumb2/thumb2-ldrd.ll
5

Is "foo" really any better than "t"? I say either go for a proper rename that gives some hint of what's being tested or leave it as-is.

The best way to check for a function start is "CHECK-LABEL: my_function:" (note the colon at the end).

MatzeB abandoned this revision.May 11 2015, 6:19 PM

Hmm indeed, I performed my original experiments with an "thumbv7--" triple which has alignment 8 and copied the code to that existing testcase later. So maybe the ABI alignment 8 is a good enough (even though very unintuitive) indicator of whether ldrd on 4 byte aligned data makes sense.

Abandoning this patch, it seems the codegen problems I am looking for are somewhere else.