aqjune added a comment.

Hello all,

I'm a messenger of @hyeongyukim's two patches that allow clang to turn on 
noundef analysis by default.
The noundef analysis flag was added by D81678 <https://reviews.llvm.org/D81678> 
in the past. Its goal is to mark arguments and return values in C/C++ as 
`noundef` if legal.
Attaching `noundef` is beneficial because it allows quite a few optimizations 
that are unsound w.r.t. undef or poison (they are usually guarded with 
`isGuaranteedNotToBeUndefOrPoison` check).
Since the fact that arg/ret values are noundef is derived from the source 
language (C/C++)'s specification, the information is permanently lost unless 
explicitly attached by clang.

Previously, the flag was not activated by default because it required a lot of 
tests to be updated, possibly raising conflicts with downstream patches 
(discussed in this thread: D82317 <https://reviews.llvm.org/D82317>)
To handle the conflict, I'd like to update requested tests to simply adding 
`-disable-noundef-analysis` at `// RUN: %clang_cc1 ...` rather than fixing the 
whole text.
I'll talk about this more in the second patch (D108453 
<https://reviews.llvm.org/D108453>).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D105169

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

Reply via email to