kda added inline comments.

================
Comment at: clang/lib/CodeGen/CGCall.cpp:2384
+    if ((CodeGenOpts.EnableNoundefAttrs ||
+         CodeGenOpts.SanitizeMemoryParamRetval) &&
+        ArgNoUndef)
----------------
eugenis wrote:
> vitalybuka wrote:
> > vitalybuka wrote:
> > > @eugenis Would be better to force CodeGenOpts.EnableNoundefAttrs if 
> > > SanitizeMemoryParamRetval is provided?
> > > @eugenis Would be better to force CodeGenOpts.EnableNoundefAttrs if 
> > > SanitizeMemoryParamRetval is provided?
> > 
> > To clarify, checking SanitizeMemoryParamRetval here as-is is LGTM, unless 
> > @eugenis or someone else thinks EnableNoundefAttrs reset is better.
> I don't think this is right at all. An argument being noundef has nothing to 
> do at all with memory sanitization. It affects optimization, too. 
> SanitizeMemoryParamRetval should only affect what MemorySanitizerPass does 
> with noundef attributes.
Is the problem the form of the new code?
  - instead of introducing a single new flag to flip 4 others, should there be 
1 flag to pick up the CodeGen changes, and another for the Sanitizer?  (Is 2 
flags better than 4?)
  - another option is have the changes propagate in the other direction: use 
the flag (-fsanitize-memory-param-retval), to passes along '-mllvm 
-enable_noundef_analysis=1' to CodeGen (via SanitizerArgs.addArgs).

OR is there a problem forcing EnableNoundefAttrs based on an "unrelated" flag?
  - then leave existing code, just don't do anything fancy to change 
EnableNoundefAttrs.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116633

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

Reply via email to