You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an alternative to llvm#6718 now that the MC layer amocas.d/amocas.q
instructions use GPRPair register class.
While working on this I noticed that the change of setMaxAtomicSizeInBitsSupported
caused atomic load/store/rmw for 2*XLen types to be affected. The
AtomicExpandPass will not convert them to libcalls immediately.
Instead they get converted to different library calls by type
legalization.
I didn't see any way to signal AtomicExpandPass to convert them
to the same libcalls using any of the shouldExpandAtomic* hooks.
So I've forced them to use to CmpXChg expansion. I've disabled
the insertion of fences for atomic load/store when we use CmpXChg.
I've very unsure if this the right thing to do or if we should
make changes to AtomicExpand to get back the libcalls.
Extended Description
g++ accepts the code fragment: int main(void) { void** i; void const** j; i == j; }
clang++ rejects this, with the error:
t.cc:1:46: error: comparison of distinct pointer types ('void ' and
'void const ')
int main(void) { void i; void const j; i == j; }
~ ^ ~
The text was updated successfully, but these errors were encountered: