SuccessChanges

Summary

  1. UBSAN: emit distinctive traps (details)
  2. [IR] Remove CastInst::isCastable since it is not used (details)
  3. [CodeGen] Add text section prefix for COFF object file (details)
  4. [DebugInfo][Docs] Document MIR language debug-info constructs (details)
  5. [compiler-rt] Allow appending to 'target_cflags' value from lit_config. (details)
  6. [NFC] Chec[^k] -> Check (details)
  7. [LICM][docs] Document that LICM is also a canonicalization transform. NFC. (details)
Commit c5978f42ec8e9f7fa62a38510343440485752ec5 by Tim Northover
UBSAN: emit distinctive traps

Sometimes people get minimal crash reports after a UBSAN incident. This change
tags each trap with an integer representing the kind of failure encountered,
which can aid in tracking down the root cause of the problem.
The file was modifiedclang/test/CodeGen/catch-implicit-integer-truncations.c
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
The file was addedllvm/test/CodeGen/AArch64/ubsantrap.ll
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
The file was modifiedclang/test/CodeGenCXX/trap-fnattr.cpp
The file was modifiedclang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrSystem.td
The file was modifiedclang/test/CodeGen/catch-pointer-overflow.c
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedclang/test/CodeGen/catch-pointer-overflow-volatile.c
The file was modifiedclang/test/CodeGen/sanitize-trap.c
The file was modifiedclang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
The file was modifiedclang/lib/CodeGen/CGClass.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was addedclang/test/CodeGen/ubsan-trap-debugloc.c
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedclang/test/CodeGenCXX/cfi-mfcall.cpp
The file was modifiedclang/test/CodeGen/catch-undef-behavior.c
The file was modifiedclang/test/CodeGen/cfi-check-fail2.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-openmp.cpp
The file was modifiedclang/test/CodeGenCXX/cfi-cast.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
The file was modifiedclang/test/CodeGen/bounds-checking.c
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
The file was addedllvm/test/CodeGen/X86/ubsantrap.ll
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/test/CodeGen/unsigned-trapv.c
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
The file was modifiedclang/test/CodeGenCXX/type-metadata.cpp
The file was modifiedclang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedclang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
The file was modifiedclang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/CodeGen/catch-implicit-integer-sign-changes.c
The file was modifiedclang/test/CodeGen/trapv.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
The file was modifiedclang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedclang/test/CodeGen/cfi-check-fail.c
The file was modifiedclang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
Commit 2cfbdaf601049faafb2f1b40f63a3b2bef74a464 by cullen.rhodes
[IR] Remove CastInst::isCastable since it is not used

It was removed back in 2013 (f63dfbb) by Matt Arsenault but then
reverted since DragonEgg used it, but that project is no longer
maintained.

Reviewed By: ldionne, dexonsmith

Differential Revision: https://reviews.llvm.org/D92571
The file was modifiedllvm/unittests/IR/InstructionsTest.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 7af802994eb0521e1b00eda95303f21e874d9f22 by pengfei.wang
[CodeGen] Add text section prefix for COFF object file

Text section prefix is created in CodeGenPrepare, it's file format independent implementation,  text section name is written into object file in TargetLoweringObjectFile, it's file format dependent implementation, port code of adding text section prefix to text section name from ELF to COFF.
Different with ELF that use '.' as concatenation character, COFF use '$' as concatenation character. That is, concatenation character is variable, so split concatenation character from text section prefix.
Text section prefix is existing feature of ELF, it can help to reduce icache and itlb misses, it's also make possible aggregate other compilers e.g. v8 created same prefix sections. Furthermore, the recent feature Machine Function Splitter (basic block level text prefix section) is based on text section prefix.

Reviewed By: pengfei, rnk

Differential Revision: https://reviews.llvm.org/D92073
The file was modifiedllvm/test/Transforms/CodeGenPrepare/X86/section.ll
The file was modifiedllvm/include/llvm/ProfileData/ProfileCommon.h
The file was addedllvm/test/CodeGen/X86/text-section-prefix.ll
The file was modifiedllvm/test/CodeGen/X86/mingw-comdats.ll
The file was modifiedllvm/test/Transforms/HotColdSplit/coldentrycount.ll
The file was modifiedllvm/lib/CodeGen/MachineFunctionSplitter.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/X86/machine-function-splitter.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
The file was modifiedllvm/test/Transforms/CodeGenPrepare/X86/section-samplepgo.ll
Commit cda32aba4f46033eea4eea6eda703459dc3c7a1e by jeremy.morse
[DebugInfo][Docs] Document MIR language debug-info constructs

This patch documents the MIR syntax for a number of things relevant to
debugging information:
* Trailing 'debug-location' metadata that becomes a DebugLoc,
* Variable location metadata for stack slots,
* Syntax for DBG_VALUE metainstructions,
* Syntax for DBG_INSTR_REF, including trailing instruction numbers
   attached to MIR instructions.

Differential Revision: https://reviews.llvm.org/D89337
The file was modifiedllvm/docs/MIRLangRef.rst
Commit deec343bfd85d7c78fb0d8e251e63f372767297d by abidh
[compiler-rt] Allow appending to 'target_cflags' value from lit_config.

This patch is similar to D84708. When testing compiler-rt on different
baremetal targets, it helps to have the ability to pass some more parameters
at test time that allows you to build the test executable for a
given target. For an example, you may need a different linker command
file for different targets.

This patch will allows to do things like

$ llvm-lit --param=append_target_cflags="-T simulator.ld"
or
$ llvm-lit --param=append_target_cflags="-T hardware.ld"

In this way, you can run tests on different targets without having to run
cmake again.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D91783
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit c100d7ba36a5501bba6f7107a531323a51498bf6 by david.green
[NFC] Chec[^k] -> Check

Some test updates all appearing to use the wrong spelling of CHECK.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fold-lsl.ll
The file was modifiedllvm/test/DebugInfo/COFF/retained-types.ll
The file was modifiedllvm/test/MC/Mips/macro-ddiv.s
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/inner-full-unroll.ll
The file was modifiedllvm/test/CodeGen/ARM/vminmaxnm-safe.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/groups.test
The file was modifiedllvm/test/CodeGen/ARM/v7k-abi-align.ll
The file was modifiedllvm/test/Transforms/IRCE/pre_post_loops.ll
The file was modifiedllvm/utils/llvm-compilers-check
The file was modifiedllvm/test/CodeGen/ARM/fold-stack-adjust.ll
The file was modifiedllvm/test/MC/ARM/thumb_set-diagnostics.s
Commit 1e260f955d3123351fc68de8c2dde02b1be6d14f by sjoerd.meijer
[LICM][docs] Document that LICM is also a canonicalization transform. NFC.

This documents that LICM is a canonicalization transform, which we discussed
recently in:

http://lists.llvm.org/pipermail/llvm-dev/2020-December/147184.html

but which was also discused earlier, e.g. in:

http://lists.llvm.org/pipermail/llvm-dev/2019-September/135058.html
The file was modifiedllvm/docs/Passes.rst
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp

Summary

  1. [lldb] Remove use of removed dotest arg -s in build.py (details)
Commit b92c0f759b1fe309f090bfbb81def93830bf36ec by Raphael Isemann
[lldb] Remove use of removed dotest arg -s in build.py
The file was modifiedzorg/jenkins/build.py