SuccessChanges

Summary

  1. [clang] stop baremetal driver to append .a to lib (details)
  2. Fix the mac buildbot failure. (details)
  3. Re-revert: Recover debug intrinsics when killing duplicated/empty blocks (details)
  4. [clangd] Print the Spelled RefKind. (details)
  5. [debuginfo-tests] Fix Dexter process creation failure on Windows (details)
  6. [analyzer] StdLibraryFunctionsChecker: Use platform dependent EOF and UCharMax (details)
  7. [PowerPC] Exploit VSX rounding instrs for rint (details)
  8. Rework go bindings so that validation works fine (details)
  9. Fix integration of pass plugins with llvm dylib (details)
Commit c49866acceb1ffbcc0f723993648f0678e92a91c by 19784376+cddouma
[clang] stop baremetal driver to append .a to lib

When the clang baremetal driver selects the rt.builtins static library
it prefix with "-l" and appends ".a". The result is a nonsense option
which lld refuses to accept.

Differential Revision: https://reviews.llvm.org/D73904

Change-Id: Ic753b6104e259fbbdc059b68fccd9b933092d828
The file was modifiedclang/test/Driver/baremetal.cpp
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
The file was modifiedclang/test/Driver/arm-compiler-rt.c
Commit 9f63255a742d7ec542f94e0265eac5147213d9f8 by hokein.wu
Fix the mac buildbot failure.
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 9bda7ab8353b21cfc8ffcc08faf1667ba658f25e by stozer
Re-revert: Recover debug intrinsics when killing duplicated/empty blocks

This reverts commit 61b35e4111160fe834a00c33d040e01150b576ac.

This commit causes a timeout in chromium builds; likely to have a
similar cause to the previous timeout issue caused by this commit (see
6ded69f294a9 for more details). It is possible that there is no way to
fix this bug that will not cause this issue; further investigations as
to the efficiency of handling large amounts of debug info will be
necessary.
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
Commit b1309a18ba7314332cf05a40f48db4d42a51f214 by hokein.wu
[clangd] Print the Spelled RefKind.
The file was modifiedclang-tools-extra/clangd/index/Ref.cpp
Commit 26f6aa9e3ba47c5ccb9d837310b59a5087549b7d by jeremy.morse
[debuginfo-tests] Fix Dexter process creation failure on Windows

When writing the Windows dbgeng driver for Dexter, I couldn't work out why it
would either launch a process and leave it free running, or if I started the
process suspended, never do anything with it. The result was a hack to create
and attach processes manually. This has been flaking out on Reids Windows
buildbot, and clearly wasn't a good solution.

Digging into this, it turns out that the "normal" cdb / windbg behaviour of
breaking whenever we attach to a process is not the default: it has to be
explicitly requested from the debug engine. This patch does so (by setting
DEBUG_ENGOPT_INITIAL_BREAK in the engine options), after which we can simply
call "CreateProcessAndAttach2" and everything automagically works.

No test for this behaviour: everything was just broken before.

Differential Revision: https://reviews.llvm.org/D74409
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/setup.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/client.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/README.md
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/control.py
Commit 536456a7e93d73b9ff4e92f3e51d1aa1c72628fe by gabor.marton
[analyzer] StdLibraryFunctionsChecker: Use platform dependent EOF and UCharMax

Summary:
Both EOF and the max value of unsigned char is platform dependent. In this
patch we try our best to deduce the value of EOF from the Preprocessor,
if we can't we fall back to -1.

Reviewers: Szelethus, NoQ

Subscribers: whisperity, xazax.hun, kristof.beyls, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalh

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74473
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
The file was addedclang/test/Analysis/std-c-library-functions-eof.c
Commit 87c773082a8d76f1d4b0d74386fcf01205b5f14a by qiucofan
[PowerPC] Exploit VSX rounding instrs for rint

Exploit native VSX rounding instruction, x(v|s)r(d|s)pic, which does
rounding using current rounding mode.

According to C standard library, rint may raise INEXACT exception while
nearbyint won't.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D72685
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
The file was addedllvm/test/CodeGen/PowerPC/vector-rounding-ops.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-rounding-ops.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/mi-peephole-splat.ll
Commit e8f8873da5eaad187f82dad78ebdb3ab3df22b36 by sguelton
Rework go bindings so that validation works fine

Basically change the layout to please `go build` and remove references to
`llvm-go`.

Update llvm/test/Bindings/Go/ to use the system go compiler

Differential Revision: https://reviews.llvm.org/D74540
The file was removedllvm/bindings/go/llvm/transforms_ipo.go
The file was removedllvm/bindings/go/llvm/transforms_coroutines.go
The file was removedllvm/bindings/go/llvm/analysis.go
The file was modifiedllvm/utils/lit/lit/llvm/subst.py
The file was removedllvm/bindings/go/llvm/version.go
The file was removedllvm/bindings/go/llvm/transforms_instrumentation.go
The file was removedllvm/bindings/go/llvm/InstrumentationBindings.h
The file was addedllvm/bindings/go/src/llvm/IRBindings.cpp
The file was addedllvm/bindings/go/src/llvm/string_test.go
The file was addedllvm/bindings/go/src/llvm/target.go
The file was removedllvm/bindings/go/llvm/support.go
The file was removedllvm/bindings/go/llvm/IRBindings.h
The file was addedllvm/bindings/go/src/llvm/executionengine.go
The file was addedllvm/bindings/go/src/llvm/bitwriter.go
The file was addedllvm/bindings/go/src/llvm/SupportBindings.cpp
The file was removedllvm/bindings/go/llvm/SupportBindings.h
The file was addedllvm/bindings/go/src/llvm/ir.go
The file was addedllvm/bindings/go/src/llvm/bitreader.go
The file was removedllvm/bindings/go/llvm/string_test.go
The file was addedllvm/bindings/go/src/llvm/llvm_config.go.in
The file was removedllvm/bindings/go/llvm/bitwriter.go
The file was removedllvm/bindings/go/llvm/SupportBindings.cpp
The file was addedllvm/bindings/go/src/llvm/IRBindings.h
The file was addedllvm/bindings/go/src/llvm/transforms_ipo.go
The file was removedllvm/bindings/go/llvm/transforms_pmbuilder.go
The file was removedllvm/bindings/go/llvm/IRBindings.cpp
The file was removedllvm/bindings/go/llvm/string.go
The file was removedllvm/bindings/go/llvm/InstrumentationBindings.cpp
The file was modifiedllvm/test/lit.cfg.py
The file was addedllvm/bindings/go/src/llvm/transforms_pmbuilder.go
The file was addedllvm/bindings/go/src/llvm/llvm_dep.go
The file was modifiedllvm/test/Bindings/Go/lit.local.cfg
The file was addedllvm/bindings/go/src/llvm/analysis.go
The file was addedllvm/bindings/go/src/llvm/ir_test.go
The file was removedllvm/bindings/go/llvm/llvm_dep.go
The file was modifiedllvm/test/Bindings/Go/go.test
The file was addedllvm/bindings/go/src/llvm/support.go
The file was addedllvm/bindings/go/src/llvm/dibuilder.go
The file was removedllvm/bindings/go/llvm/ir_test.go
The file was removedllvm/bindings/go/llvm/bitreader.go
The file was addedllvm/bindings/go/src/llvm/string.go
The file was addedllvm/bindings/go/src/llvm/InstrumentationBindings.h
The file was addedllvm/bindings/go/src/llvm/linker.go
The file was addedllvm/bindings/go/src/llvm/executionengine_test.go
The file was addedllvm/bindings/go/src/llvm/SupportBindings.h
The file was removedllvm/bindings/go/build.sh
The file was removedllvm/bindings/go/llvm/transforms_scalar.go
The file was removedllvm/bindings/go/llvm/executionengine_test.go
The file was addedllvm/bindings/go/src/llvm/transforms_coroutines.go
The file was addedllvm/bindings/go/src/llvm/transforms_scalar.go
The file was addedllvm/bindings/go/src/llvm/InstrumentationBindings.cpp
The file was removedllvm/bindings/go/llvm/llvm_config.go.in
The file was removedllvm/bindings/go/llvm/target.go
The file was removedllvm/bindings/go/llvm/ir.go
The file was removedllvm/bindings/go/llvm/dibuilder.go
The file was addedllvm/bindings/go/src/llvm/version.go
The file was removedllvm/bindings/go/llvm/linker.go
The file was addedllvm/bindings/go/src/llvm/transforms_instrumentation.go
The file was removedllvm/bindings/go/llvm/executionengine.go
Commit d21664cce1db8debe2528f36b1fbd2b8af9c9401 by sguelton
Fix integration of pass plugins with llvm dylib

Call llvm_process_pass_plugin from clang when in standalone mode.

Differential Revision: https://reviews.llvm.org/D74464
The file was modifiedllvm/CMakeLists.txt
The file was modifiedclang/CMakeLists.txt