|
 | llvm/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
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff) |
 | llvm/test/CodeGen/AArch64/neon-reverseshuffle.patch (diff) |
 | llvm/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
|
 | llvm/lib/Transforms/IPO/GlobalOpt.cpp (diff) |
 | llvm/test/Transforms/GlobalOpt/alias-resolve.ll (diff) |
|
 | lldb/source/Plugins/Process/Linux/IntelPTManager.cpp (diff) |
Commit
91e90cf622074633009788a220a354043a609dee
by Fred Risslldb/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
|
 | lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp (diff) |
 | lldb/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
|
 | llvm/lib/Target/Hexagon/HexagonPatterns.td (diff) |
 | llvm/test/CodeGen/Hexagon/autohvx/logical-64b.ll |
 | llvm/test/CodeGen/Hexagon/autohvx/logical-128b.ll |
 | llvm/lib/Target/Hexagon/HexagonPatternsHVX.td (diff) |
 | llvm/test/CodeGen/Hexagon/isel/logical.ll |
|
 | llvm/test/Transforms/GVN/PRE/rle.ll (diff) |
|
 | llvm/test/Transforms/GVN/PRE/rle.ll (diff) |
Commit
d5f433d3302eedd455889d581d8312715289b582
by phosekRevert "Re-land "[Driver] Support default libc++ library location on Darwin""
This reverts commit 6331680ad2ad000fdaf7e72f3c1880c7908ffa25 because this breaks the compiler-rt build.
|
 | clang/lib/Driver/ToolChains/Darwin.cpp (diff) |
 | clang/test/Driver/darwin-ld.c (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
|
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp (diff) |
|
 | clang/lib/Tooling/CMakeLists.txt (diff) |
|
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_gt.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_gti.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_ugti.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_ult.ll (diff) |
 | llvm/test/CodeGen/Hexagon/isel/logical.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_eq.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_lt.ll (diff) |
 | llvm/test/CodeGen/Hexagon/predicate-copy.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_ugt.ll (diff) |
 | llvm/test/MC/Hexagon/inst_cmp_eqi.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
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff) |
 | llvm/test/CodeGen/RISCV/half-convert.ll (diff) |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h (diff) |
 | llvm/test/CodeGen/RISCV/float-convert.ll (diff) |
 | llvm/test/CodeGen/RISCV/double-convert.ll (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
|
 | flang/runtime/CMakeLists.txt (diff) |
 | flang/runtime/sum.cpp |
 | flang/runtime/reduction-templates.h |
 | flang/runtime/reduction.cpp (diff) |
 | flang/runtime/extrema.cpp |
 | flang/runtime/findloc.cpp |
 | flang/runtime/product.cpp |
|
 | lld/MachO/SyntheticSections.cpp (diff) |
 | lld/MachO/Writer.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
|
 | lld/MachO/InputFiles.cpp (diff) |
 | lld/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
|
 | llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h (diff) |
 | llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp (diff) |
 | llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp (diff) |
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h |
 | llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp |
 | llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp (diff) |
 | llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt (diff) |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp (diff) |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp (diff) |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h (diff) |
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp (diff) |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h (diff) |
 | llvm/lib/Target/WebAssembly/Utils/CMakeLists.txt |
 | llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp (diff) |
 | llvm/lib/Target/WebAssembly/CMakeLists.txt (diff) |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt (diff) |
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp |
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h |
 | llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (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
|
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h (diff) |
 | llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h (diff) |
 | llvm/test/CodeGen/WebAssembly/function-info.mir (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
|
 | llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.mir (diff) |
 | llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff) |
Commit
a6500b013a257c969e19ce0d8414ff43fe9bd4fa
by peterscudo: 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
|
 | compiler-rt/lib/scudo/standalone/size_class_map.h (diff) |
Commit
af91065ce5e6fd3069029ba9d077f2b21bacb545
by steveireRevert "[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.
|
 | clang/lib/Tooling/CMakeLists.txt (diff) |
|
 | llvm/tools/llvm-objdump/MachODump.h (diff) |
 | llvm/docs/CommandGuide/llvm-objdump.rst (diff) |
 | llvm/test/tools/llvm-objdump/MachO/rpaths.test |
 | llvm/tools/llvm-objdump/MachODump.cpp (diff) |
 | llvm/tools/llvm-objdump/llvm-objdump.cpp (diff) |
 | llvm/tools/llvm-objdump/ObjdumpOpts.td (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
|
 | clang/test/Headers/hip-header.hip (diff) |
 | clang/lib/Headers/__clang_hip_runtime_wrapper.h (diff) |
 | clang/lib/Headers/__clang_hip_cmath.h (diff) |
|
 | lld/test/MachO/invalid/incompatible-arch.s (diff) |
 | lld/MachO/InputFiles.cpp (diff) |
Commit
484b6648fdd4b104eaf7a2504dd07b60af2c9f8d
by peterscudo: 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
|
 | compiler-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
|
 | clang/lib/Driver/ToolChains/CommonArgs.cpp (diff) |
 | clang/lib/Driver/ToolChains/AMDGPU.cpp (diff) |
 | clang/lib/Driver/ToolChains/Clang.cpp (diff) |
 | clang/lib/Driver/ToolChains/CommonArgs.h (diff) |
 | clang/lib/Driver/ToolChains/HIP.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
|
 | llvm/test/CodeGen/RISCV/rv64zbp-intrinsic.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff) |
 | clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbp.c |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h (diff) |
 | clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbp.c |
 | llvm/lib/Target/RISCV/RISCVInstrInfoB.td (diff) |
 | clang/include/clang/Basic/BuiltinsRISCV.def (diff) |
 | llvm/test/MC/RISCV/rv64b-aliases-valid.s (diff) |
 | clang/lib/CodeGen/CGBuiltin.cpp (diff) |
 | llvm/test/CodeGen/RISCV/rv32zbp-intrinsic.ll |
 | llvm/test/MC/RISCV/rv32b-aliases-valid.s (diff) |
 | llvm/include/llvm/IR/IntrinsicsRISCV.td (diff) |
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
|
 | lld/test/MachO/invalid/invalid-relocation-pcrel.yaml (diff) |
 | lld/test/MachO/compact-unwind-generated.test (diff) |
 | lld/test/MachO/compact-unwind.s (diff) |
 | lld/test/MachO/lc-linker-option.ll (diff) |
 | lld/test/MachO/linkonce.ll (diff) |
 | lld/test/MachO/invalid/incompatible-arch.s (diff) |
 | lld/test/MachO/lto-archive.ll (diff) |
 | lld/test/MachO/tapi-link-by-arch.s (diff) |
 | lld/test/MachO/mh-header-link.s (diff) |
 | lld/test/MachO/lto-save-temps.ll (diff) |
 | lld/MachO/InputFiles.cpp (diff) |
 | lld/test/MachO/invalid/compact-unwind-bad-reloc.s (diff) |
 | lld/test/MachO/lto-object-path.ll (diff) |
 | lld/test/MachO/internalize.ll (diff) |
 | lld/test/MachO/t.s (diff) |
 | lld/test/MachO/invalid/invalid-relocation-length.yaml (diff) |
 | lld/test/MachO/module-asm.ll (diff) |
 | lld/test/MachO/invalid/compact-unwind-personalities.s (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.
|
 | lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test (diff) |
 | lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test (diff) |
 | lldb/examples/python/crashlog.py (diff) |
|
 | clang/test/CXX/drs/dr20xx.cpp (diff) |
 | clang/lib/Sema/SemaOverload.cpp (diff) |
 | clang/test/CXX/drs/dr14xx.cpp (diff) |
|
 | clang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_different |
 | clang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx908_gfx908 |
 | clang/tools/amdgpu-arch/AMDGPUArch.cpp |
 | clang/include/clang/Driver/Options.td (diff) |
 | clang/tools/CMakeLists.txt (diff) |
 | clang/include/clang/Basic/DiagnosticDriverKinds.td (diff) |
 | clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp (diff) |
 | clang/test/Driver/amdgpu-openmp-system-arch-fail.c |
 | clang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx906 |
 | clang/tools/amdgpu-arch/CMakeLists.txt |
 | clang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_fail |
 | clang/test/Driver/amdgpu-openmp-system-arch.c |
 | clang/lib/Driver/ToolChains/AMDGPU.h (diff) |
 | clang/lib/Driver/ToolChains/AMDGPU.cpp (diff) |
|
 | libcxx/test/support/compare_types.h |
 | libcxx/test/support/pointer_comparison_test_helper.h |
 | libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp (diff) |
 | libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp |
 | libcxx/test/std/utilities/function.objects/comparisons/pointer_comparison_test_helper.h |
 | libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp |
 | libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp |
 | libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp |
 | libcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp (diff) |
 | libcxx/test/std/concepts/concepts.compare/types.h |
 | libcxx/include/functional (diff) |
 | libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp |
 | libcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp (diff) |
 | libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp |
 | libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp (diff) |
 | libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp (diff) |
 | libcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp (diff) |
 | libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp (diff) |
 | libcxx/test/std/utilities/function.objects/comparisons/greater_equal.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
|
 | llvm/lib/IR/Function.cpp (diff) |
 | llvm/include/llvm/CodeGen/CommandFlags.h (diff) |
 | llvm/test/Instrumentation/AddressSanitizer/uwtable.ll |
 | llvm/test/Instrumentation/AddressSanitizer/module-flags.ll |
 | llvm/include/llvm/IR/Module.h (diff) |
 | clang/test/CodeGen/asan-frame-pointer.cpp |
 | llvm/include/llvm/Support/CodeGen.h (diff) |
 | llvm/lib/CodeGen/CommandFlags.cpp (diff) |
 | llvm/lib/IR/Module.cpp (diff) |
 | clang/lib/CodeGen/CodeGenModule.cpp (diff) |
 | llvm/docs/LangRef.rst (diff) |
Commit
ed633a1daad97044063934cf28985491fbed7b4c
by Matthew.ArsenaultAMDGPU: 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.
|
 | llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll |
 | llvm/lib/Target/AMDGPU/FLATInstructions.td (diff) |
|
 | compiler-rt/test/lsan/TestCases/use_globals_unused.cpp (diff) |