================ Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:145 @@ +144,3 @@ + ThreadID = CGF.EmitLoadOfLValue(LVal, SourceLocation()).getScalarVal(); + // If value loaded in entry block, use it everywhere in function. + if (CGF.Builder.GetInsertBlock() == CGF.AllocaInsertPt->getParent()) ---------------- ABataev wrote: > rjmccall wrote: > > Is there a reason we can't safely always load in the entry block? > Yes, actually this ThreadIdVar may be a function parameter. CodeGenFunction > generates additional alloca for parameters and stores param to this generated > new alloca. If currently we're not in EntryBlock I can't define where to put > instructions with value loading, because I don't know where this store > instruction. Loads must be dominated by this store, but I just can't > guarantee it. Makes sense. Optimized builds will completely eliminate this as a concern, I think.
http://reviews.llvm.org/D4716 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
