This patch add support for variadic argument for AArch64. All the MSAN
unit tests are not passing as well the signal_stress_test (currently
set as XFAIl for aarch64).
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
I did not go too deep into the ABI details, but this looks fine, provided that the tests in lib/msan/tests/msan_test.cc pass.
Please add an IR-level test. We don't have that for other platforms, unfortunately.
Comment Actions
Changes from previous version:
- Fixed some typos and comments wording.
- Fixed the AArch64VrEndOffset value to correct one (it was based on general purpose register side, instead of the VR stat address which is aligned to 16 bytes).
- Changed the way the address plus offset is calculate from a addition to a GEP instruction. This fixes some issues when using opt -msan on the testcase (it complains about using different types on the addition).
- Added a testcase.
Comment Actions
You might need a lit.local.cfg in the AArch directory so that this test only runs when llvm is built with aarch64 support.
Comment Actions
I do not think this is required, the instrumentation phase is built regardless if the backend is supported or not. So even without AArch64 backend, 'opt -msan' with target set to aarch64-linux will work.