FailedChanges

Summary

  1. [libFuzzer] Fix minimizing timeouts (details)
  2. [AARCH64] [MC] add memtag as an alias of mte architecture extension (details)
  3. [libc][obvious] Remove a commented out block. (details)
  4. [LLDB] Improve PDB discovery (details)
  5. [Instruction] Add updateLocationAfterHoist helper (details)
  6. [drr] Add $_loc special directive for NativeCodeCall (details)
  7. [Instcombine] Fix uses of undef (PR46940) (details)
  8. [Analyzer] Support note tags for smart ptr checker (details)
  9. [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables (details)
  10. Revert "[Instruction] Add updateLocationAfterHoist helper" (details)
Commit 9df7ee34e1b557908c125e9036ad8c54da71a4ef by iii
[libFuzzer] Fix minimizing timeouts

When one tries to minimize timeouts using -minimize_crash=1,
minimization immediately fails. The following sequence of events is
responsible for this:

[parent] SIGALRM occurs
[parent] read() returns -EINTR (or -ERESTARTSYS according to strace)
[parent] fgets() returns NULL
[parent] ExecuteCommand() closes child's stdout and returns
[child ] SIGALRM occurs
[child ] AlarmCallback() attempts to write "ALARM: ..." to stdout
[child ] Dies with SIGPIPE without calling DumpCurrentUnit()
[parent] Does not see -exact_artifact_path and exits

When minimizing, the timer in parent is not necessary, so fix by not
setting it in this case.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D85359
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
The file was addedcompiler-rt/test/fuzzer/minimize_timeout.test
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerOptions.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp
Commit 277873ce0f484e8cb5cb99dade63c7a93d99bd3b by caij2003
[AARCH64] [MC] add memtag as an alias of mte architecture extension

Add memtag as an alis of met architectture extesion to be consistent
with GNU as.

LINK:https://sourceware.org/bugzilla/show_bug.cgi?id=26339

Reviewed By: nickdesaulniers, MaskRay

Differential Revision: https://reviews.llvm.org/D85620
The file was modifiedllvm/test/MC/AArch64/directive-arch_extension.s
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Commit df79e18796d09f33d15974c55cca8b2b5b484e1f by sivachandra
[libc][obvious] Remove a commented out block.
The file was modifiedlibc/utils/UnitTest/Test.cpp
Commit 479f5bfdb02b191f03b3de1a7c3d5a5098b3fcaf by amccarth
[LLDB] Improve PDB discovery

When loading a PE/COFF target, the associated PDB file often wasn't
found.  The executable module contains a path for the associated PDB
file, but people often debug from a different directory than the one
their build system uses.  (This is especially common in post-mortem
and cross platform debugging.)

Suppose the COFF executable being debugged is `~/proj/foo.exe`, but
it was built elsewhere and refers to `D:\remote\build\env\foobar.pdb`,
LLDB wouldn't find it.

With this change, if no file exists at the PDB path, LLDB will look
in the executable directory for a PDB file that matches the name of
the one it expected (e.g., `~/proj/foobar.pdb`).  If found, the PDB
is subject to the same matching criteria (GUIDs and age) as would
have been used had it been in the original location.

This same-directory-as-the-binary rule is commonly used by debuggers
on Windows.

Differential Review: https://reviews.llvm.org/D84815
The file was addedlldb/test/Shell/SymbolFile/NativePDB/locate-pdb.cpp
The file was addedlldb/test/Shell/SymbolFile/NativePDB/Inputs/locate-pdb.lldbinit
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
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 https://reviews.llvm.org/D60913.

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

Allows propagating the location to ops created via NativeCodeCall.

Differential Revision: https://reviews.llvm.org/D85704
The file was modifiedmlir/docs/DeclarativeRewrites.md
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
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: https://reviews.llvm.org/D85687
The file was addedllvm/test/Transforms/InstCombine/dont-distribute-phi.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 06d100a69a08632e6a553a7fb4d3750b55145946 by vrnithinkumar
[Analyzer] Support note tags for smart ptr checker

Summary:
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: https://reviews.llvm.org/D84600
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was addedclang/test/Analysis/smart-ptr-text-output.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtr.h
The file was modifiedclang/test/Analysis/smart-ptr.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp
Commit 54b6cca0f28484395ae43bcda4c9f929bc51cfe3 by akhuang
[globalopt] Change so that emitting fragments doesn't use the type size of DIVariables

When turning on -debug-info-kind=constructor we ran into a "fragment covers
entire variable" error during thinlto. The fragment is currently always
emitted if there is no type size, but sometimes the variable has a
forward declared struct type which doesn't have a size.

This changes the code to get the type size from the GlobalVariable instead.

Differential Revision: https://reviews.llvm.org/D85572
The file was addedllvm/test/DebugInfo/Generic/global-sra-struct-fwd-decl.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit 30c1633386e7cfb01c0a54b31ccf4c3a3873e71b by Vedant Kumar
Revert "[Instruction] Add updateLocationAfterHoist helper"

This reverts commit 4a646ca9e2caf70d6312714770f516fb83b7e3cb.

This is causing some bots to fail with "!dbg attachment points at wrong
subprogram for function", like:

http://lab.llvm.org:8011/builders/sanitizer-windows/builds/67958/steps/stage%201%20check/logs/stdio
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/test/Transforms/GVN/PRE/phi-translate.ll
The file was modifiedllvm/lib/IR/DebugInfo.cpp
The file was modifiedllvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
The file was modifiedllvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll
The file was modifiedllvm/unittests/IR/InstructionsTest.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp