efriedma added a comment.

In D88789#2310606 <https://reviews.llvm.org/D88789#2310606>, @chandlerc wrote:

> FWIW, I still very much feel that this is the correct canonicalization, and 
> that downstream problems *must* be fixed downstream. Avoiding this 
> canonicalization doesn't actually fix them, it just makes us less *aware* of 
> the problems that still fundamentally exist. =[

I'd agree if we excluded all pointers from canonicalization.  But the semantics 
of inttoptr and inttoptr-equivalent memory operations are weird; in general, 
I'm not sure we can recover the original semantics of the code if we throw away 
the pointer-ness of pointer load/store operations.

To address the issue at hand, I think changing the isNonIntegralPointerType() 
check to just isPtrOrPtrVectorTy() would be enough.  I think that might make 
sense?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88789/new/

https://reviews.llvm.org/D88789

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to