HomePhabricator

[AArch64] Don't rename registers with pseudo defs in Ld/St opt.
050e1a3c2688Unpublished

Authored by fhahn on Jan 22 2020, 9:16 AM.

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

[AArch64] Don't rename registers with pseudo defs in Ld/St opt.

If the root def of for renaming is a noop-pseudo instruction like kill,
we would end up without a correct def for the renamed register, causing
miscompiles.

This patch conservatively bails out on any pseudo instruction.

This fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1037912#c70

(cherry picked from commit 300997c41a00b705ca10264c15910dd8d691ab75)

Details

Committed
hansJan 22 2020, 11:03 AM
Parents
rG54acc20e6da5: [PATCH] Reland [Clang] Un-break scan-build after integrated-cc1 change
Branches
Unknown
Tags
Unknown