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