1. [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address. (details)
  2. [obj2yaml][XCOFF] Dump sections (details)
  3. Add extra check for llvm::Any::TypeId visibility (details)
  4. [NPM] Added -print-pipeline-passes print params for a few passes. (details)
  5. [AArch64][GlobalISel] Add a new reassociation for G_PTR_ADDs. (details)
Commit 0057c7185d1cdbcfdaa9385f4b67e677066af8b8 by hoy
[CSSPGO][llvm-profgen] Truncate stack samples with invalid return address.

Invalid frame addresses exist in call stack samples due to bad unwinding. This could happen to frame-pointer-based unwinding and the callee functions that do not have the frame pointer chain set up. It isn't common when the program is built with the frame pointer omission disabled, but can still happen with third-party static libs built with frame pointer omitted.

Reviewed By: wenlei

Differential Revision:
The file was addedllvm/test/tools/llvm-profgen/Inputs/cs-invalid-ret-addr.perfscript
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
The file was addedllvm/test/tools/llvm-profgen/cs-invalid-ret-addr.test
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
Commit 945df8bc4cf3c72a9721431ec490e2f196be170e by esme.yi
[obj2yaml][XCOFF] Dump sections

Summary: This patch implements parsing sections for obj2yaml on AIX.

Reviewed By: jhenderson

Differential Revision:
The file was modifiedllvm/test/tools/obj2yaml/XCOFF/aix.yaml
The file was addedllvm/test/tools/obj2yaml/XCOFF/invalid-symbol.yaml
The file was modifiedllvm/tools/obj2yaml/xcoff2yaml.cpp
The file was addedllvm/test/tools/obj2yaml/XCOFF/invalid-section.yaml
Commit 2c42a73d6c39af3833e697c0b306cb8cf8de5143 by sguelton
Add extra check for llvm::Any::TypeId visibility

This check should ensure we don't reproduce the problem fixed by

More accurately, it checks every llvm::Any::TypeId symbol in and
make sure they have weak linkage and are not local to the library, which would
lead to duplicate definition if another weak version of the symbol is defined in
another linked library.

Differential Revision:
The file was modifiedllvm/test/
The file was modifiedllvm/test/
The file was addedllvm/test/tools/llvm-shlib/typeids.test
Commit 1ac209ed76cb233b672302b6171a4c76de3e56b2 by markus.lavin
[NPM] Added -print-pipeline-passes print params for a few passes.

Added '-print-pipeline-passes' printing of parameters for those passes
declared with *_WITH_PARAMS macro in PassRegistry.def.

Note that it only prints the parameters declared inside *_WITH_PARAMS as
in a few cases there appear to be additional parameters not parsable.

The following passes are now covered (i.e. all of those with *_WITH_PARAMS in

LoopExtractorPass - loop-extract
HWAddressSanitizerPass - hwsan
EarlyCSEPass - early-cse
EntryExitInstrumenterPass - ee-instrument
LowerMatrixIntrinsicsPass - lower-matrix-intrinsics
LoopUnrollPass - loop-unroll
AddressSanitizerPass - asan
MemorySanitizerPass - msan
SimplifyCFGPass - simplifycfg
LoopVectorizePass - loop-vectorize
MergedLoadStoreMotionPass - mldst-motion
GVN - gvn
StackLifetimePrinterPass - print<stack-lifetime>
SimpleLoopUnswitchPass - simple-loop-unswitch

Differential Revision:
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/EarlyCSE.h
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
The file was modifiedllvm/test/Other/new-pm-print-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
The file was modifiedllvm/lib/Transforms/IPO/LoopExtractor.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/LoopExtractor.h
The file was modifiedllvm/lib/Analysis/StackLifetime.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
The file was modifiedllvm/include/llvm/Analysis/StackLifetime.h
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit 5ec1845cad9e2bce4eff78b6c7d7c0fca8dfffba by Amara Emerson
[AArch64][GlobalISel] Add a new reassociation for G_PTR_ADDs.


Improves CTMark -Os on AArch64:

Program            before after  diff
           sqlite3 286932 287024  0.0%
                kc 432512 432508 -0.0%
             SPASS 412788 412764 -0.0%
    pairlocalalign 249460 249416 -0.0%
            bullet 475740 475512 -0.0%
    7zip-benchmark 568864 568356 -0.1%
  consumer-typeset 419088 418648 -0.1%
        tramp3d-v4 367628 367224 -0.1%
          clamscan 383184 382732 -0.1%
            lencod 430028 429284 -0.2%
Geomean difference               -0.1%

Differential Revision:
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-reassociation.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp