Commit c6638c7d authored by Ahmed Bougacha's avatar Ahmed Bougacha
Browse files

Print disc/addrdisc optionally, and swap them in ops list.

We originally matched the llvm.ptrauth struct layout, but this
is nicer because:
- both are commonly 0/null, so we can omit them in the common case
- other than qualifier usage, integer discriminator alone is more
  common than an address discriminator, so omitting the latter alone
  helps also.
- key + integer discriminator looks like the bundle/intrinsics, which
  helps pattern matching when staring at IR.
- the variable-length addrdisc GEP string hides the integer disc.

This doesn't match the llvm.ptrauth struct, but that's relatively
straightforward to macro-update.

This doesn't match the C qualifier either, but there the address
discriminator is only a boolean `1`, so it's hard to mix these up.
parent 48a946cc
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment