In our CHERI target we support RMW operations on capability types which
are implemented as i8 addrspace(200)*. In certain case we have to fall
back to the cmpxchg expansion and were hitting an assertion here since
getPrimitiveSizeInBits() returns zero for pointer types. Fix this by
querying the DataLayout instead.
Details
Details
- Reviewers
t.p.northover jyknight
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
Comment Actions
Sorry for never looking at this before now. :(
However, now that atomicrmw instructions have an alignment attribute, this change is superseded by D97223, which fixes the issue, instead, by passing through the atomicrmw alignment, instead of coming up with a new value.
Thanks!