HomePhabricator

[X86] Various type corrections to the code that creates…

Authored by craig.topper on May 13 2019, 2:01 PM.

Description

[X86] Various type corrections to the code that creates LOCK_OR32mi8/OR32mi8Locked to the stack for idempotent atomic rmw and atomic fence.

These are updates to match how isel table would emit a LOCK_OR32mi8 node.

-Use i32 for the immediate zero even though only 8 bits are encoded.
-Use i16 for segment register.
-Use LOCK_OR32mi8 for idempotent atomic operations in 32-bit mode to match
64-bit mode. I'm not sure why OR32mi8Locked and LOCK_OR32mi8 both exist. The
only difference seems to be that OR32mi8Locked is marked as UnmodeledSideEffects=1.
-Emit an extra i32 result for the flags output.

I don't know if the types here really matter just noticed it was inconsistent
with normal behavior.

llvm-svn: 360619

Details

Committed
craig.topperMay 13 2019, 2:01 PM
Parents
rG56baade10dcf: [JITLink][MachO] Honor the no-dead-strip flag on nlist entries.
Branches
Unknown
Tags
Unknown