Changes

Summary

  1. [M68k][Disassembler][NFC] Decorate dump methods with LLVM_DUMP_METHOD (details)
  2. [AArch64] Improve vector reverse lowering (details)
  3. [GlobalOpt] Don't replace alias with aliasee if aliasee is interposable (details)
  4. [trace][intel-pt] Fix a crash on unconsumed Expected's Error (details)
  5. lldb/Instrumentation: NFC-ish use GetFrameCodeAddressForSymbolication() (details)
  6. [Hexagon] Use 'vnot' instead of 'not' in patterns with vectors (details)
  7. [GVN] Regenerate test checks (NFC) (details)
  8. [GVN] Generate LE and BE check lines (NFC) (details)
  9. Revert "Re-land "[Driver] Support default libc++ library location on Darwin"" (details)
  10. [dfsan] Fix Len argument type in call to __dfsan_mem_transfer_callback (details)
  11. [AST] Enable AST node introspection on Apple (details)
  12. [Hexagon] Improve lowering of returns of i1 (details)
  13. [RISCV] Fix crash with fptosi.sat/fptoui.sat intrinsics on RV64. Add test cases. (details)
  14. [flang] (NFC) Break up flang/runtime/reduction.cpp (details)
  15. [lld-macho][nfc] Clean up some constructor declarations (details)
  16. [lld-macho] Fix min version check (details)
  17. [WebAssembly] Put utility functions in Utils directory (NFC) (details)
  18. [WebAssembly] Serialize params/results in MachineFunctionInfo (details)
  19. [WebAssembly] Fix fixEndsAtEndOfFunction for delegate (details)
  20. scudo: Optimize getSizeLSBByClassId() by compressing the table into an integer if possible. NFCI. (details)
  21. Revert "[AST] Enable AST node introspection on Apple" (details)
  22. llvm-objdump: add --rpaths to macho support (details)
  23. [HIP] Support overloaded math functions for hipRTC (details)
  24. Revert "[lld-macho] Fix min version check" (details)
  25. scudo: Only static_assert for compressed LSB format with clang. (details)
  26. [clang][nfc] Split getOrCheckAMDGPUCodeObjectVersion (details)
  27. [RISCV] [1/2] Add IR intrinsic for Zbp extension (details)
  28. [re-land][lld-macho] Fix min version check (details)
  29. [lldb] Update register state parsing for JSON crashlogs (details)
  30. CWG2076: Permit implicit conversions within a single level of braces (details)
  31. Reapply  "[AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs installed" (details)
  32. [libc++][ranges] Add range.cmp: equal_to, not_equal_to, less, etc. (details)
  33. [IR][sanitizer] Add module flag "frame-pointer" and set it for cc1 -mframe-pointer={non-leaf,all} (details)
  34. AMDGPU: Restore atomic fp feature on FP atomic instruction definitions (details)
  35. [NFC] Fix cpplint warning (details)
Commit 6f4ed8c0bd5000819864f0584c0ce086c388b720 by minyihh
[M68k][Disassembler][NFC] Decorate dump methods with LLVM_DUMP_METHOD

And guard them with proper macro conditions. NFC.
The file was modifiedllvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp (diff)
Commit c0bf5929eea7ee86d664f069c2cfb9c65fcda05c by david.green
[AArch64] Improve vector reverse lowering

This improves the lowering of v8i16 and v16i8 vector reverse shuffles.
Instead of going via a generic tbl it uses a rev64; ext pair, as already
happens for v4i32.

Differential Revision: https://reviews.llvm.org/D100882
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/neon-reverseshuffle.patch (diff)
The file was modifiedllvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll (diff)
Commit 16ff1a7023db2a2a8ffe0a9a1cd879c6ecf1ccca by aeubanks
[GlobalOpt] Don't replace alias with aliasee if aliasee is interposable

Both the alias and aliasee linkage are important.

PR27866 provides some background.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D99629
The file was modifiedllvm/test/Transforms/GlobalOpt/alias-resolve.ll (diff)
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp (diff)
Commit 18a85276426b9604a9ceca8c528b694964dd8d7c by jan.kratochvil
[trace][intel-pt] Fix a crash on unconsumed Expected's Error

Reproducible with build using libipt and -DLLVM_ENABLE_ASSERTIONS=ON:
(lldb) b main
(lldb) r
(lldb) process trace start
The file was modifiedlldb/source/Plugins/Process/Linux/IntelPTManager.cpp (diff)
Commit 91e90cf622074633009788a220a354043a609dee by Fred Riss
lldb/Instrumentation: NFC-ish use GetFrameCodeAddressForSymbolication()

A couple of our Instrumentation runtimes were gathering backtraces,
storing it in a StructuredData array and later creating a HistoryThread
using this data. By deafult HistoryThread will consider the history PCs
as return addresses and thus will substract 1 from them to go to the
call address.

This is usually correct, but it's also wasteful as when we gather the
backtraces ourselves, we have much better information to decide how
to backtrace and symbolicate. This patch uses the new
GetFrameCodeAddressForSymbolication() to gather the PCs that should
be used for symbolication and configures the HistoryThread to just
use those PCs as-is.

(The MTC plugin was actaully applying a -1 itself and then the
HistoryThread would do it again, so this actaully fixes a bug there.)

rdar://77027680

Differential Revision: https://reviews.llvm.org/D101094
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp (diff)
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp (diff)
Commit ab9521aaebc51de677741343184da768ee596c08 by kparzysz
[Hexagon] Use 'vnot' instead of 'not' in patterns with vectors

'not' expands to checking for an xor with a -1 constant. Since
this looks for a ConstantSDNode it will never match for a vector.

Co-authored-by: Craig Topper <craig.topper@sifive.com>

Differential Revision: https://reviews.llvm.org/D100687
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatterns.td (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td (diff)
The file was addedllvm/test/CodeGen/Hexagon/autohvx/logical-128b.ll
The file was addedllvm/test/CodeGen/Hexagon/isel/logical.ll
The file was addedllvm/test/CodeGen/Hexagon/autohvx/logical-64b.ll
Commit 9d1b2bc7bf2f4c2cf601616ec7e17310c6748850 by nikita.ppv
[GVN] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/GVN/PRE/rle.ll (diff)
Commit 1d96107cfec5539b02b4464009a6c330c0593e44 by nikita.ppv
[GVN] Generate LE and BE check lines (NFC)

I accidentally dropped some check lines in my previous commit.
Apparently update_test_checks no longer warns on label conflicts???
The file was modifiedllvm/test/Transforms/GVN/PRE/rle.ll (diff)
Commit d5f433d3302eedd455889d581d8312715289b582 by phosek
Revert "Re-land "[Driver] Support default libc++ library location on Darwin""

This reverts commit 6331680ad2ad000fdaf7e72f3c1880c7908ffa25 because
this breaks the compiler-rt build.
The file was modifiedclang/test/Driver/darwin-ld.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp (diff)
Commit 2627f99613740b8f8a85e150dc0e4c4b6fa6e13f by jianzhouzh
[dfsan] Fix Len argument type in call to __dfsan_mem_transfer_callback

This patch is supposed to solve: https://bugs.llvm.org/show_bug.cgi?id=50075

The function `__dfsan_mem_transfer_callback` takes a `Len` argument of type `i64`; however, when processing a `MemTransferInst` such as `llvm.memcpy.p0i8.p0i8.i32`, the `len` argument has type `i32`. In order to make the type of `len` compatible with the one of the callback argument, this change zero-extends it when necessary.

Reviewed By: stephan.yichao.zhao, gbalats

Differential Revision: https://reviews.llvm.org/D101048
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp (diff)
Commit 907409a536cd66a09a91ee28e1f6f8bcc7127bc7 by steveire
[AST] Enable AST node introspection on Apple

This was previously excluded due to possible buildbot failures.
The file was modifiedclang/lib/Tooling/CMakeLists.txt (diff)
Commit 06234f758e1945084582cf80450b396f75a9c06e by kparzysz
[Hexagon] Improve lowering of returns of i1

Emit explicit any-extend to avoid weird tstbit sequences.
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_eqi.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_lt.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_ult.ll (diff)
The file was modifiedllvm/test/CodeGen/Hexagon/predicate-copy.ll (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Hexagon/isel/logical.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_ugt.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_ugti.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_eq.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_gt.ll (diff)
The file was modifiedllvm/test/MC/Hexagon/inst_cmp_gti.ll (diff)
Commit 5185b52988c5874dd46b2cc17685b78cd64609c1 by craig.topper
[RISCV] Fix crash with fptosi.sat/fptoui.sat intrinsics on RV64. Add test cases.

Add PromoteIntOp_FP_TO_XINT_SAT to type legalize the bit width
operand from i32 to i64 for RV64.

Add test cases for the saturating intrinsics for half/float/double
and i32/i64. CodeGen is definitely not optimal. We can probably
make use of the native behavior of fcvt instructions in many cases.

Fixes PR50083
The file was modifiedllvm/test/CodeGen/RISCV/float-convert.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h (diff)
The file was modifiedllvm/test/CodeGen/RISCV/double-convert.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/half-convert.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
Commit beb5ac8b254b2c46c548cd0840a761fec24c69ff by pklausler
[flang] (NFC) Break up flang/runtime/reduction.cpp

The single source file reduction.cpp is a little large in
terms of both source lines and generated text bytes, so
split SUM, PRODUCT, FINDLOC, and MAXLOC/MAXVAL/MINLOC/MINVAL
off into their own C++ source files that share a set of
implementation function templates now in a common header.

Differential Revision: https://reviews.llvm.org/D101111
The file was addedflang/runtime/sum.cpp
The file was addedflang/runtime/findloc.cpp
The file was modifiedflang/runtime/reduction.cpp (diff)
The file was addedflang/runtime/reduction-templates.h
The file was addedflang/runtime/extrema.cpp
The file was addedflang/runtime/product.cpp
The file was modifiedflang/runtime/CMakeLists.txt (diff)
Commit 2618eaf614418c5d48c7fccc155106a3292a1431 by jezng
[lld-macho][nfc] Clean up some constructor declarations

Remove unnecessary default ctor + add `explicit` to others
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
Commit aa05439c9cde873ba18ae847ac7c23877178a9ca by jezng
[lld-macho] Fix min version check

We had got it backwards... the minimum version of the target
should be higher than the min version of the object files, presumably
since new platforms are backwards-compatible with older formats.

Fixes PR50078.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D101114
The file was modifiedlld/MachO/InputFiles.cpp (diff)
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s (diff)
Commit 0b2bc69ba29b340903a0edc4545409791bab0010 by aheejin
[WebAssembly] Put utility functions in Utils directory (NFC)

This CL
1. Creates Utils/ directory under lib/Target/WebAssembly
2. Moves existing WebAssemblyUtilities.cpp|h into the Utils/ directory
3. Creates Utils/WebAssemblyTypeUtilities.cpp|h and put type
   declarataions and type conversion functions scattered in various
   places into this single place.

It has been suggested several times that it is not easy to share utility
functions between subdirectories (AsmParser, DIsassembler, MCTargetDesc,
...). Sometimes we ended up [[ https://reviews.llvm.org/D92840#2478863 | duplicating ]] the same function because of
this.

There are already other targets doing this: AArch64, AMDGPU, and ARM
have Utils/ subdirectory under their target directory.

This extracts the utility functions into a single directory Utils/ and
make them sharable among all passes in WebAssembly/ and its
subdirectories. Also I believe gathering all type-related conversion
functionalities into a single place makes it more usable. (Actually I
was working on another CL that uses various type conversion functions
scattered in multiple places, which became the motivation for this CL.)

Reviewed By: dschuff, aardappel

Differential Revision: https://reviews.llvm.org/D100995
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff)
The file was removedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff)
The file was addedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp (diff)
The file was addedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp (diff)
The file was addedllvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h (diff)
The file was removedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp (diff)
The file was addedllvm/lib/Target/WebAssembly/Utils/CMakeLists.txt
The file was addedllvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/CMakeLists.txt (diff)
Commit b3e88ccba7fafc65dc4d0e82265cc4e004daa757 by aheejin
[WebAssembly] Serialize params/results in MachineFunctionInfo

This adds support for YAML serialization of `Params` and `Results`
fields in `WebAssemblyMachineFunctionInfo`. Types are printed as `MVT`'s
string representation. This is for writing MIR tests easier.

The tests added are testing simple parsing and printing of `params` /
`results` fields under `machineFunctionInfo`.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D101029
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/function-info.mir (diff)
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp (diff)
Commit c390621aeb823e0cad235dad2ede097fba415cf3 by aheejin
[WebAssembly] Fix fixEndsAtEndOfFunction for delegate

Background:
CFGStackify's [[ https://github.com/llvm/llvm-project/blob/398f25340000f26d648ebbc7eae9dc401ffc7d5f/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp#L1481-L1540 | fixEndsAtEndOfFunction ]] fixes block/loop/try's return
type when the end of function is unreachable and the function return
type is not void. So if a function returns i32 and `block`-`end` wraps the
whole function, i.e., the `block`'s `end` is the last instruction of the
function, the `block`'s return type should be i32 too:
```
block i32
  ...
end
end_function
```

If there are consecutive `end`s, this signature has to be propagate to
those blocks too, like:
```
block i32
  ...
  block i32
    ...
  end
end
end_function
```

This applies to `try`-`end` too:
```
try i32
  ...
catch
  ...
end
end_function
```

In case of `try`, we not only follow consecutive `end`s but also follow
`catch`, because for the type of the whole `try` to be i32, both `try`
and `catch` parts have to be i32:
```
try i32
  ...
  block i32
    ...
  end
catch
  ...
  block i32
    ...
  end
end
end_function
```

---

Previously we only handled consecutive `end`s or `end` before a `catch`.
But now we have `delegate`, which serves like `end` for
`try`-`delegate`. So we have to follow `delegate` too and mark its
corresponding `try` as i32 (the function's return type):
```
try i32
  ...
catch
  ...
  try i32    ;; Here
    ...
  delegate N
end
end_function
```

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D101036
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.mir (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff)
Commit a6500b013a257c969e19ce0d8414ff43fe9bd4fa by peter
scudo: Optimize getSizeLSBByClassId() by compressing the table into an integer if possible. NFCI.

With AndroidSizeClassMap all of the LSBs are in the range 4-6 so we
only need 2 bits of information per size class. Furthermore we have
32 size classes, which conveniently lets us fit all of the information
into a 64-bit integer. Do so if possible so that we can avoid a table
lookup entirely.

Differential Revision: https://reviews.llvm.org/D101105
The file was modifiedcompiler-rt/lib/scudo/standalone/size_class_map.h (diff)
Commit af91065ce5e6fd3069029ba9d077f2b21bacb545 by steveire
Revert "[AST] Enable AST node introspection on Apple"

This reverts commit 907409a536cd66a09a91ee28e1f6f8bcc7127bc7.

This caused a failure

  http://green.lab.llvm.org/green//job/lldb-cmake-standalone/2827/consoleFull#-210109660a1ca8a51-895e-46c6-af87-ce24fa4cd561

Assertion failed: (!CodeSynthesisContexts.empty() && "Cannot perform an
instantiation without some context on the " "instantiation stack"),
function SubstType, file
/Users/buildslave/jenkins/workspace/lldb-cmake-standalone/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp,
line 2071.
The file was modifiedclang/lib/Tooling/CMakeLists.txt (diff)
Commit 86b98c60c54cbb661500058c6e0d2f5cffec2690 by keithbsmiley
llvm-objdump: add --rpaths to macho support

This prints the rpaths for the given binary

Reviewed By: kastiglione

Differential Revision: https://reviews.llvm.org/D100681
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp (diff)
The file was modifiedllvm/tools/llvm-objdump/ObjdumpOpts.td (diff)
The file was modifiedllvm/docs/CommandGuide/llvm-objdump.rst (diff)
The file was addedllvm/test/tools/llvm-objdump/MachO/rpaths.test
The file was modifiedllvm/tools/llvm-objdump/MachODump.h (diff)
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp (diff)
Commit 8baba6890de74d33beb75646ebcbf168e949d578 by Yaxun.Liu
[HIP] Support overloaded math functions for hipRTC

Remove the dependence on standard C++ header
for overloaded math functions in HIP header
since standard C++ header is not available for hipRTC.

Reviewed by: Artem Belevich, Justin Lebar

Differential Revision: https://reviews.llvm.org/D100794
The file was modifiedclang/lib/Headers/__clang_hip_runtime_wrapper.h (diff)
The file was modifiedclang/lib/Headers/__clang_hip_cmath.h (diff)
The file was modifiedclang/test/Headers/hip-header.hip (diff)
Commit 75ecb804b11f9efc806310ce7b00cdb45d09e090 by jezng
Revert "[lld-macho] Fix min version check"

This reverts commit aa05439c9cde873ba18ae847ac7c23877178a9ca.
The file was modifiedlld/MachO/InputFiles.cpp (diff)
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s (diff)
Commit 484b6648fdd4b104eaf7a2504dd07b60af2c9f8d by peter
scudo: Only static_assert for compressed LSB format with clang.

It looks like there's some old version of gcc that doesn't like this
static_assert (I couldn't reproduce the issue with gcc 8, 9 or 10).
Work around the issue by only checking the static_assert under clang,
which should provide sufficient coverage.

Should hopefully fix this buildbot:
https://lab.llvm.org/buildbot/#/builders/112/builds/5356
The file was modifiedcompiler-rt/lib/scudo/standalone/size_class_map.h (diff)
Commit 2cdb9873b2105eb07ce323edbe6c431a6c79e523 by jonathanchesterfield
[clang][nfc] Split getOrCheckAMDGPUCodeObjectVersion

[clang][nfc] Split getOrCheckAMDGPUCodeObjectVersion

Separates detection of deprecated or invalid code object version from
returning the version. Written to avoid any behaviour change.

Precursor to a revision of D98746.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D101077
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp (diff)
Commit b49337bbb9de63e4696cb1fc1d2809d2823ab460 by craig.topper
[RISCV] [1/2] Add IR intrinsic for Zbp extension

RV32/64:
    grev
    grevi
    gorc
    gorci
    shfl
    shfli
    unshfl
    unshfli

RV64 ONLY:
    grevw
    greviw
    gorcw
    gorciw
    shflw
    shfli     (For non-existing shfliw)
    unshfli   (For non-existing unshfliw)

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100830
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
The file was addedclang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbp.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td (diff)
The file was modifiedllvm/test/MC/RISCV/rv32b-aliases-valid.s (diff)
The file was addedllvm/test/CodeGen/RISCV/rv64zbp-intrinsic.ll
The file was modifiedllvm/test/MC/RISCV/rv64b-aliases-valid.s (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedclang/include/clang/Basic/BuiltinsRISCV.def (diff)
The file was addedllvm/test/CodeGen/RISCV/rv32zbp-intrinsic.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
The file was addedclang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbp.c
Commit 8c17a875150f8e736e8f9061ddf084397f45f4c5 by jezng
[re-land][lld-macho] Fix min version check

We had got it backwards... the minimum version of the target
should be higher than the min version of the object files, presumably
since new platforms are backwards-compatible with older formats.

Fixes PR50078.

The original commit (aa05439c9cde) broke many tests that had inputs too
new for our target platform (10.0). This commit changes the inputs to
target 10.0, which was the simpler thing to do, but we should really
just have our lit.local.cfg default to targeting 10.15... we're not
likely to ever have proper support for the older versions anyway. I will
follow up with a change to that effect.

Differential Revision: https://reviews.llvm.org/D101114
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s (diff)
The file was modifiedlld/test/MachO/compact-unwind.s (diff)
The file was modifiedlld/MachO/InputFiles.cpp (diff)
The file was modifiedlld/test/MachO/mh-header-link.s (diff)
The file was modifiedlld/test/MachO/module-asm.ll (diff)
The file was modifiedlld/test/MachO/lc-linker-option.ll (diff)
The file was modifiedlld/test/MachO/lto-object-path.ll (diff)
The file was modifiedlld/test/MachO/invalid/compact-unwind-bad-reloc.s (diff)
The file was modifiedlld/test/MachO/invalid/invalid-relocation-pcrel.yaml (diff)
The file was modifiedlld/test/MachO/linkonce.ll (diff)
The file was modifiedlld/test/MachO/lto-save-temps.ll (diff)
The file was modifiedlld/test/MachO/t.s (diff)
The file was modifiedlld/test/MachO/tapi-link-by-arch.s (diff)
The file was modifiedlld/test/MachO/internalize.ll (diff)
The file was modifiedlld/test/MachO/invalid/compact-unwind-personalities.s (diff)
The file was modifiedlld/test/MachO/lto-archive.ll (diff)
The file was modifiedlld/test/MachO/invalid/invalid-relocation-length.yaml (diff)
The file was modifiedlld/test/MachO/compact-unwind-generated.test (diff)
Commit 91d3f73937b603b168a2be40f57a81efcc37da86 by Jonas Devlieghere
[lldb] Update register state parsing for JSON crashlogs

- The register encoding state in the JSON crashlog format changes.
   Update the parser accordingly.
- Print the register state when printing the symbolicated thread.
The file was modifiedlldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test (diff)
The file was modifiedlldb/examples/python/crashlog.py (diff)
The file was modifiedlldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test (diff)
Commit 40beb1f84a3d72ea39fcee1dcb66c3cefb5d5644 by richard
CWG2076: Permit implicit conversions within a single level of braces
during overload resolution, even when calling a copy constructor.
The file was modifiedclang/lib/Sema/SemaOverload.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr14xx.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr20xx.cpp (diff)
Commit 15be0c41d2e59fb4599c9aebf21ede498c61f51d by jonathanchesterfield
Reapply  "[AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs installed"

This reverts commit 24c1ed3b34f7602b955e52cd8a362f4e27eb5f20.
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_different
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx908_gfx908
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx906
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.h (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_fail
The file was modifiedclang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp (diff)
The file was addedclang/test/Driver/amdgpu-openmp-system-arch.c
The file was addedclang/test/Driver/amdgpu-openmp-system-arch-fail.c
The file was modifiedclang/tools/CMakeLists.txt (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td (diff)
The file was addedclang/tools/amdgpu-arch/AMDGPUArch.cpp
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp (diff)
The file was addedclang/tools/amdgpu-arch/CMakeLists.txt
Commit 879cbac08ba17566ad61ff2b9d7180bcab4a0d1e by zoecarver
[libc++][ranges] Add range.cmp: equal_to, not_equal_to, less, etc.

Adds the six new concept constrained comparisons.

Differential Revision: https://reviews.llvm.org/D100429
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.compare/types.h
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp (diff)
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp (diff)
The file was removedlibcxx/test/std/utilities/function.objects/comparisons/pointer_comparison_test_helper.h
The file was addedlibcxx/test/support/pointer_comparison_test_helper.h
The file was modifiedlibcxx/include/functional (diff)
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp (diff)
The file was addedlibcxx/test/support/compare_types.h
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp (diff)
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp (diff)
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp (diff)
Commit 2786e673c7d67ffca531ef38d679620ee3048a1e by i
[IR][sanitizer] Add module flag "frame-pointer" and set it for cc1 -mframe-pointer={non-leaf,all}

The Linux kernel objtool diagnostic `call without frame pointer save/setup`
arise in multiple instrumentation passes (asan/tsan/gcov). With the mechanism
introduced in D100251, it's trivial to respect the command line
-m[no-]omit-leaf-frame-pointer/-f[no-]omit-frame-pointer, so let's do it.

Fix: https://github.com/ClangBuiltLinux/linux/issues/1236 (tsan)
Fix: https://github.com/ClangBuiltLinux/linux/issues/1238 (asan)

Also document the function attribute "frame-pointer" which is long overdue.

Differential Revision: https://reviews.llvm.org/D101016
The file was modifiedllvm/lib/IR/Module.cpp (diff)
The file was removedllvm/test/Instrumentation/AddressSanitizer/uwtable.ll
The file was modifiedllvm/include/llvm/Support/CodeGen.h (diff)
The file was addedllvm/test/Instrumentation/AddressSanitizer/module-flags.ll
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h (diff)
The file was addedclang/test/CodeGen/asan-frame-pointer.cpp
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp (diff)
The file was modifiedllvm/docs/LangRef.rst (diff)
The file was modifiedllvm/lib/IR/Function.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Module.h (diff)
Commit ed633a1daad97044063934cf28985491fbed7b4c by Matthew.Arsenault
AMDGPU: Restore atomic fp feature on FP atomic instruction definitions

9931b1f7a4785b6a17fb87b81a3546d61d0cbca1 switched this to checking for
the two specific subtargets, instead of the dedicated feature. This
broke supporting functions which force added the feature when emitting
targets that do not actually support them. This stil does not work for
the targets that use the gfx6/7 or gfx10 encodings.
The file was addedllvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td (diff)
Commit 619ecba5bcbf7ccbfd00daf7f048e34cb1fa7c14 by Vitaly Buka
[NFC] Fix cpplint warning
The file was modifiedcompiler-rt/test/lsan/TestCases/use_globals_unused.cpp (diff)