This is an archive of the discontinued LLVM Phabricator instance.

[Aarch64] handle "o" inline asm memory constraints
ClosedPublic

Authored by nickdesaulniers on Apr 13 2021, 2:10 PM.

Details

Summary

This Linux kernel is making use of this inline asm constraint which is
causing an ICE.

PR49956

Link: https://github.com/ClangBuiltLinux/linux/issues/1348

Diff Detail

Event Timeline

nickdesaulniers requested review of this revision.Apr 13 2021, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2021, 2:10 PM
  • add CHECKs to test case

This resolves the error noted in the issue above and I can boot with randomize_kstack_offset=on on bare metal without any issues.

MaskRay accepted this revision.Apr 15 2021, 7:07 PM
MaskRay added inline comments.
llvm/test/CodeGen/AArch64/arm64-inline-asm.ll
301

The comment may not be needed. This is a simple lack of handling of a particular constraint type. Having the coverage is sufficient. Readers may not want to read the link.

303

Appending : can make the label more unique.

This revision is now accepted and ready to land.Apr 15 2021, 7:07 PM
  • fix test comment and CHECK
nickdesaulniers marked 2 inline comments as done.Apr 15 2021, 11:09 PM
This revision was landed with ongoing or failed builds.Apr 15 2021, 11:36 PM
This revision was automatically updated to reflect the committed changes.

thanks for the review