kpn added inline comments.

================
Comment at: llvm/include/llvm/IR/IRBuilder.h:262
     Function *F = BB->getParent();
-    if (!F->hasFnAttribute(Attribute::StrictFP)) {
+    if (F && !F->hasFnAttribute(Attribute::StrictFP)) {
       F->addFnAttr(Attribute::StrictFP);
----------------
rjmccall wrote:
> kpn wrote:
> > This looks reasonable to me. 
> > 
> > It smells like there's a larger strictfp IRBuilder issue, but that's not an 
> > issue for this patch here. The larger issue won't be hit since the new 
> > options affect the entire compilation. It therefore shouldn't block this 
> > patch.
> Does IRBuilder actually support inserting into an unparented basic block?  I 
> feel like this is exposing a much more serious mis-use of IRBuilder.
I suspect you are correct. If we let this "F && " change go in we'll have a 
situation where whether or not a block is currently in a function when a 
function call is emitted will affect whether or not the eventual function 
definition gets the strictfp attribute. That seems like an unfortunate 
inconsistency.

I'm still looking into it. I hope to have an IRBuilder review up today or 
tomorrow.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62731



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

Reply via email to