diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2024-10-02 11:14:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-02 11:14:05 +0100 |
commit | e6bf48d11047e970cb24554a01b65b566d6b5d22 (patch) | |
tree | e654a9fb6d4f1637c089cb525d748c199672234b /llvm/lib/Target/DirectX/DirectXTargetMachine.cpp | |
parent | bdd40e39a4d6540a80f1f5ebadfebee25381f670 (diff) | |
download | llvm-e6bf48d11047e970cb24554a01b65b566d6b5d22.zip llvm-e6bf48d11047e970cb24554a01b65b566d6b5d22.tar.gz llvm-e6bf48d11047e970cb24554a01b65b566d6b5d22.tar.bz2 |
[X86] Don't request 0x90 nop filling in p2align directives (#110134)
As of rev ea222be0d, LLVMs assembler will actually try to honour the
"fill value" part of p2align directives. X86 printed these as 0x90, which
isn't actually what it wanted: we want multi-byte nops for .text
padding. Compiling via a textual assembly file produces single-byte
nop padding since ea222be0d but the built-in assembler will produce
multi-byte nops. This divergent behaviour is undesirable.
To fix: don't set the byte padding field for x86, which allows the
assembler to pick multi-byte nops. Test that we get the same multi-byte
padding when compiled via textual assembly or directly to object file.
Added same-align-bytes-with-llasm-llobj.ll to that effect, updated
numerous other tests to not contain check-lines for the explicit padding.
Diffstat (limited to 'llvm/lib/Target/DirectX/DirectXTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions