[clang] [clang][dataflow] Propagate locations from result objects to initializers. (PR #87320)

via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 10 00:20:27 PDT 2024


================
@@ -556,6 +763,10 @@ void Environment::pushCallInternal(const FunctionDecl *FuncDecl,
     const VarDecl *Param = *ParamIt;
     setStorageLocation(*Param, createObject(*Param, Args[ArgIndex]));
   }
+
+  ResultObjectMap = std::make_shared<PrValueToResultObject>(
----------------
martinboehme wrote:

True -- if we're making several calls to the same function, it might indeed be worth caching this.

I think this isn't a priority for the time being though because a) I'm not aware of any non-test models that use context-sensitive analysis yet, and b) as you say, we should benchmark to see whether this makes up a significant portion of the total effort for analyzing the callee (which in itself will be expensive).

https://github.com/llvm/llvm-project/pull/87320


More information about the cfe-commits mailing list