Changes

Summary

  1. [analyzer] VforkChecker: allow execve after vfork. (details)
  2. [analyzer] Teach scan-build how to rebuild index.html without analyzing. (details)
  3. [X86] Move avx512 code that forces zeros to the false side of vselects above a check for legal types. (details)
  4. Revert "[analyzer] Teach scan-build how to rebuild index.html without analyzing." (details)
Commit 5a11233a2fa58a734dbed23e2232f55cdf4b3321 by Artem Dergachev
[analyzer] VforkChecker: allow execve after vfork.

In the path-sensitive vfork() checker that keeps a list of operations
allowed after a successful vfork(), unforget to include execve() in the list.

Patch by Jan Včelák!

Differential Revision: https://reviews.llvm.org/D73629
The file was modifiedclang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp (diff)
The file was modifiedclang/test/Analysis/vfork.c (diff)
The file was modifiedclang/test/Analysis/Inputs/system-header-simulator.h (diff)
Commit a807a068e6ae58c6b53ad9b0b2004ea0ed0a939f by Artem Dergachev
[analyzer] Teach scan-build how to rebuild index.html without analyzing.

This is useful for performing custom build system integration that works by appending '--analyze --analyzer-output html' to all clang build commands.
For such users there is now still a way to have the fancy index.html file
in the output.

Differential Revision: https://reviews.llvm.org/D74467
The file was addedclang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-3.html
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-1.html
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-2.html
The file was modifiedclang/tools/scan-build/bin/scan-build (diff)
The file was addedclang/test/Analysis/scan-build/rebuild_index/subdirectory/report-4.html
Commit e90dc7c48bf384d6ae863ca80f81d135150e9b90 by craig.topper
[X86] Move avx512 code that forces zeros to the false side of vselects above a check for legal types.

This helps this transform occur earlier so we can fold the not
with setcc. If we delay it until after type legalization we might
have introduced instructions to widen the mask if the vselect was
widened. This can prevent the not from making it to the setcc.

We could of course add more DAG combines to handle that, but
moving this earlier is easier.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-vec-cmp.ll (diff)
Commit 21efb06f0ae2eb999f566d989997256d6cb12206 by Artem Dergachev
Revert "[analyzer] Teach scan-build how to rebuild index.html without analyzing."

This reverts commit a807a068e6ae58c6b53ad9b0b2004ea0ed0a939f.

Buildbot failures :)
The file was removedclang/test/Analysis/scan-build/rebuild_index/report-1.html
The file was removedclang/test/Analysis/scan-build/rebuild_index/report-3.html
The file was modifiedclang/tools/scan-build/bin/scan-build (diff)
The file was removedclang/test/Analysis/scan-build/rebuild_index/report-2.html
The file was removedclang/test/Analysis/scan-build/rebuild_index/subdirectory/report-4.html
The file was removedclang/test/Analysis/scan-build/rebuild_index/rebuild_index.test