Commit
80deb1e106a8c3c5ba31ef0bb4d7651acb6e6b69
by jpienaar[mlir][ods] Custom builder with no params
Incorrect generation of custom build method without any params.
|
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
Commit
501d7e07e31d8f79160324e683e4931403f469d5
by jpienaar[mlir] Remove unneeded OpBuilder params. NFC.
These are now automatically prepended.
|
 | mlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td |
 | mlir/examples/toy/Ch4/include/toy/Ops.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td |
 | mlir/examples/toy/Ch5/include/toy/Ops.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td |
 | mlir/examples/toy/Ch7/include/toy/Ops.td |
 | mlir/examples/toy/Ch2/include/toy/Ops.td |
 | mlir/include/mlir/Dialect/PDL/IR/PDLOps.td |
 | mlir/examples/toy/Ch3/include/toy/Ops.td |
 | mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td |
 | mlir/examples/toy/Ch6/include/toy/Ops.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td |
Commit
a343b9b032772894a7e27fcd03ebec3c53faa5d9
by sebastian.neubauerRevert "[AMDGPU] Insert waitcnt after returning from call"
This reverts commit ca907bfb57d8ad3ec3bcc2cff2abab7b1b933af6.
According to michel.daenzer, > This completely broke the Mesa radeonsi driver on Navi 14. Xorg + > xterm come up with major corruption & psychedelic colours.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll |
 | llvm/test/CodeGen/AMDGPU/wave32.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll |
 | llvm/test/CodeGen/AMDGPU/smrd.ll |
 | llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll |
 | llvm/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir |
 | llvm/test/CodeGen/AMDGPU/shl.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll |
 | llvm/test/CodeGen/AMDGPU/memory_clause.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.dwordx3.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll |
 | llvm/test/CodeGen/AMDGPU/offset-split-global.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.a16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/global-saddr-load.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/load-constant.96.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll |
 | llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll |
 | llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll |
 | llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll |
 | llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll |
 | llvm/test/CodeGen/AMDGPU/load-local.128.ll |
 | llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll |
 | llvm/test/CodeGen/AMDGPU/function-returns.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-func.ll |
 | llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll |
 | llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll |
 | llvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll |
 | llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll |
 | llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll |
 | llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll |
 | llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll |
 | llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll |
 | llvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-non-entry-func.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/load-local.128.ll |
 | llvm/test/CodeGen/AMDGPU/offset-split-flat.ll |
 | llvm/test/CodeGen/AMDGPU/function-args.ll |
 | llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll |
 | llvm/test/CodeGen/AMDGPU/call-waitcnt.ll |
 | llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll |
 | llvm/test/CodeGen/AMDGPU/load-lo16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll |
 | llvm/test/CodeGen/AMDGPU/store-hi16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll |
 | llvm/test/CodeGen/AMDGPU/nested-calls.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll |
 | llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fadd.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmin.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_load_local.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_store_local.ll |
 | llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll |
 | llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll |
 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll |
 | llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll |
 | llvm/test/CodeGen/AMDGPU/stack-realign.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.format.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll |
 | llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.getlod.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll |
 | llvm/test/CodeGen/AMDGPU/load-local.96.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/load-local.96.ll |
 | llvm/test/CodeGen/AMDGPU/load-hi16.ll |
 | llvm/test/CodeGen/AMDGPU/infer-uniform-load-shader.ll |
 | llvm/test/CodeGen/AMDGPU/ret_jump.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmax.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll |
 | llvm/test/CodeGen/AMDGPU/sibling-call.ll |
 | llvm/test/CodeGen/AMDGPU/imm16.ll |
 | llvm/test/CodeGen/AMDGPU/call-argument-types.ll |
 | llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll |
 | llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.format.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll |
Commit
474dc33d075ae6b136bcaa4e4c5014d3deda5d25
by llvm-devAdd missing namespace closure comment. NFCI.
Fixes clang-tidy llvm-namespace-comment warning.
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
91589cf679c7946edfb5b33d1eb94d723ad99e2b
by llvm-devAdd missing namespace closure comments. NFCI.
Fixes some clang-tidy llvm-namespace-comment warnings.
|
 | llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp |
Commit
c2deacd929dabded734a478e78c1eef23aa459c5
by weiwei64[AArch64] Fix ldst optimization of non-immediate store offset
When matching store instruction for ldst opt, we should make sure store instr is in 'reg+imm' form as load instr, otherwise, it will have assertion in isLdOffsetInRangeOfSt since it will use getImm() directly.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D87905
|
 | llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp |
 | llvm/test/CodeGen/AArch64/ldst-opt-non-imm-offset.mir |
Commit
e6d50b4f22dc6bbf0b0b40cfdab172bf5c1694e1
by Yaxun.Liurecommit [HIP] Fix -gsplit-dwarf option
recommit e50465ecefc964e5700df26fc7e02a673eed085a with fix for regression in lldb tests.
Two issues:
1. the directory part of original .dwo file was dropped 2. if the stem of the .dwo file contains '.', the last dot and strings after that were removed
This recommit fixes those two issues.
|
 | clang/lib/Driver/ToolChains/MinGW.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/hip-gsplit-dwarf-options.hip |
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
 | clang/lib/Driver/ToolChains/CommonArgs.h |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
Commit
9abd1e8f4e5ddd6e5e592306432fb32dd68f4c14
by davelee.com[lldb] Remove lldb-perf remenant
Delete a file remaining from the deletion of lldb-perf in D64362.
Differential Revision: https://reviews.llvm.org/D88119
|
 | lldb/tools/lldb-perf/darwin/sketch/foobar.sketch2 |
Commit
c538169ee99516c178ecc00a5ec5187d78941fac
by zinenko[mlir] Add insert before/after to list-like constructs in C API
Blocks in a region and operations in a block are organized in a linked list. The C API only provides functions to append or to insert elements at the specified numeric position in the list. The latter is expensive since it requires to traverse the list. Add insert before/after functionality with low cost that relies on the iplist elements being convertible to iterators.
Reviewed By: stellaraccident
Differential Revision: https://reviews.llvm.org/D88148
|
 | mlir/lib/CAPI/IR/IR.cpp |
 | mlir/include/mlir-c/IR.h |
 | mlir/test/CAPI/ir.c |
Commit
e90343ada3bda55c697e7ae06dda3f8d8d6ded34
by Yaxun.LiuFix regressioin in test dwp-separate-debug-file.cpp
|
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
Commit
9744606614df4ba85a4d546c94b3b5ef9d3a3a96
by jurahul[MLIR] Change default builders generated by TableGen to use TypeRange for result types
- Change the default builders to use TypeRange instead of ArrayRef<Type> - Custom builders defined in LinalgStructuredOps now conflict with the default separate param ones, but the default collective params one is still needed. Resolve this by replicating the collective param builder as a custom builder and skipping the generation of default builders for these ops.
Differential Revision: https://reviews.llvm.org/D87926
|
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/test/mlir-tblgen/op-decl.td |
 | mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp |
 | mlir/test/mlir-tblgen/op-result.td |
 | mlir/include/mlir/IR/OpBase.td |
Commit
08e4f078523b528f1e699543275f1d6299886a99
by jurahul[MLIR][NFC] Adopt use of TypeRange in build() methods.
- Use TypeRange instead of ArrayRef<Type> where possible. - Change some of the custom builders to also use TypeRange
Differential Revision: https://reviews.llvm.org/D87944
|
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/include/mlir/Dialect/Affine/IR/AffineOps.td |
 | mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp |
 | mlir/unittests/TableGen/OpBuildGen.cpp |
 | mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp |
 | mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp |
 | mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp |
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/include/mlir/Dialect/GPU/GPUOps.td |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td |
 | mlir/lib/Dialect/GPU/IR/GPUDialect.cpp |
 | mlir/lib/Dialect/Affine/IR/AffineOps.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp |
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.td |
Commit
819ff6b945816dce144c8be577a3c245f702b59c
by aaronImprove dynamic AST matching diagnostics for conversion errors
Currently, when marshaling a dynamic AST matchers, we check for the type and value validity of matcher arguments at the same time for some matchers. For instance, when marshaling hasAttr("foo"), the argument is first type checked to ensure it's a string and then checked to see if that string can locate an attribute with that name. Similar happens for other enumeration conversions like cast kinds or unary operator kinds. If the type is correct but the value cannot be looked up, we make a best-effort attempt to find a nearby name that the user might have meant, but if one cannot be found, we throw our hands up and claim the types don't match.
This has an unfortunate behavior that when the user enters something of the correct type but a best guess cannot be located, you get confusing error messages like: Incorrect type for arg 1. (Expected = string) != (Actual = String).
This patch splits the argument check into two parts: if the types don't match, give a type diagnostic. If the type matches but the value cannot be converted, give a best guess diagnostic or a value could not be located diagnostic. This addresses PR47057.
|
 | clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp |
 | clang/lib/ASTMatchers/Dynamic/Marshallers.h |
Commit
f6aceb72d6b2d13d03713ba05bc47c0f9e550c26
by joker.ephUpdate the documentation for the MLIR Dialect class (NFC)
|
 | mlir/include/mlir/IR/Dialect.h |
Commit
a6ae6950173a01c8a620a5664fcfb18816d152e7
by jurahul[MLIR][NFC] Adopt use of BlockRange in place of ArrayRef<Block *>
- Use BlockRange in ODS generated builders as well as other places throughout the code
Differential Revision: https://reviews.llvm.org/D87955
|
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td |
 | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp |
 | mlir/include/mlir/IR/OperationSupport.h |
 | mlir/lib/IR/OperationSupport.cpp |
Commit
b522f09d963b50895f8c18d33e6a5aceccc1fadc
by stellaraccidentRemove MLIR C-API explicit registration of standard ops.
* Added mlirRegisterAllDialects() to the python API until a more complete registration design emerges for it.
Differential Revision: https://reviews.llvm.org/D88155
|
 | mlir/lib/Bindings/Python/IRModules.cpp |
 | mlir/lib/CAPI/IR/IR.cpp |
Commit
b8779337841bea03bc514d239ce76eceba3f01dd
by David A Greene[UpdateTestChecks] Remove bug-exposing test
Remove RISCV codegen tests for --include-generated-funcs because apparently MachineOutliner has a bug on that target that is exposed by expensive-checks.
|
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll.generated.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll.nogenerated.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/riscv_generated_funcs.test |
Commit
63998649dd4886ecf9b5c8304173cb0c7357cd5d
by stellaraccidentNFC: Remove dangling dep on MLIRStandardOps.
Was inadvertently left out of D88155.
|
 | mlir/lib/CAPI/IR/CMakeLists.txt |
Commit
fd75ad86624eaebf21e544335ea28f12e54a5ec1
by carrot[MBFIWrapper] Add a new function getBlockProfileCount
MBFIWrapper keeps track of block frequencies of newly created blocks and modified blocks, modified block frequencies should also impact block profile count. This class doesn't provide interface getBlockProfileCount, users can only use the underlying MBFI to query profile count, the underlying MBFI doesn't know the modifications made in MBFIWrapper, so it either provides stale profile count for modified block or simply crashes on new blocks.
So this patch add function getBlockProfileCount to class MBFIWrapper to handle new blocks or modified blocks.
Differential Revision: https://reviews.llvm.org/D87802
|
 | llvm/include/llvm/CodeGen/MBFIWrapper.h |
 | llvm/lib/CodeGen/MachineBlockPlacement.cpp |
 | llvm/lib/CodeGen/MBFIWrapper.cpp |
Commit
437358be7179d570de070bbb9b2e1154db727f6d
by mtrofin[clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode.
This is important to not regress because it allows us to capture pre-optimization bitcode and options, and replay the full optimization pipeline.
Differential Revision: https://reviews.llvm.org/D88114
|
 | clang/test/Frontend/embed-bitcode-noopt.ll |
 | clang/test/Frontend/embed-bitcode-noopt.c |
Commit
68358081585b160c38443425935457235a4b9d1a
by dmantipovAdd optimal thread strategy
Add an optimal thread strategy to execute specified amount of tasks. This strategy should prevent us from creating too many threads if we occasionaly have an unexpectedly small amount of tasks.
Differential Revision: https://reviews.llvm.org/D87765
|
 | lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp |
 | llvm/include/llvm/Support/Threading.h |
Commit
577adda54f075b256007ed4fa80c9988a0642a87
by rengolin[Support/Path] Add path::is_absolute_gnu
Implements IS_ABSOLUTE_PATH from GNU tools.
C++17 is_absolute behavior is different the from the behavior defined by GNU tools.
According to cppreference.com, C++17 states: "An absolute path is a path that unambiguously identifies the location of a file without reference to an additional starting location."
In other words, the rules are: 1. POSIX style paths with nonempty root directory are absolute. 2. Windows style paths with nonempty root name and root directory are absolute. 3. No other paths are absolute.
GNU rules are: 1. Paths starting with a path separator are absolute. 2. Windows style paths are also absolute if they start with a character followed by ':'. 3. No other paths are absolute.
On Windows style the path "C:\Users\Default" has "C:" as root name and "\" as root directory.
Hence "C:" on Windows is absolute under GNU rules and not absolute under C++17 because it has no root directory. Likewise "/" and "\" on Windows are absolute under GNU and are not absolute under C++17 due to empty root name.
Related to PR46368.
Differential Revision: https://reviews.llvm.org/D87667
|
 | llvm/include/llvm/Support/Path.h |
 | llvm/lib/Support/Path.cpp |
 | llvm/unittests/Support/Path.cpp |
Commit
271928792e8016109fdd909889dc6bb582aa6f46
by mtrofinAdd REQUIRES to embed-bitcode-noopt.ll
|
 | clang/test/Frontend/embed-bitcode-noopt.ll |
Commit
e976fb1e54f30403ca31764da69cba3769487e6a
by kparzysz[EarlyCSE] Fix crash with expensive checks after D87691
D87691 reordered some checks, which turned out to be unsafe. More specifically, when examining a store instruction, the check against getOrCreateResult should be done before attempting to call isSameMemGeneration. Otherwise a crash in MSSA walker can occur.
This patch restores the order of these calls to what it was originally.
|
 | llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll |
 | llvm/lib/Transforms/Scalar/EarlyCSE.cpp |
Commit
01b9deba76a950f04574b656c7c31ae389104f2d
by iRevert D87970 "[ThinLTO] Avoid temporaries when loading global decl attachment metadata"
This reverts commit ab1b4810b55279bcf6fdd87be74a403440be3991.
It caused an issue in llvm::lto::thinBackend for a -fsanitize=cfi build.
``` AbbrevNo is 0 => "Invalid abbrev number" 0 llvm::BitstreamCursor::getAbbrev (this=0x9db4c8, AbbrevID=4) at llvm/include/llvm/Bitstream/BitstreamReader.h:528 1 0x00007f5f777a6eb4 in llvm::BitstreamCursor::readRecord (this=0x9db4c8, AbbrevID=4, Vals=llvm::SmallVector of Size 0, Capacity 64, Blob=0x7ffcd0e26558) at usr/local/google/home/maskray/llvm/llvm/lib/Bitstream/Reader/BitstreamReader.cpp:228 2 0x00007f5f796bf633 in llvm::MetadataLoader::MetadataLoaderImpl::lazyLoadOneMetadata (this=0x9db3a0, ID=188, Placeholders=...) at /usr/local/google/home/mas ray/llvm/llvm/lib/Bitcode/Reader/MetadataLoader.cpp:1091 3 0x00007f5f796c2527 in llvm::MetadataLoader::MetadataLoaderImpl::getMetadataFwdRefOrLoad (this=0x9db3a0, ID=188) at llvm lib/Bitcode/Reader/MetadataLoader.cpp:668 4 0x00007f5f796bfff3 in llvm::MetadataLoader::getMetadataFwdRefOrLoad (this=0xd31580, Idx=188) at llvm/lib/Bitcode/Reader MetadataLoader.cpp:2290 5 0x00007f5f79638265 in (anonymous namespace)::BitcodeReader::parseFunctionBody (this=0xd312e0, F=0x9de758) at llvm/lib/B tcode/Reader/BitcodeReader.cpp:3938 6 0x00007f5f79635d32 in (anonymous namespace)::BitcodeReader::materialize (this=0xd312e0, GV=0x9de758) at llvm/lib/Bitcod /Reader/BitcodeReader.cpp:5408 7 0x00007f5f7f8dbe3e in llvm::Module::materialize (this=0x9b92c0, GV=0x9de758) at llvm/lib/IR/Module.cpp:442 8 0x00007f5f7f7f8fbe in llvm::GlobalValue::materialize (this=0x9de758) at llvm/lib/IR/Globals.cpp:50 9 0x00007f5f83b9b5f5 in llvm::FunctionImporter::importFunctions (this=0x7ffcd0e2a730, DestModule=..., ImportList=...) at llvm/lib/Transforms/IPO/FunctionImport.cpp:1182 ```
|
 | llvm/lib/Bitcode/Reader/MetadataLoader.cpp |
 | llvm/test/ThinLTO/X86/devirt2.ll |
Commit
76e8c1899e7c9f9462ba08387472899d7de965af
by kparzyszBreak long line accidentally left in the previous commit
|
 | llvm/lib/Transforms/Scalar/EarlyCSE.cpp |
Commit
d882ca7f1f1dee7d812d6b1ae060b5f671ab9ebc
by dmantipov[Driver] Check whether Gentoo-specific configuration directory exists
Check whether /etc/env.d/gcc exists before trying to read from any file from there. This saves a few OS calls on a non-Gentoo system.
Differential Revision: https://reviews.llvm.org/D87143
|
 | clang/lib/Driver/ToolChains/Gnu.h |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
Commit
7d0bbe40901cf60558c619c3174d71d7c53ca144
by tmsriramRe-apply https://reviews.llvm.org/D87921, was reverted to triage a PPC bot failure.
D87921 was reverted in commit b89059a31347dd09b55a96b99b3dbe38d7749908 as it was causing an unknown llvm PPC bot failure. Reapplying the patch after confirming that this is not responsible. Build bot failure: https://reviews.llvm.org/D87921#2286644 which caused the revert.
The wrong placement of add pass with optimizations led to -funique-internal-linkage-names being disabled.
Fixed the placement of the MPM.addpass for UniqueInternalLinkageNames to make it work correctly with -O2 and new pass manager. Updated the tests to explicitly check O0 and O1.
Differential Revision: https://reviews.llvm.org/D87921
|
 | clang/test/CodeGen/unique-internal-linkage-names.cpp |
 | clang/lib/CodeGen/BackendUtil.cpp |
Commit
b3931188fdc84ce2bd93a0770ddc8182d18c5010
by Paul C. AnagnostopoulosEnhance TableGen so that backends can produce better error messages.
Modify SearchableTableEmitter.cpp to take advantage. Clean up formatting and capitalization issues.
|
 | llvm/lib/TableGen/Error.cpp |
 | llvm/test/TableGen/if-type.td |
 | llvm/test/TableGen/getsetop.td |
 | llvm/include/llvm/TableGen/Error.h |
 | llvm/test/TableGen/generic-tables.td |
 | llvm/lib/TableGen/Record.cpp |
 | llvm/include/llvm/TableGen/Record.h |
 | llvm/test/TableGen/cond-type.td |
 | llvm/test/TableGen/self-reference-typeerror.td |
 | llvm/lib/TableGen/TGParser.cpp |
 | llvm/utils/TableGen/SearchableTableEmitter.cpp |
Commit
5dd1b6d612655c9006ba97a8b6487ded80719b48
by epastor[ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers
Add support for .radix directive, and radix specifiers [yY] (binary), [oOqQ] (octal), and [tT] (decimal).
Also, when lexing MASM integers, require radix specifier; MASM requires that all literals without a radix specifier be treated as in the default radix. (e.g., 0100 = 100)
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D87400
|
 | llvm/lib/MC/MCParser/MasmParser.cpp |
 | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp |
 | llvm/include/llvm/MC/MCParser/MCAsmLexer.h |
 | llvm/lib/MC/MCParser/AsmLexer.cpp |
 | llvm/test/tools/llvm-ml/radix_errors.test |
 | llvm/lib/MC/MCParser/COFFMasmParser.cpp |
 | llvm/test/tools/llvm-ml/radix.test |
Commit
6189a8d9f56ac9434eac94d6c515d3e460fdecd0
by spatel[TTI] add wrapper for matching vector reduction to reduce code duplication; NFC
I'm not sure what this means, but the order in which we try the matches makes a difference on at least 1 regression test...
|
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
Commit
aca7105db9ae1a42d7cbf48934abb51169945425
by epastorFix include location (accidentally committed a local variation)
|
 | llvm/lib/MC/MCParser/AsmLexer.cpp |
Commit
f21f835ee8e52f128281697d66f8b11a50a6d5dd
by craig.topper[X86] Improve demanded bits for X86ISD::BEXTR.
If the control is constant we can figure out exactly which bits of the input are demanded.
Differential Revision: https://reviews.llvm.org/D88072
|
 | llvm/test/CodeGen/X86/tbm-intrinsics.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
7a3c643c35590df67716dfe3e3c60195ae385e43
by craig.topper[SLP] Make HorizontalReduction::getOperationData take an Instruction* instead of a Value*. NFCI
All of the callers already have an Instruction *. Many of them from a dyn_cast.
Also update the OperationData constructor to use a Instruction& to remove a dyn_cast and make it clear that the pointer is non-null.
Differential Revision: https://reviews.llvm.org/D88132
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
b901b6ab173ac77edfe97e0dbd138410b940b4bc
by epastorRevert "[ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers"
This reverts commit 5dd1b6d612655c9006ba97a8b6487ded80719b48.
|
 | llvm/test/tools/llvm-ml/radix_errors.test |
 | llvm/lib/MC/MCParser/MasmParser.cpp |
 | llvm/include/llvm/MC/MCParser/MCAsmLexer.h |
 | llvm/lib/MC/MCParser/COFFMasmParser.cpp |
 | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp |
 | llvm/test/tools/llvm-ml/radix.test |
 | llvm/lib/MC/MCParser/AsmLexer.cpp |
Commit
55f5a0137f5bbfc8411bd11a5d2695ba84534345
by joker.ephUpdate Phabricator doc to remove the warning on "arc land": tags a properly handled server side now
|
 | llvm/docs/Phabricator.rst |
Commit
5281ba1994bdd21309d694c44e43ed825294221c
by joker.ephDocument the `--verbatim` flag from arc to update the description for a phabricator revision
|
 | llvm/docs/Phabricator.rst |
Commit
0caad9fe441d5ee562e96d8b30b5574b492a933a
by mcgrathr[lsan] On Fuchsia, don't use atexit hook for leak checks
Fuchsia's system libraries are instrumented and use the lsan allocator for internal purposes. So leak checking needs to run after all atexit hooks and after the system libraries' internal exit-time hooks. The <zircon/sanitizer.h> hook API calls the __sanitizer_process_exit_hook function at exactly the right time.
Reviewed By: vitalybuka, phosek
Differential Revision: https://reviews.llvm.org/D86171
|
 | compiler-rt/lib/lsan/lsan.h |
 | compiler-rt/lib/lsan/lsan_common_fuchsia.cpp |
 | compiler-rt/lib/asan/asan_win.cpp |
 | compiler-rt/lib/lsan/lsan.cpp |
 | compiler-rt/lib/asan/asan_posix.cpp |
 | compiler-rt/lib/lsan/lsan_fuchsia.cpp |
 | compiler-rt/lib/asan/asan_fuchsia.cpp |
 | compiler-rt/lib/lsan/lsan_posix.cpp |
 | compiler-rt/lib/asan/asan_rtl.cpp |
 | compiler-rt/lib/asan/asan_internal.h |
Commit
11a75e6c92c9bde26f3c925b25135c2461afac1c
by aeubanks[gn build] Allow option to build with asan/tsan/ubsan
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D88056
|
 | llvm/utils/gn/build/BUILD.gn |
 | llvm/utils/gn/build/buildflags.gni |
Commit
d14cfe10341681d18edf05ac98da2c5241b0864e
by joker.eph[mlir][OpFormatGen] Update "custom" directives for attributes.
This tweaks the generated code for parsing attributes with a custom directive to call `addAttribute` on the `OperationState` directly, and adds a newline after this call. Previously, the generated code would call `addAttribute` on the `OperationState` field `attributes`, which has no such method and fails to compile. Furthermore, the lack of newline would generate code with incorrectly formatted single line `if` statements. Added tests for parsing and printing attributes with a custom directive.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D87860
|
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/test/mlir-tblgen/op-format.mlir |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestOps.td |
Commit
b92d084910b9febdafb9e701af6b73ddb7cac5af
by efriedma[AArch64][SVE] Fix frame offset calculation when d8 is saved.
If d8 is saved, the fp is not actually adjacent to the SVE spills/allocations. Fix the offset calculation to account for this.
Differential Revision: https://reviews.llvm.org/D88117
|
 | llvm/test/CodeGen/AArch64/framelayout-sve.mir |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
Commit
3726ac41e9e00d2f6f87779b68f91ea264223c8a
by jinghamAdd `breakpoint delete --disabled`: deletes all disabled breakpoints.
Differential Revision: https://reviews.llvm.org/D88129
|
 | lldb/source/Commands/CommandObjectBreakpoint.cpp |
 | lldb/source/Commands/Options.td |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py |
Commit
59691dc8740c7eada7fcf5552e0d2377780c6fb7
by Stanislav.Mekhanoshin[AMDGPU] Make ds fp atomics overloadable
Differential Revision: https://reviews.llvm.org/D87947
|
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
 | llvm/test/CodeGen/AMDGPU/lds_atomic_f32.ll |
 | clang/test/CodeGenCUDA/builtins-amdgcn.cu |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl |
Commit
6ada9e516f495eb6aa63e0c3e3edf3e3ae3c1a63
by andrew.litteken[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.
The IRSimilarityCandidate is a container to hold a region of IRInstructions and offer interfaces for the starting instruction, ending instruction, parent function, length. It also assigns a global value number for each unique instance of a value in the region.
It also contains an interface to compare two IRSimilarity as to whether they have the same sequence of similar instructions.
Tests for whether the instructions are similar are found in unittests/Analysis/IRSimilarityIdentifierTest.cpp.
Recommit of: 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5
Differential Revision: https://reviews.llvm.org/D86970
|
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
Commit
652a8f150d4903abb53697ef1762026c6f5e716c
by wei.huang[PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic
This patch is the initial support for the Local Dynamic Thread Local Storage model to produce code sequence and relocation correct to the ABI for the model when using PC relative memory operations.
Differential Revision: https://reviews.llvm.org/D87721
|
 | llvm/test/MC/PowerPC/pcrel-tls-local-dynamic-reloc.s |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
 | llvm/lib/MC/MCExpr.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCMCInstLower.cpp |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll |
 | llvm/include/llvm/MC/MCExpr.h |
 | llvm/lib/Target/PowerPC/PPCInstr64Bit.td |
 | llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPC.h |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp |
 | llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp |
 | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp |
Commit
c96d0cceb684fa176b51d7df5f4f8370e2c983f4
by mcgrathrasan: Use `#if` to test CAN_SANITIZE_LEAKS
The `if (0)` isn't necessarily optimized out so as not to create a link-time reference to LSan runtime functions that might not exist. So use explicit conditional compilation instead.
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D88173
|
 | compiler-rt/lib/asan/asan_rtl.cpp |
 | compiler-rt/lib/lsan/lsan_common_fuchsia.cpp |
Commit
2efc09c90914a6c887cb772130d6b375a1713472
by kostyak[scudo][standalone] Fix tests under ASan/UBSan
Fix a potential UB in `appendSignedDecimal` (with -INT64_MIN) by making it a special case.
Fix the terrible test cases for `isOwned`: I was pretty sloppy on those and used some stack & static variables, but since `isOwned` accesses memory prior to the pointer to check for the validity of the Scudo header, it ended up being detected as some global and stack buffer out of bounds accesses. So not I am using buffers with enough room so that the test will not access memory prior to the variables.
With those fixes, the tests pass on the ASan+UBSan Fuchsia build.
Thanks to Roland for pointing those out!
Differential Revision: https://reviews.llvm.org/D88170
|
 | compiler-rt/lib/scudo/standalone/tests/combined_test.cpp |
 | compiler-rt/lib/scudo/standalone/string_utils.cpp |
Commit
f161e84c10b6eb2255345ebfaaa2bbadb4b0fe2a
by nikita.ppvRevert "[lsan] On Fuchsia, don't use atexit hook for leak checks"
This reverts commit 0caad9fe441d5ee562e96d8b30b5574b492a933a. This reverts commit c96d0cceb684fa176b51d7df5f4f8370e2c983f4.
Causes linker errors which were not fixed by the subsequent commit either:
/home/nikic/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:503: error: undefined reference to '__asan::InstallAtExitCheckLeaks()'
|
 | compiler-rt/lib/asan/asan_win.cpp |
 | compiler-rt/lib/asan/asan_fuchsia.cpp |
 | compiler-rt/lib/lsan/lsan.h |
 | compiler-rt/lib/asan/asan_posix.cpp |
 | compiler-rt/lib/asan/asan_rtl.cpp |
 | compiler-rt/lib/asan/asan_internal.h |
 | compiler-rt/lib/lsan/lsan_posix.cpp |
 | compiler-rt/lib/lsan/lsan_common_fuchsia.cpp |
 | compiler-rt/lib/lsan/lsan_fuchsia.cpp |
 | compiler-rt/lib/lsan/lsan.cpp |
Commit
3a76de42753e351311193ec1f729117b96a7bd9a
by muhammad.asif.manzoor[AArch64][SVE] Add lowering for llvm frecpx
Add the functionality to lower frecpx for passthru variant
Reviewed By: paulwalker-arm
Differential Revision: https://reviews.llvm.org/D88032
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
Commit
af1d3e655991e5f0c86df372b8583a60d20268e0
by aaronAllow init_priority values <= 100 and > 65535 within system headers.
This also adds some bare-bones documentation for the attribute rather than leaving it undocumented.
|
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/test/SemaCXX/init-priority-attr.cpp |
 | clang/include/clang/Basic/Attr.td |
Commit
4a55c98fa7bee1e5ab1504db20ca4d7c8a083111
by jotrem[lldb] Normalize paths in new test
The minidump-sysroot test I added in commit 20f84257 compares two paths using a string comparison. This causes the Windows buildbot to fail because of mismatched forward slashes and backslashes. Use os.path.normcase to normalize before comparing.
|
 | lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py |
Commit
7aa982a57ce0dbf8fdbd276004615ddcf729c906
by sdi1600105[LoopTerminology][NFC] Fix formatting typo
|
 | llvm/docs/LoopTerminology.rst |
Commit
57f097420d43adf3f38d66b31ed4ef49da62ae75
by kparzyszClean up test file, NFC
|
 | llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll |
Commit
88cdbeab417cc716d1da2de2a508d24622f4a4bc
by conanap[PowerPC] Implement Vector signed/unsigned __int128 overloads for the comparison builtins
This patch implements Vector signed/unsigned __int128 overloads for the comparison builtins.
Differential Revision: https://reviews.llvm.org/D87804
|
 | clang/lib/Headers/altivec.h |
 | llvm/include/llvm/IR/IntrinsicsPowerPC.td |
 | llvm/test/CodeGen/PowerPC/vec_cmpq.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | clang/test/CodeGen/builtins-ppc-p10vector.c |
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | clang/include/clang/Basic/BuiltinsPPC.def |
Commit
2e7117f847708d2fd1ff2d2961c3439470532b80
by conanap[PowerPC] Implement the 128-bit vec_[all|any]_[eq | ne | lt | gt | le | ge] builtins in Clang/LLVM
This patch implements the vec_[all|any]_[eq | ne | lt | gt | le | ge] builtins for vector signed/unsigned __int128.
Differential Revision: https://reviews.llvm.org/D87910
|
 | clang/lib/CodeGen/CGExprScalar.cpp |
 | clang/test/CodeGen/builtins-ppc-p10vector.c |
 | clang/lib/Headers/altivec.h |
 | llvm/include/llvm/IR/IntrinsicsPowerPC.td |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | clang/include/clang/Basic/BuiltinsPPC.def |
 | llvm/test/CodeGen/PowerPC/vec_cmpq.ll |
Commit
8e780a1653e6f87755a447e921b8f929d8b70996
by Yaxun.LiuRecommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic
This recommits 829d14ee0a6aa79c89f7f3d9fcd9d27d3efd2b91.
The patch was reverted due to a regression in some CUDA app which was thought to be caused by this patch. However, investigation showed that the regression was due to some other issues, therefore recommit this patch.
|
 | clang/include/clang/AST/CanonicalType.h |
 | clang/include/clang/Sema/Ownership.h |
 | clang/include/clang/AST/DeclarationName.h |
 | clang/include/clang/AST/NestedNameSpecifier.h |
 | clang/include/clang/AST/Type.h |
 | clang/include/clang/Basic/Diagnostic.h |
 | clang/lib/Basic/Diagnostic.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/include/clang/Sema/ParsedAttr.h |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/include/clang/AST/TemplateBase.h |
 | clang/include/clang/Basic/PartialDiagnostic.h |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/include/clang/AST/TemplateName.h |
 | clang/include/clang/AST/ASTContext.h |
 | clang/lib/AST/TemplateName.cpp |
 | clang/lib/AST/TemplateBase.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/include/clang/AST/Attr.h |
Commit
e8413ac97f6ca2b1897cc9555ad9b0194456629f
by mcinally[AArch64] Expand some vector of i64 reductions on NEON
With the exception of VECREDUCE_ADD, there are no NEON instructions to support vector of i64 reductions. This patch removes the Custom lowerings for those and adds some test coverage to confirm.
Differential Revision: https://reviews.llvm.org/D88161
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/aarch64-addv.ll |
 | llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll |
Commit
3f739f736b8fed6f4d63569f56c985ef04b21cd1
by efriedma[SelectionDAG][GISel] Make LegalizeDAG lower FNEG using integer ops.
Previously, if a floating-point type was legal, but FNEG wasn't legal, we would use FSUB. Instead, we should use integer ops, to preserve the semantics. (Alternatively, there's a compiler-rt call we could use, but there isn't much reason to use that.)
It turns out we actually are still using this obscure codepath in a few cases: on some targets, we have "legal" floating-point types that don't actually support any floating-point operations. In particular, ARM and AArch64 are using this path.
The implementation for SelectionDAG is pretty simple because we can reuse the infrastructure from FCOPYSIGN.
See also 9a3dc3e, the corresponding change to type legalization.
Also includes a "bonus" change to STRICT_FSUB legalization, so we can lower a STRICT_FSUB to a float libcall.
Includes the changes to both LegalizeDAG and GlobalISel so we don't have inconsistent results in the future.
Fixes https://bugs.llvm.org/show_bug.cgi?id=46792 .
Differential Revision: https://reviews.llvm.org/D84287
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/test/CodeGen/AArch64/arm64-fp128.ll |
 | llvm/lib/Target/ARM/ARMLegalizerInfo.cpp |
 | llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/X86/GlobalISel/legalize-fneg.mir |
 | llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-binops.mir |
 | llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir |
Commit
140b7b6f09ca01f89701ccc86ddd8553cf42c311
by sam.mccall[JSON] Allow emitting comments in json::OStream
This isn't standard JSON, but is a popular extension. It will be used to show errors in context, rendering pseudo-json for humans.
Differential Revision: https://reviews.llvm.org/D88103
|
 | llvm/include/llvm/Support/JSON.h |
 | llvm/lib/Support/JSON.cpp |
 | llvm/unittests/Support/JSONTest.cpp |
Commit
fa5f9452120cc1691d23e272697695a5a4331f9c
by gkm[lld-macho] cleanup unimplemented-option warnings
Remove all spurious `HelpHidden` flags from `lld/MachO/Options.td`. Add test for `HelpHidden` to `warnIfUnimplementedOption()` so that the empty `// handled elsewhere` case is unnecessary.
Reviewed By: #lld-macho, int3, smeenai
Differential Revision: https://reviews.llvm.org/D88160
|
 | lld/MachO/Options.td |
 | lld/MachO/Driver.cpp |
Commit
d9717d8ee7143f4f5b768dfb5e8629ecfa067e39
by craig.topper[X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target
I believe the inline asm emitted here should have a memory clobber since it writes to memory.
It was also missing the dirflag clobber that we use by default along with flags and fpsr. To avoid missing defaults in the future, get the default list from the target
Differential Revision: https://reviews.llvm.org/D88121
|
 | clang/test/CodeGen/bittest-intrin.c |
 | clang/lib/CodeGen/CGBuiltin.cpp |
Commit
8f2c31f22b974da2c0fbc5de0ce4dceffe8ed0b8
by gkm[lld-macho] handle options -search_paths_first, -search_dylibs_first
Differential Revision: https://reviews.llvm.org/D88054
|
 | lld/MachO/Options.td |
 | lld/MachO/Driver.cpp |
 | lld/MachO/Config.h |
 | lld/test/MachO/link-search-order.s |
Commit
16619e7139bdcb0021598ba76cb5cf30ac669dbb
by sam.mccall[JSON] Facility to track position within an object and report errors.
This error model should be rich enough for most applications. It comprises:
- a name for the root object, so the user knows what we're parsing - a path from the root object to the JSON node most associated with the error - a local error message
This can be presented as an llvm::Error e.g. "expected string at ConfigFile.credentials[0].username"
It's designed to be cheap: Paths are a linked list of lightweight objects on the stack. No heap allocations unless errors are encountered.
A subsequent commit will make use of this in the JSON-to-object translation facilities: fromJSON and ObjectMapper. However it's independent of these and can be used for e.g. validation alone.
Another subsequent commit will support showing the error in its context within the parsed value.
Differential Revision: https://reviews.llvm.org/D88103
|
 | llvm/lib/Support/JSON.cpp |
 | llvm/unittests/Support/JSONTest.cpp |
 | llvm/include/llvm/Support/JSON.h |
Commit
6700b9de1637fd9888dfe9628157d2aeb6d9f526
by aeubanks[NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D88128
|
 | llvm/test/Analysis/BasicAA/store-promote.ll |
 | llvm/test/Transforms/LICM/atomics.ll |
 | llvm/test/Transforms/LICM/promote-order.ll |
 | llvm/test/Transforms/LICM/argmemonly-call.ll |
 | llvm/test/Transforms/LICM/store-hoisting.ll |
 | llvm/test/Transforms/LICM/read-only-calls.ll |
Commit
6b1ce83a1238815899cf18f69bbc0eb37679a410
by aeubanks[NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass
This seems to fit the CGSCC updates model better than calling addNewFunctionInto{Ref,}SCC() on newly created/outlined functions. Now addNewFunctionInto{Ref,}SCC() are no longer necessary.
However, this doesn't work on newly outlined functions that aren't referenced by the original function. e.g. if a() was outlined into b() and c(), but c() is only referenced by b() and not by a(), this will trigger an assert.
This also fixes an issue I was seeing with newly created functions not having passes run on them.
Ran check-llvm with expensive checks.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D87798
|
 | llvm/include/llvm/Analysis/LazyCallGraph.h |
 | llvm/lib/Transforms/Coroutines/CoroSplit.cpp |
 | llvm/lib/Analysis/CGSCCPassManager.cpp |
 | llvm/lib/Transforms/Utils/CallGraphUpdater.cpp |
 | llvm/unittests/Analysis/LazyCallGraphTest.cpp |
 | llvm/lib/Analysis/LazyCallGraph.cpp |
 | llvm/unittests/Analysis/CGSCCPassManagerTest.cpp |
Commit
111aa4e36614d9a056cf5040d4d7bbfddeb9ebb2
by aeubanks[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass
This is in preparation for supporting -debugify-each, which adds a debug info pass before and after each pass.
Switch VerifyEach to use this.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D88107
|
 | llvm/unittests/IR/PassBuilderCallbacksTest.cpp |
 | llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | polly/lib/Support/RegisterPasses.cpp |
 | llvm/tools/opt/NewPMDriver.cpp |
 | llvm/include/llvm/Passes/PassBuilder.h |
Commit
38de1c33a8374bb16abfb024a973d851c170bafc
by sam.mccall[JSON] Display errors associated with Paths in context
When an error occurs processing a JSON object, seeing the actual surrounding data helps. Dumping just the node where the problem was identified can be too much or too little information.
printErrorContext() shows the error message in its context, as a comment. JSON values along the path to the broken place are shown in some detail, the rest of the document is elided. For example:
``` { "credentials": [ { "username": /* error: expected string */ 42, "password": "secret" }, { ... } ] "backups": { ... } } ```
Differential Revision: https://reviews.llvm.org/D88103
|
 | llvm/include/llvm/Support/JSON.h |
 | llvm/lib/Support/JSON.cpp |
 | llvm/unittests/Support/JSONTest.cpp |
Commit
b16d6653c01cee37f51a98dd4092c4ef302c47a5
by rprichard[libunwind] Combine dl_iterate_phdr codepaths for DWARF and EHABI
dl_iterate_phdr is used to search for unwind info provided by either PT_GNU_EH_FRAME or PT_ARM_EXIDX. Most of the code between the two is the same, so combine them, and factor out what's different into checkForUnwindInfoSegment.
Details: - The FrameHeaderCache can now be enabled for ARM EHABI. - findUnwindSectionsByPhdr now finds the last PT_ARM_EXIDX rather than the first. There should only be one segment. - The dso_base and text_segment_length fields of UnwindInfoSections are now needed for dl_iterate_phdr when using EHABI, to hold the low and high PC values for a cache entry.
Reviewed By: compnerd, danielkiss, #libunwind, saugustine
Differential Revision: https://reviews.llvm.org/D87880
|
 | libunwind/test/frameheadercache_test.pass.cpp |
 | libunwind/src/AddressSpace.hpp |
Commit
881aba7071c6e4cc2417e875ca5027ec7c0a92a3
by rprichard[libunwind] Optimize dl_iterate_phdr's findUnwindSectionsByPhdr
Currently, findUnwindSectionsByPhdr is slightly micro-optimized for the case where the first callback has the target address, and is otherwise very inefficient -- it decodes .eh_frame_hdr even when no PT_LOAD matches the PC. (If the FrameHeaderCache is enabled, then the micro-optimization only helps the first time unwind info is looked up.)
Instead, it makes more sense to optimize for the case where the callback *doesn't* find the target address, so search for a PT_LOAD segment first, and only look for the unwind info section if a matching PT_LOAD is found.
This change helps on an Android benchmark with 100 shared objects, where the DSO at the end of the dl_iterate_phdr list throws 10000 exceptions. Assuming the frame cache is disabled, this change cuts about 30-40% off the benchmark's runtime.
Reviewed By: compnerd, saugustine, #libunwind
Differential Revision: https://reviews.llvm.org/D87881
|
 | libunwind/src/AddressSpace.hpp |
Commit
fa69b608063eecba76fb35d167b063cbfe532c28
by sam.mccall[JSON] Add error reporting to fromJSON and ObjectMapper
Translating between JSON objects and C++ strutctures is common. From experience in clangd, fromJSON/ObjectMapper work well and save a lot of code, but aren't adopted elsewhere at least partly due to total lack of error reporting beyond "ok"/"bad".
The recently-added error model should be rich enough for most applications. It requires tracking the path within the root object and reporting local errors at appropriate places. To do this, we exploit the fact that the call graph of recursive parse functions mirror the structure of the JSON itself. The current path is represented as a linked list of segments, each of which is on the stack as a parameter. Concretely, fromJSON now looks like: bool fromJSON(const Value&, T&, Path);
Beyond the signature change, this is reasonably unobtrusive: building the path segments is mostly handled by ObjectMapper and the vector<T> fromJSON. However the root caller of fromJSON must now create a Root object to store the errors, which is a little clunky.
I've added high-level parse<T>(StringRef) -> Expected<T>, but it's not general enough to be the primary interface I think (at least, not usable in clangd).
All existing users (mostly just clangd) are updated in this patch, making this change backwards-compatible is a bit hairy.
Differential Revision: https://reviews.llvm.org/D88103
|
 | clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp |
 | lldb/source/Utility/StructuredData.cpp |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/index/Index.cpp |
 | clang-tools-extra/clangd/Protocol.h |
 | clang-tools-extra/clangd/ClangdLSPServer.h |
 | clang-tools-extra/clangd/index/Index.h |
 | llvm/unittests/Support/JSONTest.cpp |
 | clang-tools-extra/clangd/Protocol.cpp |
 | llvm/lib/Analysis/TFUtils.cpp |
 | llvm/include/llvm/Support/JSON.h |
Commit
751f5c81468966d921ad54827d27ff19aa43af8e
by sam.mccallFix LLDB tweak in 62a47e994fcf5b73e29547d26cd9676b30cb69a3
|
 | lldb/source/Utility/StructuredData.cpp |