1. [Instruction] Add updateLocationAfterHoist helper (details)
  2. [drr] Add $_loc special directive for NativeCodeCall (details)
  3. [Instcombine] Fix uses of undef (PR46940) (details)
  4. [Analyzer] Support note tags for smart ptr checker (details)
Commit 4a646ca9e2caf70d6312714770f516fb83b7e3cb by Vedant Kumar
[Instruction] Add updateLocationAfterHoist helper

Introduce a helper on Instruction which can be used to update the debug
location after hoisting.

Use this in GVN and LICM, where we were mistakenly introducing new line
0 locations after hoisting (the docs recommend dropping the location in
this case).

For more context, see the discussion in

Differential Revision:
The file was modifiedllvm/lib/IR/DebugInfo.cpp (diff)
The file was modifiedllvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll (diff)
The file was modifiedllvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp (diff)
The file was modifiedllvm/unittests/IR/InstructionsTest.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp (diff)
The file was modifiedllvm/test/Transforms/GVN/PRE/phi-translate.ll (diff)
The file was modifiedllvm/include/llvm/IR/Instruction.h (diff)
Commit 29429d1a443a51d0e1ac4ef4033a2bcc95909ba3 by jpienaar
[drr] Add $_loc special directive for NativeCodeCall

Allows propagating the location to ops created via NativeCodeCall.

Differential Revision:
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp (diff)
The file was modifiedmlir/test/lib/Dialect/Test/ (diff)
The file was modifiedmlir/docs/ (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp (diff)
Commit cfdc96714bdfeabea31b1f4d2e0c65e424933994 by kazu
[Instcombine] Fix uses of undef (PR46940)

Without this patch, we attempt to distribute And over Xor even in
unsafe circumstances like so:

  undef & (true ^ true)  ==>  (undef & true) ^ (undef & true)

and evaluate it to undef instead of false.  Note that "true ^ true"
may show up implicitly with one true being part of a PHI node.

This patch fixes the problem by teaching SimplifyUsingDistributiveLaws
to not use undef as part of simplifications.

Reviewers: spatel, aqjune, nikic, lebedev.ri, fhahn, jdoerfert

Differential Revision:
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was addedllvm/test/Transforms/InstCombine/dont-distribute-phi.ll
Commit 06d100a69a08632e6a553a7fb4d3750b55145946 by vrnithinkumar
[Analyzer] Support note tags for smart ptr checker

Added support for note tags for null smart_ptr reporting

Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun

Reviewed By: NoQ, vsavchenko, xazax.hun

Subscribers: martong, cfe-commits
Tags: #clang

Differential Revision:
The file was addedclang/test/Analysis/smart-ptr-text-output.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp (diff)
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtr.h (diff)
The file was modifiedclang/test/Analysis/smart-ptr.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp (diff)