llvm-project
769ffa01 - [ForceFunctionAttrs] Fix handling of conflicts for more attributes (#186304)

Commit
130 days ago
[ForceFunctionAttrs] Fix handling of conflicts for more attributes (#186304) Fixes #185277 ForceFunctionAttrs currently only checks the `alwaysinline`/`noinline` conflict when forcing function attributes. This is incomplete, because LLVM verifier rules define additional incompatible function attribute combinations. Extend hasConflictingFnAttr() to reject more conflicting function attributes, including combinations involving `optnone`, `minsize`, `optsize`, and `optdebug`. Also add required companion attributes when forcing function attributes: `optnone` requires `noinline`, so forceattrs now adds `noinline` automatically when needed.
Author
Parents
Loading