Structure layout logic cleanup.
Do not run special x86-32 transformations when slang has explicitly
padded structs.
Verify that front end (Module) and back end (TargetMachine) agree on
the layout of every exported struct type.
Cannot build without slang change:
https://android-review.googlesource.com/#/c/299366/
Bug: http://b/29154200
Bug: http://b/28070272
Test: (aosp_x86-eng emulator, full_fugu-eng, aosp_angler-eng) x
(RsTest 32-bit, RsTest 64-bit, cts -m RenderscriptTest)
tests/run-lit-tests.sh
Tried (unmodified slang, modified bcc) and
( modified slang, unmodified bcc) and
( modified slang, modified bcc)
By instrumenting modified bcc, confimed that:
- Special x8632 layout transformations only run with unmodified slang,
and only when test is compiled for x8632.
"Modified slang" is a forthcoming slang change to add explicit padding
to struct types:
https://android-review.googlesource.com/#/c/299366/
Change-Id: I536497d1152995bf93a48dc83527d1575d5f947e
8 files changed