xiangzhangllvm added inline comments.

================
Comment at: llvm/lib/Analysis/ConstantFolding.cpp:101
 /// Constant fold bitcast, symbolically evaluating it with DataLayout.
 /// This always returns a non-null constant, but it may be a
 /// ConstantExpr if unfoldable.
----------------
clin1 wrote:
> xiangzhangllvm wrote:
> > clin1 wrote:
> > > API for this function always returns non-null: can we return 
> > > ConstantExpr::getBitCast(C,DestTy) instead? Then the change in SCCP is 
> > > not needed either.
> > I tried, the SCCP will also fold the bitcast into the following instruction.
> I see, that makes sense. But are we sure that all callers of FoldBitCast are 
> doing a null check: for example, FoldReinterpretLoadFromConstPtr calls 
> FoldBitCast several times, and null is not checked before dereference. Maybe 
> the AMX type cannot happen in this case?
> Alternative: can AMX be checked in SCCP?
Right! let me check the callers of FoldBitCast,
Luckly, there is only several callers of FoldBitCast, and almost all in this 
file ConstantFolding.cpp.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98757

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

Reply via email to