Commit
1faff79b7ca144e505da6bc74aa2b2f7cffbbf23
by aeubanks[DFSan] Properly set argument ABI attributes
Calls must properly match argument ABI attributes with the callee.
Found via D103412.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D103414
|
 | llvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll |
 | llvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll |
 | llvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll |
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp |
 | llvm/test/Instrumentation/DataFlowSanitizer/memset.ll |
 | llvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll |
 | llvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll |
Commit
b40908e639b6075c77d7b2a990a2a273a39f4102
by Vitaly Buka[NFC][scudo] Avoid integer overflow in test
releasePagesToOS may shrink RSS below the value stored on start.
|
 | compiler-rt/lib/scudo/standalone/tests/common_test.cpp |
Commit
2f98dfe5b6158379978a58d4266b997d3ec1e409
by chiahungduan[mlir-reduce] Create MlirReduceLib
Move the core reducer algorithm into a library so that it'll be easier for porting to different projects.
Depends On D101046
Reviewed By: jpienaar, rriddle
Differential Revision: https://reviews.llvm.org/D101607
|
 | mlir/tools/mlir-reduce/mlir-reduce.cpp |
 | mlir/include/mlir/Tools/mlir-reduce/MlirReduceMain.h |
 | mlir/tools/mlir-reduce/CMakeLists.txt |
 | mlir/lib/Tools/CMakeLists.txt |
 | mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp |
 | mlir/lib/Reducer/CMakeLists.txt |
 | mlir/lib/Tools/mlir-reduce/CMakeLists.txt |
Commit
e237168341ed9688ee70277465a488b6f4b8ba03
by phosekRevert "[Fuchsia] Use libc++abi on Windows in Fuchsia toolchain"
This reverts commit b5dd421a3afa02907777fddf61073274e2a4aa9a which broke Fuchsia downstream builders.
|
 | clang/cmake/caches/Fuchsia-stage2.cmake |
Commit
178ad93e3f1f2381f05baea300873ee5998ac288
by dmitry.polukhin[clang][clangd] Use reverse header map lookup in suggestPathToFileForDiagnostics
Summary: suggestPathToFileForDiagnostics is actively used in clangd for converting an absolute path to a header file to a header name as it should be spelled in the sources. Current approach converts absolute path to relative path. This diff implements missing logic that makes a reverse lookup from the relative path to the key in the header map that should be used in the sources.
Prerequisite diff: https://reviews.llvm.org/D103229
Test Plan: check-clang
Reviewers: dexonsmith, bruno, rsmith
Subscribers: cfe-commits
Tasks:
Tags: #clang
Differential Revision: https://reviews.llvm.org/D103142
|
 | clang/include/clang/Lex/HeaderMap.h |
 | clang/lib/Lex/HeaderMap.cpp |
 | clang/lib/Lex/HeaderSearch.cpp |
 | clang/unittests/Lex/HeaderSearchTest.cpp |
Commit
2dd20a31f27e3123f5f324c3a80092ad3f80ef05
by fraser[ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger
The attached tests check for the regression in DAGCombiner's `visitVSELECT`, which may call this method.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D103534
|
 | llvm/lib/CodeGen/ValueTypes.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll |
Commit
f4543dce5db585f2b37f39145ad3fa34b6c75b0e
by david.spickett[clang][ARM] Remove arm2/3/6/7m CPU names
These legacy CPUs are known to clang but not llvm. Their use was ignored by llvm and it would print a warning saying it did not recognise them.
However because some of them are default CPUs for their architecture, you would get those warnings even if you didn't choose a cpu explicitly. (now those architectures will default to a "generic" CPU)
Information is thin on the ground for these older chips so this is the best I could find: https://en.wikichip.org/wiki/acorn/microarchitectures/arm2 https://en.wikichip.org/wiki/acorn/microarchitectures/arm3 https://en.wikichip.org/wiki/arm_holdings/microarchitectures/arm6 https://en.wikichip.org/wiki/arm_holdings/microarchitectures/arm7
Final part of fixing https://bugs.llvm.org/show_bug.cgi?id=50454.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D103028
|
 | llvm/include/llvm/Support/ARMTargetParser.def |
 | llvm/unittests/Support/TargetParserTest.cpp |
 | clang/test/Misc/target-invalid-cpu-note.c |
Commit
dcd7664f92d30f93a4c7d48314d653e044093784
by yikongAdd -fno-visibility-inlines-hidden option
This allows overriding -fvisibility-inlines-hidden.
Differential Revision: https://reviews.llvm.org/D103537
|
 | clang/test/Driver/visibility-inlines-hidden.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/include/clang/Driver/Options.td |
Commit
e149c8e8ccce3c3f2fe23e008afdbd99ab33e558
by Raphael Isemann[lldb][NFC] Remove unused 'using ArrayRef' in RegisterValueTest
|
 | lldb/unittests/Utility/RegisterValueTest.cpp |
Commit
1de1887f5f18cdd2cffb756afcbfb5274b4fd92f
by fraser[CodeGen] Fix a scalable-vector crash in VSELECT legalization
The `DAGTypeLegalizer::WidenVSELECTMask` function is not (yet) ready for scalable vector types, and has numerous places in which it tries to grab either the fixed size or number of elements of its types.
I believe that it should be possible to update this method to properly account for scalable-vector types, but we don't have test cases for that; RISC-V bails out early on as it has legal i1 vector masks. As such, this patch just prevents it from crashing.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D103536
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll |
Commit
485c21be8ac300209bac0db03bc8f476aa8b9764
by pifon[mlir] Split linalg reshape ops into expand/collapse.
Differential Revision: https://reviews.llvm.org/D103548
|
 | mlir/test/Dialect/Linalg/llvm.mlir |
 | mlir/test/Dialect/Linalg/reshape_linearization_fusion.mlir |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir |
 | mlir/test/Dialect/Linalg/reshape_fusion.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp |
 | mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp |
 | mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/test/Dialect/Linalg/detensorize_if.mlir |
 | mlir/test/Dialect/Linalg/detensorize_while_failure.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp |
 | mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
 | mlir/test/Dialect/Linalg/detensorize_0d.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp |
 | mlir/test/Dialect/Linalg/bufferize.mlir |
 | mlir/test/Dialect/Linalg/fusion-push-reshape.mlir |
 | mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir |
 | mlir/test/Dialect/Linalg/invalid.mlir |
 | mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp |
 | mlir/test/Dialect/Linalg/detensorize_trivial.mlir |
 | mlir/test/Dialect/Linalg/detensorize_while.mlir |
Commit
ad10d965c838677f8c961aa615cd965f9c5700b0
by gysit[mlir][linalg] Cleanup LinalgOp usage in generalization.
Replace the uses of deprecated Structured Op Interface methods in Generalization.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103531
|
 | mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp |
Commit
8790e85255d088a5247face1123ea1f3864556f5
by fraser[RISCV] Reserve an emergency spill slot for any RVV spills
This patch addresses an issue in which fixed-length (VLS) vector RVV code could fail to reserve an emergency spill slot for their frame index elimination. This is because we were previously only reserving a spill slot when there were `scalable-vector` frame indices being used. However, fixed-length codegen uses regular-type frame indices if it needs to spill.
This patch does the fairly brute-force method of checking ahead of time whether the function contains any RVV spill instructions, in which case it reserves one slot. Note that the second RVV slot is still only reserved for `scalable-vector` frame indices.
This unfortunately causes quite a bit of churn in existing tests, where we chop and change stack offsets for spill slots.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D103269
|
 | llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.h |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll |
 | llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir |
 | llvm/test/CodeGen/RISCV/rvv/get-vlen-debugloc.mir |
 | llvm/lib/Target/RISCV/RISCVFrameLowering.cpp |
 | llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-fp.ll |
 | llvm/test/CodeGen/RISCV/rvv/localvar.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll |
Commit
f7e591161d375a20719db0de942b797c5c3318f3
by omair.javaid[LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux
TestDataFormatterStdUniquePtr.py fails on lldb arm/aarch64 linux buildbot but not reproducible on test machine. Skipping for now.
|
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py |
Commit
8ef23a39ca022afab0bbac3daed539ebde75ef73
by omair.javaid[LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux
TestDataFormatterStdUniquePtr.py fails on lldb arm/aarch64 linux buildbot but not reproducible on test machine. Skipping for now.
|
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py |
Commit
e70d2c8e6f7b23cabcb1116b9667c9f0dd21997e
by gysit[mlir][linalg] Cleanup LinalgOp usage in promotion.
Replace the uses of deprecated Structured Op Interface methods in Promotion.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103450
|
 | mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp |
Commit
929c54379a48ef7b91c28f46b4a57eb8cca863d8
by david.green[ARM] Prettify gather/scatter debug comments. NFC
|
 | llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp |
Commit
9f815cb57833a00a4db6e24598d0a80433e404be
by gysit[mlir][linalg] Cleanup LinalgOp usage in test passes.
Replace the uses of deprecated Structured Op Interface methods in TestLinalgElementwiseFusion.cpp, TestLinalgFusionTransforms.cpp, and Transforms.cpp. The patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103528
|
 | mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp |
Commit
7c234ae549eadcf362f82198d5416d0019d9690c
by gysit[mlir][linalg] Cleanup LinalgOp usage in bufferize, detensorize, and interchange.
Replace the uses of deprecated Structured Op Interface methods in Bufferize.cpp, Detensorize.cpp, and Interchange.cpp. The patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103530
|
 | mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp |
Commit
728cc0075e5dfdb454ebe6418b63bdffae71ec14
by martin[LLD] [COFF] Fix autoexport from LTO objects with comdat symbols
Make sure that comdat symbols also have a non-null dummy SectionChunk associated.
This requires moving around an existing FIXME regarding comdats in LTO.
Differential Revision: https://reviews.llvm.org/D103012
|
 | lld/test/COFF/export-all-lto.ll |
 | lld/COFF/InputFiles.cpp |
Commit
c698505257598d04f8e92a7ee79bfdf7c2cc6020
by gysit[mlir][linalg] Cleanup LinalgOp usage in drop unit dims.
Replace the uses of deprecated Structured Op Interface methods in DropUnitDims.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103448
|
 | mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp |
Commit
3d2c9069dcafd0cbb641841aa3dd6e851fb7d760
by thomasp[lit] Fix testing of standalone clang and lld builds
In such cases, the executables are not in the llvm_tools_dir directory, so we need to look in the other search locations. Previously, they were found via the PATH, but this was disabled by default in commit rGa1e6565.
Depends on D103154.
Reviewed By: thopre
Differential Revision: https://reviews.llvm.org/D103156
|
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/build/case10.exe |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/search3/case9.exe |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/build/case9.exe |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/build/case9 |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/path/case10.exe |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/build/case10 |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/search2/case9 |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/search3/case9 |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/path/case10 |
 | llvm/utils/lit/lit/llvm/config.py |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/search1/empty |
 | llvm/utils/lit/tests/use-llvm-tool.py |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/search2/case9.exe |
 | llvm/utils/lit/tests/Inputs/use-llvm-tool/lit.cfg |
Commit
0804a88e48ac23bcf73d6b985ef755559419ee11
by springerm[mlir][linalg] Transform PadTensorOp into InitOp, FillOp, GenericOp
Introduces a test pass that rewrites PadTensorOps with static shapes as a sequence of:
``` linalg.init_tensor // to create output linalg.fill // to initialize with padding value linalg.generic // to copy the original contents to the padded tensor ```
The pass can be triggered with:
- `--test-linalg-transform-patterns="test-transform-pad-tensor"`
Differential Revision: https://reviews.llvm.org/D102804
|
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h |
 | mlir/test/Dialect/Linalg/lower-pad-tensor.mlir |
 | mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp |
Commit
6b265f949f6a5e92075eff018fa0f924bcc5da48
by gysit[mlir][linalg] Cleanup LinalgOp usage in loop lowering.
Replace the uses of deprecated Structured Op Interface methods in Loops.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103453
|
 | mlir/lib/Dialect/Linalg/Transforms/Loops.cpp |
Commit
2cf78d4ead4a2ab5375bd6087724211d04119a28
by Louis Dionne[libc++] Remove unused variable warnings
Since D100581, Clang started flagging this variable which is set but never read. Based on comparing this function with __match_at_start_posix_nosubs (which is very similar), I am pretty confident that `__j` was simply left behind as an oversight in Howard's 6afe8b0a2336.
Also workaround some unused variable warnings in the <random> tests. It's pretty lame that we're not asserting the skew and kurtosis of the binomial and negative binomial distributions, but that should be tackled separately.
Differential Revision: https://reviews.llvm.org/D103533
|
 | libcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp |
 | libcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp |
 | libcxx/include/regex |
Commit
8fb6c31cbba51b494f232273cdc54dc0788fcd59
by gysit[mlir][linalg] Cleanup LinalgOp usage in op declarations.
Replace the uses of deprecated Structured Op Interface methods in LinalgOps.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103506
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
Commit
92d03c20ea71479c78a29da09e377e040d37c3a5
by vsavchenko[analyzer] Add forwarding `addVisitor` method
The majority of all `addVisitor` callers follow the same pattern: addVisitor(std::make_unique<SomeVisitor>(arg1, arg2, ...));
This patches introduces additional overload for `addVisitor` to simplify that pattern: addVisitor<SomeVisitor>(arg1, arg2, ...);
Differential Revision: https://reviews.llvm.org/D103457
|
 | clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h |
 | clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp |
 | clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp |
 | clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp |
 | clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp |
 | clang/lib/StaticAnalyzer/Core/BugReporter.cpp |
Commit
83235b07e3c9c2d21a574465287150e7bf750001
by flo[Matrix] Preserve existing fast-math flags during lowering
This patch makes it so, floating-point instructions created in LowerMatrixIntrinsics retain fast-math flags from instructions that are higher up the chain.
Fixes https://bugs.llvm.org/show_bug.cgi?id=49738
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D103233
|
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll |
 | llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction-fmf.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction-fmf.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll |
 | llvm/test/Transforms/LowerMatrixIntrinsics/preserve-existing-fast-math-flags.ll |
Commit
22d7e298dc35a2319d7b71ee78732b0a3a86893d
by psteinfeld[flang] Check for duplicate definitions of defined input/output procedures
It's possible to specify defined input/output procedures either as a type-bound procedure of a derived type or as a defined-io-generic-spec. This means that you can specify the same procedure in both mechanisms, which does not cause problems. Alternatively, you can specify two different procedures to be the defined input/output procedure for the same derived type. This is an error. This change catches this error. The situation is slightly complicated by parameterized derived types. Types with the same value for a KIND parameter are treated as the same type while types with different KIND parameters are treated as different types.
I implemented this check by adding a vector to keep track of which defined input/output procedures had been seen for which derived types along with the kind of procedure (read vs write and formatted vs unformatted). I also added tests for non-parameterized types and types parameterized by KIND and LEN type parameters.
I also removed an erroneous check from the code that creates runtime type information.
Differential Revision: https://reviews.llvm.org/D103560
|
 | flang/lib/Semantics/runtime-type-info.cpp |
 | flang/test/Semantics/io11.f90 |
 | flang/lib/Semantics/check-declarations.cpp |
Commit
f44e90b93ad89d0a93a550e8fca8a2a9b6e4f190
by gysit[mlir][linalg] Cleanup LinalgOp usage in scalar inlining.
Replace the uses of deprecated Structured Op Interface methods in InlineScalarOperands.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103518
|
 | mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp |
Commit
89df483d30bb22cdbc330553a13dd4761992bba0
by pifon[mlir] Fix warnings.
|
 | mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp |
 | mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp |
 | mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp |
 | mlir/include/mlir/ExecutionEngine/MemRefUtils.h |
Commit
9d4922eab437d01febf9871fcc7e18440118fbbf
by kai.wang[RISCV] Precommit a test case to show overwriting vector frame objects.
|
 | llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll |
Commit
5a9c91b2231dda50c66265abc1e840ff7c72ca12
by gysit[mlir][linalg] Cleanup LinalgOp usage in capi.
Replace the uses of deprecated Structured Op Interface methods in Linalg.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103619
|
 | mlir/lib/CAPI/Dialect/Linalg.cpp |
Commit
12db09d7f3bb12a65a6ebdab497e2db035a3fa44
by ajcbik[mlir][sparse] add more type combinations to sparse storage scheme
Useful for "exhaustively" testing and benchmarking annotation combinations to verify correctness and perform state space search for best performing.
Reviewed By: penpornk
Differential Revision: https://reviews.llvm.org/D103566
|
 | mlir/lib/ExecutionEngine/SparseUtils.cpp |
Commit
3e333cc82e42e1e2ecc974d896489eebe1a5edc2
by bjoern[clang-format] Fix PointerAlignmentRight with AlignConsecutiveDeclarations
This re-applies the old patch D27651, which was never landed, into the latest "main" branch, without understanding the code. I just applied the changes "mechanically" and made it compiling again.
This makes the right pointer alignment working as expected. Fixes https://llvm.org/PR27353
For instance
const char* const* v1; float const* v2; SomeVeryLongType const& v3;
was formatted as
const char *const * v1; float const * v2; SomeVeryLongType const &v3;
This patch keep the *s or &s aligned to the right, next to their variable. The above example is now formatted as
const char *const *v1; float const *v2; SomeVeryLongType const &v3;
It is a pity that this still does not work with clang-format in 2021, even though there was a fix available in 2016. IMHO right pointer alignment is the default case in C, because syntactically the pointer belongs to the variable.
See
int* a, b, c; // wrong, just the 1st variable is a pointer
vs.
int *a, *b, *c; // right
Prominent example is the Linux kernel coding style.
Some styles argue the left pointer alignment is better and declaration lists as shown above should be avoided. That's ok, as different projects can use different styles, but this important style should work too.
I hope that somebody that has a better understanding about the code, can take over this patch and land it into main.
For now I must maintain this fork to make it working for our projects.
Cheers, Gerhard.
Differential Revision: https://reviews.llvm.org/D103245
|
 | clang/docs/ReleaseNotes.rst |
 | clang/lib/Format/WhitespaceManager.cpp |
 | clang/unittests/Format/FormatTest.cpp |
Commit
6f605b8d0bc1c19dccc7a6c248b4fa60e6f7fde3
by bjoern[clang-format] Add PPIndentWidth option
This allows to set a different indent width for preprocessor statements.
Example:
#ifdef __linux_ # define FOO #endif
int main(void) { return 0; }
Differential Revision: https://reviews.llvm.org/D103286
|
 | clang/lib/Format/UnwrappedLineFormatter.cpp |
 | clang/unittests/Format/FormatTest.cpp |
 | clang/docs/ClangFormatStyleOptions.rst |
 | clang/lib/Format/Format.cpp |
 | clang/docs/ReleaseNotes.rst |
 | clang/include/clang/Format/Format.h |
Commit
6881f29a36a97102e5c89653a343f656231bc2f2
by jezng[lld-macho] Parse re-exports of nested TAPI documents
D103423 neglected to call `parseReexports()` for nested TBD documents, leading to symbol resolution failures when trying to look up a symbol nested more than one level deep in a TBD file. This fixes the regression and adds a test.
It also appears that `umbrella` wasn't being set properly when calling `parseLoadCommands` -- it's supposed to resolve to `this` if `nullptr` is passed. I didn't write a failing test case for this but I've made `umbrella` a member so the previous behavior should be preserved.
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D103586
|
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/tapi-link.s |
 | lld/MachO/DriverUtils.cpp |
 | lld/MachO/InputFiles.h |
Commit
ae4303b42cfa5c8c14e3fff67d73af2f154aea9a
by jeremy.morse[DebugInstrRef][2/3] Track PHI values through register coalescing
In the instruction referencing variable location model, we store variable locations that point at PHIs in MachineFunction during register allocation. Unfortunately, register coalescing can substantially change the locations of registers, and so that PHI-variable-location side table needs maintenence during the pass.
This patch builds an index from the side table, and whenever a vreg gets coalesced into another vreg, update the index to record the new vreg that the PHI happens in. It also accepts a limited range of subregister coalescing, for example merging a subregister into a larger class.
Differential Revision: https://reviews.llvm.org/D86813
|
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
 | llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir |
 | llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir |
Commit
2e3636f974dfdfac796ec6d07a22e9d31d4ea1ea
by rosie.sumpter[CostModel][AArch64] Add tests for ctlz, ctpop and cttz. NFC.
Differential Revision: https://reviews.llvm.org/D103601
|
 | llvm/test/Analysis/CostModel/AArch64/cttz.ll |
 | llvm/test/Analysis/CostModel/AArch64/ctlz.ll |
 | llvm/test/Analysis/CostModel/AArch64/ctpop.ll |
Commit
0507fc2ffc96819429e8074408d33609081c7205
by jeremy.morseRevert "[DebugInstrRef][2/3] Track PHI values through register coalescing"
This reverts commit ae4303b42cfa5c8c14e3fff67d73af2f154aea9a.
Expensive checks buildbot has found a problem with this:
https://lab.llvm.org/buildbot/#/builders/16/builds/11863
|
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
 | llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir |
 | llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir |
Commit
fd3a5260852aad1e0d7f997f57ecb75a6be9a7ab
by koraq[libc++][nfc] Add more nasty macros.
D101613 added some macros used by Microsofts SAL. D103425 uses `__pre` and `__post`. They are also used by SAL and cause issues when used on Windows. Add them to the blacklist making it easier to figure out what the issue is.
Differential Revision: https://reviews.llvm.org/D103541
|
 | libcxx/test/support/nasty_macros.h |
Commit
983565a6fe4a9f40c7caf82b65c650c20dbcc104
by nikita.ppv[ADT] Move DenseMapInfo for ArrayRef/StringRef into respective headers (NFC)
This is a followup to D103422. The DenseMapInfo implementations for ArrayRef and StringRef are moved into the ArrayRef.h and StringRef.h headers, which means that these two headers no longer need to be included by DenseMapInfo.h.
This required adding a few additional includes, as many files were relying on various things pulled in by ArrayRef.h.
Differential Revision: https://reviews.llvm.org/D103491
|
 | mlir/include/mlir/IR/AffineExpr.h |
 | llvm/tools/llvm-c-test/echo.cpp |
 | llvm/include/llvm/Support/Threading.h |
 | llvm/lib/MC/StringTableBuilder.cpp |
 | llvm/lib/CodeGen/AsmPrinter/WinException.h |
 | mlir/include/mlir/Support/InterfaceSupport.h |
 | llvm/include/llvm/ADT/StringRef.h |
 | mlir/include/mlir/Support/StorageUniquer.h |
 | clang/include/clang/AST/ComparisonCategories.h |
 | llvm/include/llvm/ADT/DenseMapInfo.h |
 | llvm/lib/CodeGen/MBFIWrapper.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h |
 | mlir/include/mlir/IR/DialectInterface.h |
 | llvm/include/llvm/ADT/ArrayRef.h |
 | llvm/lib/Support/SmallPtrSet.cpp |
 | llvm/include/llvm/IR/PassInstrumentation.h |
Commit
f026e891b29d24367dcb18ca23e750dd1fdc198e
by i[mailmap] Add my entry
|
 | .mailmap |
Commit
b0ab79ee2dfab993d95f01aaa2d51bbe6af9ecbe
by nikita.ppv[MC] Add missing include (NFC)
Try to fix buildbots after 983565a6fe4a9f40c7caf82b65c650c20dbcc104.
|
 | llvm/include/llvm/MC/MCRegister.h |
Commit
5d2b3de284f46e4c1e60fc5f266b085f54391566
by harald[SLP] Avoid std::stable_sort(properlyDominates()).
As noticed by NAKAMURA Takumi back in 2017, we cannot use properlyDominates for std::stable_sort as properlyDominates only partially orders blocks. That is, for blocks A, B, C, D, where A dominates B and C dominates D, we have A == C, B == C, but A < B. This is not a valid comparison function for std::stable_sort and causes different results between libstdc++ and libc++. This change uses DFS numbering to give deterministic results for all reachable blocks. Unreachable blocks are ignored already, so do not need special consideration.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D103441
|
 | llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
d93b678abb31eaa831a7358e9b935be2d5cba445
by nikita.ppv[lld] Add missing includes (NFC)
Fix lld build after 983565a6fe4a9f40c7caf82b65c650c20dbcc104.
|
 | lld/ELF/Thunks.h |
 | lld/MachO/OutputSegment.h |
 | lld/include/lld/Common/Timer.h |
Commit
20be54cb1f1dc8e0dbe16b65dbb619b0fae490b7
by nikita.ppv[Tests] Add missing include (NFC)
Fix one more missing include in a unit test after 983565a6fe4a9f40c7caf82b65c650c20dbcc104.
|
 | llvm/unittests/Support/TypeTraitsTest.cpp |
Commit
89f3bc7698c53942dca8fe4749b66b06d23ca06b
by a.bataev[SLP]Allow to reorder nodes with >2 scalar values.
tryToVectorizeList function allows to reorder only 2 scalars. Patch allows to reorder >2 scalars. Also, to avoid possible regressions, it allows extra vectorization of the remaining parts of the scalars elements if possible.
Part of D57059.
Differential Revision: https://reviews.llvm.org/D103247
|
 | llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/phi.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/resched.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sext.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/pr49081.ll |
Commit
c8279e8acd3057c935592928c7b933411b60ac05
by Jinsong Jiadd ppc_fp128 bitcode writer testcase
|
 | llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll |
Commit
bb5e1c6dcb78435f8cdcaa9eb1c5af39244df491
by listmail[LoopUnroll] Reorder code to max dom tree update more obvious [nfc]
This cleans up the unroll action into two phases. Phase 1 does the mechanical act of unrolling, and leaves all conditional branches in place. Phase 2 optimizes away some of the conditional branches and then simplifies the loop. The primary benefit of the reordering is that we can delete some special cases dom tree update logic.
Differential Revision: https://reviews.llvm.org/D103561
|
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
Commit
8c48d77cdfe5c286dc98b9bf06bd2939d00c4bb4
by a.bataev[SLP]Improve cost estimation/emission of externally used extractelements.
No need to recalculate the cost of extractelements, just no need to compensate the cost of all extractelements, need to check before if this is actually going to be removed at the vectorization. Also, no need to generate new extractelement instruction, we may just regenerate the original one. It may improve the final vectorization.
Differential Revision: https://reviews.llvm.org/D102933
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/AArch64/PR38339.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll |
Commit
44d70d298acc872f37819efcb101334674a289e9
by listmail[LoopUnroll] Eliminate PreserveOnlyFirst parameter [nfc]
This is a first step towards simplifying the transform interface to be less error prone. The basic idea is that querying SCEV is cheap (since it's cached) and we can just check for properties related to branch folding in the transform method instead of relying on the heuristic part to pass everything in correctly.
Differential Revision: https://reviews.llvm.org/D103584
|
 | llvm/include/llvm/Transforms/Utils/UnrollLoop.h |
 | llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp |
 | llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp |
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
Commit
3e55f55048387a8efef01e445d46fc5cf100285d
by saugustineFully-qualify template args of outer types in getFullyQualifiedType
Template args of outer types were not fully-qualified when calling getFullyQualifiedType() for inner types.
For simplicity the patch is a copy-paste of the same call from getFullyQualifiedType().
Reviewed at: https://reviews.llvm.org/D103039
|
 | clang/lib/AST/QualTypeNames.cpp |
 | clang/unittests/Tooling/QualTypeNamesTest.cpp |
Commit
b865eead76577b031c6fae5e2490e7be0073f201
by spatel[InstCombine] eliminate sext and/or trunc if value has enough signbits
If we have enough signbits in a source value, we can skip an intermediate cast for a trunc+sext pair: https://alive2.llvm.org/ce/z/A_mQt-
This is the original problem shown in: https://llvm.org/PR49543
There's a test that shows we transformed what used to be a pair of shifts, so that suggests we could add another ComputeNumSignBits fold starting from a shift.
There does not appear to be any change in compile-time from the extra analysis: https://llvm-compile-time-tracker.com/compare.php?from=3d2c9069dcafd0cbb641841aa3dd6e851fb7d760&to=b9513cdf2419704c7bb0c3a02a9ca06aae13d902&stat=instructions
Differential Revision: https://reviews.llvm.org/D103617
|
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/test/Transforms/InstCombine/sext-of-trunc-nsw.ll |
Commit
13a9b2220f227631b3495a42abbab7fc2b414b69
by chris.bienemanDon't delete the module you're inspecting
Prior to this patch when you used `clang -module-file-info` clang would delete the module on completion because the module was treated as an output file.
This fixes the issue so you don't need to invoke cc1 directly to get module file information.
Reviewed By: steven_wu, phosek
Differential Revision: https://reviews.llvm.org/D103547
|
 | clang/lib/Driver/Driver.cpp |
 | clang/test/Modules/clang_module_file_info.m |
Commit
f1417eb9b1f51b689c78dd8cb0114c1749dd2845
by cjdb[libcxx][module-map] creates submodules for private headers
Most of our private headers need to be treated as submodules so that Clang modules can export things correctly. Previous commits that split monolithic headers into smaller chunks were unaware of this requirement, and so this is being addressed in one fell swoop. Moving forward, most new headers will need to have their own submodule (anything that's conditionally included is exempt from this rule, which means `__support` headers aren't made into submodules).
This hasn't been marked NFC, since I'm not 100% sure that's the case.
Differential Revision: https://reviews.llvm.org/D103551
|
 | libcxx/include/__iterator/indirect_concepts.h |
 | libcxx/include/__iterator/prev.h |
 | libcxx/include/module.modulemap |
 | libcxx/include/__memory/pointer_safety.h |
 | libcxx/include/__iterator/advance.h |
 | libcxx/include/__memory/pointer_traits.h |
 | libcxx/include/__memory/allocation_guard.h |
 | libcxx/include/__memory/allocator_traits.h |
 | libcxx/include/__iterator/next.h |
 | libcxx/include/__memory/allocator.h |
Commit
a8099b477832cb8325e1a06d8a2a821949fccde0
by Adrian PrantlRemove redundant Begin/End form signpost format strings.
The os_signpost API already captures the begin/end part and in Instruments, this just adds visual noise that gets in the way of the interesting data. By removing the redundant end text, the display in Instruments gets even less cluttered.
rdar://78636200
Differential Revision: https://reviews.llvm.org/D103577
|
 | llvm/lib/Support/Signposts.cpp |
Commit
a06e63fa522f5125f1912b7e0a1d578425b5ea5f
by apilipenkoNFC. Refactor DOTGraphTraits::isNodeHidden
Restructure handling of cfg-hide-unreachable-paths and cfg-hide-deoptimize-paths options so as to make it easier to introduce new types of hidden blocks.
|
 | llvm/include/llvm/Analysis/CFGPrinter.h |
 | llvm/lib/Analysis/CFGPrinter.cpp |
Commit
5a2aec3f27abbd11cf4ab40f559bedcd4a1a7987
by apilipenkoNFC. Mark DOTFuncInfo getters as const
This is a preparatory refactoring for introducing new types of hidden blocks.
|
 | llvm/include/llvm/Analysis/CFGPrinter.h |
Commit
44cdf771fe12ca528403cec9e6a8438b5107133b
by efriedma[AtomicExpand] Merge cmpxchg success and failure ordering when appropriate.
If we're not emitting separate fences for the success/failure cases, we need to pass the merged ordering to the target so it can emit the correct instructions.
For the PowerPC testcase, we end up with extra fences, but that seems like an improvement over missing fences. If someone wants to improve that, the PowerPC backed could be taught to emit the fences after isel, instead of depending on fences emitted by AtomicExpand.
Fixes https://bugs.llvm.org/show_bug.cgi?id=33332 .
Differential Revision: https://reviews.llvm.org/D103342
|
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll |
 | llvm/test/CodeGen/PowerPC/atomics-regression.ll |
 | llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll |
 | llvm/lib/CodeGen/AtomicExpandPass.cpp |
Commit
d1d36f7ad2ae82bea8a6fcc40d6c42a72e21f096
by Cyndy Ishida[llvm] llvm-tapi-diff
This patch introduces a new tool, llvm-tapi-diff, that compares and returns the diff of two TBD files.
Reviewed By: ributzka, JDevlieghere
Differential Revision: https://reviews.llvm.org/D101835
|
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4B.tbd |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineB.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-no-inlines.test |
 | llvm/include/llvm/TextAPI/Platform.h |
 | llvm/test/tools/llvm-tapi-diff/Inputs/macho.yaml |
 | llvm/include/llvm/TextAPI/Target.h |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-mismatched-number-of-inlines.test |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4D.tbd |
 | llvm/tools/llvm-tapi-diff/DiffEngine.cpp |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4C.tbd |
 | llvm/include/llvm/Object/TapiUniversal.h |
 | llvm/tools/llvm-tapi-diff/CMakeLists.txt |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineA.test |
 | llvm/include/llvm/TextAPI/Symbol.h |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-incorrect-format.test |
 | llvm/tools/llvm-tapi-diff/llvm-tapi-diff.cpp |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-same-number-of-inlines.test |
 | llvm/lib/TextAPI/Target.cpp |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4A.tbd |
 | llvm/tools/llvm-tapi-diff/DiffEngine.h |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-misspelled-tbd.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-multiple-inlines.test |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4E.tbd |
 | llvm/lib/TextAPI/Platform.cpp |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-matching-tbd.test |
Commit
90344499ae76dffa56363e2f167c2c34a76cbfaf
by Alexander.Richardson[lld-macho] Fix BUILD_SHARED_LIBS build
ca6751043d8899b12baeb48621e61fb352cfee09 added a dependency on XAR (at least for the shared libs build), so without this change we get the following linker error:
Undefined symbols for architecture x86_64: "_xar_close", referenced from: lld::macho::BitcodeBundleSection::finalize() in SyntheticSections.cpp.o
Reviewed By: #lld-macho, int3, thakis
Differential Revision: https://reviews.llvm.org/D100999
|
 | lld/MachO/CMakeLists.txt |
 | lld/tools/lld/CMakeLists.txt |
Commit
10d38699524a6092dc85f150fc1078567dde9537
by Louis Dionne[libc++] NFC: Tidy up the reverse_iterator tests
Incidentally, that fixes an error with the modules build.
|
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.iter.explicit.verify.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/increment-assign.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/arrow.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.compile.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postincrement.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/preincrement.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/predecrement.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.default.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/make_reverse_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.compile.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postdecrement.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/plus.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less-equal.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/plus.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/decrement-assign.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/minus.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.compile.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.reverse_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/dereference.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/not-equal.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/bracket.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.conv/base.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/types.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater-equal.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/minus.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.iter.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/equal.pass.cpp |
Commit
a3fd40b955ecbb970883ea5f097fd919058432bd
by i[docs] Update llvm-cov gcov
Mention some new options.
Remove outdated information about -g and -O0. -g0 works. -O1/-O2/-O3 work.
|
 | llvm/docs/CommandGuide/llvm-cov.rst |
Commit
1dff8637b11232a7e6e7994c2ed3526262564786
by pklausler[flang] Fix crashes due to failure to find a subprogram
In error recovery situations, the mappings from source locations to scopes were failing in a way that tripped some asserts. Specifically, FindPureProcedureContaining() wasn't coping well when starting at the global scope. (And since the global scope no longer has a source range, clean up the Semantics constructor to avoid confusion.)
Differential Revision: https://reviews.llvm.org/D103567
|
 | flang/lib/Semantics/scope.cpp |
 | flang/tools/f18/f18.cpp |
 | flang/include/flang/Semantics/semantics.h |
 | flang/lib/Frontend/FrontendActions.cpp |
 | flang/lib/Semantics/tools.cpp |
 | flang/lib/Semantics/check-io.cpp |
Commit
e4d3a993c2675f46cbe99acd1bf6e6d39d9c1aee
by Louis Dionne[libc++] Implement LWG3435 (constraints on reverse_iterator and move_iterator)
|
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.LWG3435.verify.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/ctor.iter.explicit.verify.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/assign.LWG3435.verify.cpp |
 | libcxx/docs/Cxx2bStatusIssuesStatus.csv |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.compile.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.compile.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/ctor.convert.LWG3435.verify.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.compile.fail.cpp |
 | libcxx/include/iterator |
Commit
33e41eaecdd7f71184b0bc9dbfdc2892aa45534a
by nikita.ppv[LoopUnroll] Add additional test with one unpredictable exit (NFC)
One exit is unpredictable, the other has a known trip count. For one function the predictable exit is the latch exit, for the other the non-latch exit. Currently they are treated differently.
|
 | llvm/test/Transforms/LoopUnroll/full-unroll-non-latch-exit.ll |
 | llvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll |
Commit
53ab2d821ed5bf282a733e87e8f53511c55e5ea2
by brendon.cahoon[GlobalISel] Add G_SBFX/G_UBFX to computeKnownBits
Differential Revision: https://reviews.llvm.org/D102969
|
 | llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp |
 | llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp |
Commit
6fa5353a5696bf8c4c2689126a025330c72aa8f9
by pklausler[flang] Fix folding of CMPLX
The code for folding calls to the intrinsic function CMPLX was incorrectly dependent on the number of arguments to distinguish its two cases (conversion from one kind of complex to another, and composition of a complex value from real & imaginary parts). This was wrong since the optional KIND= argument has already been taken into account by intrinsic processing; instead, the type of the first argument should decide the issue.
Differential Revision: https://reviews.llvm.org/D103568
|
 | flang/lib/Evaluate/fold-complex.cpp |
Commit
41b3088c3f33d712e3d2f64b66ae4eb701fa4bfb
by kdaUpdate and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always).
In addition: - optionally add global flag to capture compile intent for UAR: __asan_detect_use_after_return_always. The global is a SANITIZER_WEAK_ATTRIBUTE.
for issue: https://github.com/google/sanitizers/issues/1394
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D103304
|
 | compiler-rt/test/asan/TestCases/heavy_uar_test.cpp |
 | compiler-rt/test/asan/TestCases/scariness_score_test.cpp |
 | compiler-rt/lib/asan/asan_rtl.cpp |
 | compiler-rt/lib/asan/asan_interface.inc |
 | compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp |
 | compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp |
 | llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll |
 | compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp |
 | compiler-rt/test/asan/TestCases/uar_and_exceptions.cpp |
 | compiler-rt/test/asan/TestCases/Linux/uar_signals.cpp |
 | compiler-rt/test/asan/TestCases/pass-struct-byval-uar.cpp |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
Commit
a14fc749aab2c8e1a45d19d512255ebfc69357c3
by i[InstrProfiling] If no value profiling, make data variable private and (for Windows) use one comdat
`__profd_*` variables are referenced by code only when value profiling is enabled. If disabled (e.g. default -fprofile-instr-generate), the symbols just waste space on ELF/Mach-O. We change the comdat symbol from `__profd_*` to `__profc_*` because an internal symbol does not provide deduplication features on COFF. The choice doesn't matter on ELF.
(In -DLLVM_BUILD_INSTRUMENTED_COVERAGE=on build, there is now no `__profd_*` symbols.)
On Windows this enables further optimization. We are no longer affected by the link.exe limitation: an external symbol in IMAGE_COMDAT_SELECT_ASSOCIATIVE can cause duplicate definition error. https://lists.llvm.org/pipermail/llvm-dev/2021-May/150758.html We can thus use llvm.compiler.used instead of llvm.used like ELF (D97585). This avoids many `/INCLUDE:` directives in `.drectve`.
Here is rnk's measurement for Chrome: ``` This reduced object file size of base_unittests.exe, compiled with coverage, optimizations, and gmlt debug info by 10%:
#BEFORE
$ find . -iname '*.obj' | xargs du -b | awk '{ sum += $1 } END { print sum}' 1047758867
$ du -cksh base_unittests.exe 82M base_unittests.exe 82M total
# AFTER
$ find . -iname '*.obj' | xargs du -b | awk '{ sum += $1 } END { print sum}' 937886499
$ du -cksh base_unittests.exe 78M base_unittests.exe 78M total ```
Reviewed By: davidxl, rnk
Differential Revision: https://reviews.llvm.org/D103372
|
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
 | llvm/test/Instrumentation/InstrProfiling/icall.ll |
 | llvm/test/Transforms/PGOProfile/comdat_internal.ll |
 | llvm/test/Instrumentation/InstrProfiling/comdat.ll |
 | llvm/test/Instrumentation/InstrProfiling/linkage.ll |
 | llvm/test/Instrumentation/InstrProfiling/profiling.ll |
 | llvm/test/Instrumentation/InstrProfiling/platform.ll |
Commit
cd9e1a020cf0902e79ae1178cc4b93f5c5ce9381
by Jinsong Ji[Constants][PowerPC] Check exactlyValue for ppc_fp128 in isNullValue
PPC_FP128 determines isZero/isNan/isInf using high-order double value only. Checking isZero/isNegative might return the isNullValue unexpectedly. eg: 0xM0000000000000000FFFFFFFFFFFFFFFFF
isZero, but it is not NullValue.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D103634
|
 | llvm/lib/IR/Constants.cpp |
 | llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll |
Commit
e7a53f1e0472a991cea26c6e25594c3a1a8707ec
by pklausler[flang] Accept BOZ in array constructors w/o types
As a benign extension common to other Fortran compilers, accept BOZ literals in array constructors w/o explicit types, treating them as integers.
Differential Revision: https://reviews.llvm.org/D103569
|
 | flang/include/flang/Common/Fortran-features.h |
 | flang/lib/Semantics/expression.cpp |
 | flang/docs/Extensions.md |
Commit
ba1fb0ff8c9f9ef7f9b7d1fe43cb95c8d1363f78
by i[test] Update c-linkage-available_externally.c
|
 | clang/test/Profile/c-linkage-available_externally.c |
Commit
37821155c972b06de1af20ffe2282d7476d7f157
by julien.pages[AMDGPU] Fix a crash when selecting a particular case of buffer_load_format_d16
In this particular example, we had a crash when compiling it for several architectures. This patch extends the legalization of extract_subvector to avoid this problem.
Differential Revision: https://reviews.llvm.org/D103344
|
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
Commit
da3ed58b97c1cc1356b7732d5dcbb6e4de3057da
by i[test] Update more clang/test/Profile tests
|
 | clang/test/Profile/cxx-linkage.cpp |
 | clang/test/Profile/c-linkage.c |
Commit
f8f7002828ec66cd6261d3e00312e9b1f4b59b79
by pklausler[flang] Catch procedure pointer interface error
A procedure pointer is allowed to name a specific intrinsic function from F'2018 table 16.2 as its interface, but not other intrinsic procedures. Catch this error, and thereby also fix a crash resulting from a failure later in compilation from failed characteristics; while here, also catch the similar error with initializers.
Differential Revision: https://reviews.llvm.org/D103570
|
 | flang/lib/Evaluate/characteristics.cpp |
 | flang/lib/Semantics/check-declarations.cpp |
Commit
5c0d1b2f902aa6a9cf47cc7e42c5b83bb2217cf9
by listmail[LoopUnroll] Eliminate PreserveCondBr parameter and fix a bug in the process
This builds on D103584. The change eliminates the coupling between unroll heuristic and implementation w.r.t. knowing when the passed in trip count is an exact trip count or a max trip count. In theory the new code is slightly less powerful (since it relies on exact computable trip counts), but in practice, it appears to cover all the same cases. It can also be extended if needed.
The test change shows what appears to be a bug in the existing code around the interaction of peeling and unrolling. The original loop only ran 8 iterations. The previous output had the loop peeled by 2, and then an exact unroll of 8. This meant the loop ran a total of 10 iterations which appears to have been a miscompile.
Differential Revision: https://reviews.llvm.org/D103620
|
 | llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp |
 | llvm/include/llvm/Transforms/Utils/UnrollLoop.h |
 | llvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll |
 | llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp |
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
Commit
cddcc4cff5052bc8a2311fea83f54b0caa1cbb4c
by listmailA couple style tweaks on top of 5c0d1b2f9 [nfc]
|
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
Commit
d0ee8b64ecf359737ce550d8f47f465ab6657be7
by tejohnson[LTO] Fix -fwhole-program-vtables handling after HIP ThinLTO patch
A recent change (D99683) to support ThinLTO for HIP caused a regression when compiling cuda code with -flto=thin -fwhole-program-vtables. Specifically, we now get an error: error: invalid argument '-fwhole-program-vtables' only allowed with '-flto'
This error is coming from the device offload cc1 action being set up for the cuda compile, for which -flto=thin doesn't apply and gets dropped. This is a regression, but points to a potential issue that was silently occurring before the patch, details below.
Before D99683, the check for fwhole-program-vtables in the driver looked like:
if (WholeProgramVTables) { if (!D.isUsingLTO()) D.Diag(diag::err_drv_argument_only_allowed_with) << "-fwhole-program-vtables" << "-flto"; CmdArgs.push_back("-fwhole-program-vtables"); }
And D.isUsingLTO() returned true since we have -flto=thin. However, because the cuda cc1 compile is doing device offloading, which didn't support any LTO, there was other code that suppressed -flto* options from being passed to the cc1 invocation. So the cc1 invocation silently had -fwhole-program-vtables without any -flto*. This seems potentially problematic, since if we had any virtual calls we would get type test assume sequences without the corresponding LTO pass that handles them.
However, with the patch, which adds support for device offloading LTO option -foffload-lto=thin, the code has changed so that we set a bool IsUsingLTO based on either -flto* or -foffload-lto*, depending on whether this is the device offloading action. For the device offload action in our compile, since we don't have -foffload-lto, IsUsingLTO is false, and the check for LTO with -fwhole-program-vtables now fails.
What we should do is only pass through -fwhole-program-vtables to the cc1 invocation that has LTO enabled (either the device offload action with -foffload-lto, or the non-device offload action with -flto), and otherwise drop the -fwhole-program-vtables for the non-LTO action. Then we should error only if we have -fwhole-program-vtables without any -f*lto* options.
Differential Revision: https://reviews.llvm.org/D103579
|
 | clang/test/Driver/cuda-options.cu |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/hip-options.hip |
Commit
ac9641753bba836f2c22e0a2366b5233788d50b3
by pklausler[flang] Support known constant lengths in DynamicType
The constexpr-capable class evaluate::DynamicType represented CHARACTER length only with a nullable pointer into the declared parameters of types in the symbol table, which works fine for anything with a declaration but turns out to not suffice to describe the results of the ACHAR() and CHAR() intrinsic functions. So extend DynamicType to also accommodate known constant CHARACTER lengths, too; use them for ACHAR & CHAR; clean up several use sites and fix regressions found in test.
Differential Revision: https://reviews.llvm.org/D103571
|
 | flang/lib/Evaluate/type.cpp |
 | flang/test/Semantics/separate-mp02.f90 |
 | flang/lib/Evaluate/formatting.cpp |
 | flang/lib/Evaluate/characteristics.cpp |
 | flang/include/flang/Evaluate/type.h |
 | flang/test/Semantics/data02.f90 |
 | flang/lib/Evaluate/variable.cpp |
 | flang/test/Semantics/array-constr-values.f90 |
 | flang/lib/Evaluate/intrinsics.cpp |
 | flang/lib/Semantics/scope.cpp |
 | flang/include/flang/Evaluate/fold.h |
 | flang/lib/Semantics/expression.cpp |
 | flang/lib/Evaluate/tools.cpp |
Commit
d4e4799998b830c2e41dee93a204870aa65083cf
by leonardchan[NFC][compiler-rt][hwasan] Refactor hwasan functions
This moves the implementations for HandleTagMismatch, __hwasan_tag_mismatch4, and HwasanAtExit from hwasan_linux.cpp to hwasan.cpp and declares them in hwasan.h. This way, calls to those functions can be shared with the fuchsia implementation without duplicating code.
Differential Revision: https://reviews.llvm.org/D103562
|
 | compiler-rt/lib/hwasan/hwasan.cpp |
 | compiler-rt/lib/hwasan/hwasan.h |
 | compiler-rt/lib/hwasan/hwasan_linux.cpp |
Commit
619fa0d7fc8a08f871f33815083adb8bb07b9751
by markus.boeck02[NFC] Add missing includes for LLVM_ENABLE_MODULES builds
Building LLVM with the LLVM_ENABLE_MODULES cmake option fails when the modules are being compiled due to missing includes. This is a side effect of some transitive includes that changed recently.
Differential Revision: https://reviews.llvm.org/D103645
|
 | llvm/include/llvm/Support/CFGUpdate.h |
 | llvm/include/llvm/CodeGen/MBFIWrapper.h |
Commit
a4b924a017dba3e5f891ef38e07a7a80da65a8b8
by listmailKill a variable which is unused after cddcc4cf [nfc]
|
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
Commit
e712a92b8fe706c4a736748af324382850d1515c
by pklausler[flang] Fix crash on structure constructor as selector
In something like "ASSOCIATE(X=>T(1))", the "T(1)" is parsed as a Variable because it looks like a function reference or array reference; if it turns out to be a structure constructor, which is something we can't know until we're able to attempt generic interface resolution in semantics, the parse tree needs to be fixed up by replacing the Variable with an Expr.
The compiler could already do this for putative function references encapsulated as Exprs, so this patch moves some code around and adds parser::Selector to the overloads of expression analysis.
Differential Revision: https://reviews.llvm.org/D103572
|
 | flang/include/flang/Semantics/expression.h |
 | flang/lib/Semantics/resolve-names.cpp |
 | flang/lib/Semantics/expression.cpp |
Commit
56b6e4e2dfa932ddc0cbfecaab07ddf4ebfefc10
by Louis Dionne[libc++] Also build the static library in the Apple cache
|
 | libcxx/cmake/caches/Apple.cmake |
Commit
db757ba7c523f8a456f884316a44c0f1124bcb9a
by Louis Dionne[libc++] Define _LIBCPP_NO_NATIVE_SEMAPHORES even outside of pthread
<semaphore> needs to know about whether native semaphores are supported or not, even if we're not using the pthread API.
|
 | libcxx/include/__threading_support |
Commit
c1a024053d3b80a62bd65971fe9ac09539dea5ae
by pklausler[flang] Emit error about missing interface when needed
When a procedure pointer with no interface is called by a function reference, complain about the lack.
Differential Revision: https://reviews.llvm.org/D103573
|
 | flang/lib/Semantics/expression.cpp |
 | flang/test/Semantics/resolve09.f90 |
Commit
73c3530f5e057333eeac300b9d9925a13c55c9a6
by pklausler[flang] Catch errors in function calls instead of crashing
Add some missing error messages, and permit the appearance of EntityDetails symbols in dummy argument type characterization.
Differential Revision: https://reviews.llvm.org/D103576
|
 | flang/lib/Semantics/expression.cpp |
 | flang/lib/Semantics/check-declarations.cpp |
 | flang/lib/Evaluate/characteristics.cpp |
Commit
a96f875fe98de5eb5f44b0148baa442c998364ed
by i[CMake][ELF] Add -fno-semantic-interposition for GCC and Clang>=13
In a `-DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_LINK_LLVM_DYLIB=on -DCLANG_LINK_CLANG_DYLIB=on` build, libLLVM-13git.so is 2% smaller and libclang-cpp.so is 1% smaller (on top of -Wl,-Bsymbolic-functions). There may be some small performance improvement as well because GCC -fPIC suppresses interprocedural optimizations for non-inline definitions by default.
Note: we cannot add -fno-semantic-interposition for Clang<13. Clang<13's implementation additionally optimizes global variables, which is incompatible with unfortunate ELF -fno-pic default: direct access relocations for external data. If the executable has a -fno-pic object file referencing a global variable declared in a public header, the direct access relocation will cause a copy relocation. The executable and libLLVM.so/libclang-cpp.so will disagree on the address.
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D102453
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
d515a52a3a58cea82f0adc168199b918f7d68541
by Louis Dionne[libc++] Simplify apple-install-libcxx since we always use the same CMake cache
|
 | libcxx/utils/ci/apple-install-libcxx.sh |
Commit
69a82d7c08be4c7d7ab6f3de7711944a00d3e4cc
by pklausler[flang] Fix spurious "already declared" errors for interfaces
When a subroutine or function symbol is defined in an INTERFACE block, it's okay if a symbol of the same name appears in a scope between the global scope and the scope of the INTERFACE.
Differential Revision: https://reviews.llvm.org/D103580
|
 | flang/lib/Semantics/resolve-names.cpp |
Commit
edf2056ff3730316f376f29d9986c9913b95ceb1
by aeubanks[BuildLibCalls] Properly set ABI attributes on arguments
Some floating point lib calls have ABI attributes that need to be set on the caller. Found via D103412.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D103415
|
 | llvm/test/Transforms/InstCombine/pow_fp_int16.ll |
 | llvm/test/Transforms/InstCombine/exp2-1.ll |
 | llvm/lib/Transforms/Utils/BuildLibCalls.cpp |
 | llvm/test/Transforms/InstCombine/pow_fp_int.ll |
 | llvm/test/Transforms/InstCombine/simplify-libcalls.ll |
Commit
9255a5c1baa6020c009934b4fa342f9f6dbbcc46
by aeubanks[TargetLowering] Only inspect attributes in the arguments for ArgListEntry
Parameter attributes are considered part of the function [1], and like mismatched calling conventions [2], we can't have the verifier check for mismatched parameter attributes.
Issues can be diagnosed with D103412.
[1] https://llvm.org/docs/LangRef.html#parameter-attributes [2] https://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D101806
|
 | llvm/docs/ReleaseNotes.rst |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/mismatched-byval.ll |
Commit
986bef97826fc41cbac1b7ff74b4f40f4594ba68
by amy.zhuang[mlir] Remove redundant loads
Reviewed By: vinayaka-polymage, bondhugula
Differential Revision: https://reviews.llvm.org/D103294
|
 | mlir/test/Transforms/memref-dataflow-opt.mlir |
 | mlir/lib/Transforms/MemRefDataFlowOpt.cpp |
Commit
e42def62d8d9572190b31182e5db8c4b3a57cdaf
by Yaxun.Liu[HIP] Fix amdgcn builtin for long type
Currently some amdgcn builtins are defined with long int type, which causes invalid IR on Windows since long int is 32 bit on Windows whereas these builtins have 64 bit arguments.
long long int type cannot be used since it is 128 bit in OpenCL.
This patch uses 64 bit int type instead of long int to define 64 bit int arguments or return for amdgcn builtins.
Reviewed by: Artem Belevich
Differential Revision: https://reviews.llvm.org/D103563
|
 | clang/test/CodeGenCUDA/builtins-amdgcn.cu |
 | clang/include/clang/Basic/BuiltinsAMDGPU.def |
Commit
d6af89beb26df549d5b9e9041dac3b205b44e512
by riddleriver[mlir-lsp-server] Add support for tracking the use/def chains of symbols
This revision adds assembly state tracking for uses of symbols, allowing for go-to-definition and references support for SymbolRefAttrs.
Differential Revision: https://reviews.llvm.org/D103585
|
 | mlir/test/mlir-lsp-server/hover.test |
 | mlir/lib/Parser/Parser.cpp |
 | mlir/test/mlir-lsp-server/references.test |
 | mlir/test/mlir-lsp-server/definition.test |
 | mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp |
 | mlir/include/mlir/Parser/AsmParserState.h |
 | mlir/lib/Parser/AttributeParser.cpp |
 | mlir/test/mlir-lsp-server/definition-split-file.test |
 | mlir/lib/Parser/AsmParserState.cpp |
Commit
13155138c1ce1e91032d467e20e557f9cdbf08f5
by thakis[gn build] port d1d36f7ad (llvm-tapi-diff)
|
 | llvm/utils/gn/secondary/llvm/tools/llvm-tapi-diff/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/test/BUILD.gn |
Commit
cfa9ae99408fceb063473d9339b7006075c686a9
by ravishankarm[mlir][SPIRV] Add lowering for math.log1p operation to SPIR-V dialect.
Differential Revision: https://reviews.llvm.org/D103635
|
 | mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp |
 | mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir |
Commit
8a96993da5ef408847505ec2e470805a71c30392
by jpienaar[NFC] Add ArrayRef includes to two files.
These started failing on one of our buildbots. I didn't completely root cause the situation and just added the explicit includes that correct the issue.
Reviewed By: rriddle, jpienaar
Differential Revision: https://reviews.llvm.org/D103657
|
 | mlir/include/mlir/IR/AffineExprVisitor.h |
 | mlir/include/mlir/Interfaces/FoldInterfaces.h |
Commit
e9313fa33ae501182666101380282228fb3f4acc
by craig.topper[RISCV] Simplify some code in RISCVInsertVSETVLI by calling an existing function that does the same thing. NFCI
|
 | llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp |
Commit
aaa826fac16bef995ff074bc13ce7baa37ab4d47
by aktoon[CSSPGO][llvm-profgen] Make extended binary the default output format
Make extended binary the default output format for CSSPGO. This avoids having to pass flag every time when generating profile. It also matches llvm-profdata where binary profile is the default (should we switch to extbinary as default for llvm-profdata?).
We plan to compress name table for context profile, which depends on the built-in compression of extbinary.
Differential Revision: https://reviews.llvm.org/D103650
|
 | llvm/test/tools/llvm-profgen/inline-cs-dangling-pseudoprobe.test |
 | llvm/test/tools/llvm-profgen/inline-cs-noprobe.test |
 | llvm/test/tools/llvm-profgen/truncated-pseudoprobe.test |
 | llvm/tools/llvm-profgen/ProfileGenerator.cpp |
 | llvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test |
 | llvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test |
 | llvm/test/tools/llvm-profgen/pseudoprobe-decoding.test |
 | llvm/test/tools/llvm-profgen/recursion-compression-noprobe.test |
 | llvm/test/tools/llvm-profgen/fname-canonicalization.test |
 | llvm/test/tools/llvm-profgen/cs-preinline.test |
 | llvm/test/tools/llvm-profgen/merge-cold-profile.test |
 | llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test |
 | llvm/test/tools/llvm-profgen/inline-cs-pseudoprobe.test |
Commit
1aae55ddea92c9a0eb1024305b248f20653778a2
by thakis[lld/mac] Add test coverage for --reproduce + -flat_namespace
Works fine already, now it has a test too.
Differential Revision: https://reviews.llvm.org/D103643
|
 | lld/test/MachO/flat-namespace.s |
Commit
5c600dc6d4b75bc71dc3033f37ea187b3fd454d7
by thakisRevert "Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always)."
This reverts commit 41b3088c3f33d712e3d2f64b66ae4eb701fa4bfb. Doesn't build on macOS, see comments on https://reviews.llvm.org/D103304
|
 | compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp |
 | compiler-rt/test/asan/TestCases/heavy_uar_test.cpp |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
 | compiler-rt/test/asan/TestCases/scariness_score_test.cpp |
 | compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp |
 | compiler-rt/test/asan/TestCases/uar_and_exceptions.cpp |
 | compiler-rt/lib/asan/asan_rtl.cpp |
 | compiler-rt/test/asan/TestCases/Linux/uar_signals.cpp |
 | compiler-rt/test/asan/TestCases/pass-struct-byval-uar.cpp |
 | compiler-rt/lib/asan/asan_interface.inc |
 | llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll |
 | compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp |
Commit
868317b3fd765830c07ecf16cbfcf6c7708adc3c
by kostyak[scudo] Rework Vector/String
Some platforms (eg: Trusty) are extremelly memory constrained, which doesn't necessarily work well with some of Scudo's current assumptions.
`Vector` by default (and as such `String` and `ScopedString`) maps a page, which is a bit of a waste. This CL changes `Vector` to use a buffer local to the class first, then potentially map more memory if needed (`ScopedString` currently are all stack based so it would be stack data). We also want to allow a platform to prevent any dynamic resizing, so I added a `CanGrow` templated parameter that for now is always `true` but would be set to `false` on Trusty.
Differential Revision: https://reviews.llvm.org/D103641
|
 | compiler-rt/lib/scudo/standalone/primary64.h |
 | compiler-rt/lib/scudo/standalone/tests/vector_test.cpp |
 | compiler-rt/lib/scudo/standalone/string_utils.cpp |
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |
 | compiler-rt/lib/scudo/standalone/tests/strings_test.cpp |
 | compiler-rt/lib/scudo/standalone/report.cpp |
 | compiler-rt/lib/scudo/standalone/size_class_map.h |
 | compiler-rt/lib/scudo/standalone/tests/primary_test.cpp |
 | compiler-rt/lib/scudo/standalone/vector.h |
 | compiler-rt/lib/scudo/standalone/combined.h |
 | compiler-rt/lib/scudo/standalone/string_utils.h |
 | compiler-rt/lib/scudo/standalone/tests/quarantine_test.cpp |
Commit
738abfdbea21acd2597d83ad3390daf5696b6d07
by aeubanks[NFC] Remove checking pointee type for byval/preallocated type
These currently always require a type parameter. The bitcode reader already upgrades old bitcode without the type parameter to use the pointee type.
|
 | llvm/include/llvm/IR/InstrTypes.h |
Commit
d71ff907ef23eaef86ad66ba2d711e4986cd6cb2
by mahesha.comp[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering.
Before packing LDS globals into a sorted structure, make sure that their alignment is properly updated based on their size. This will make sure that the members of sorted structure are properly aligned, and hence it will further reduce the probability of unaligned LDS access.
Reviewed By: rampitec
Differential Revision: https://reviews.llvm.org/D103261
|
 | llvm/test/CodeGen/AMDGPU/ds_read2.ll |
 | llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll |
 | llvm/test/CodeGen/AMDGPU/lds-alignment.ll |
 | llvm/test/CodeGen/AMDGPU/ds_read2_offset_order.ll |
 | llvm/test/CodeGen/AMDGPU/ds_write2.ll |
 | llvm/test/CodeGen/AMDGPU/update-lds-alignment.ll |
Commit
5337c7550d31597f04bcca0c49e1ce62000cc59b
by Cyndy IshidaRevert "[llvm] llvm-tapi-diff"
This reverts commit d1d36f7ad2ae82bea8a6fcc40d6c42a72e21f096. Reverting this patch to investigate linux bot failures + fix with author offline
|
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-mismatched-number-of-inlines.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-matching-tbd.test |
 | llvm/include/llvm/TextAPI/Target.h |
 | llvm/lib/TextAPI/Target.cpp |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4B.tbd |
 | llvm/lib/TextAPI/Platform.cpp |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4E.tbd |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4D.tbd |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineB.test |
 | llvm/tools/llvm-tapi-diff/CMakeLists.txt |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-no-inlines.test |
 | llvm/tools/llvm-tapi-diff/DiffEngine.h |
 | llvm/include/llvm/TextAPI/Platform.h |
 | llvm/include/llvm/Object/TapiUniversal.h |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4A.tbd |
 | llvm/tools/llvm-tapi-diff/DiffEngine.cpp |
 | llvm/test/tools/llvm-tapi-diff/Inputs/v4C.tbd |
 | llvm/tools/llvm-tapi-diff/llvm-tapi-diff.cpp |
 | llvm/include/llvm/TextAPI/Symbol.h |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-misspelled-tbd.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-same-number-of-inlines.test |
 | llvm/test/tools/llvm-tapi-diff/Inputs/macho.yaml |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-multiple-inlines.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-tbd-has-single-inlineA.test |
 | llvm/test/tools/llvm-tapi-diff/tapi-diff-incorrect-format.test |
Commit
753437fc1db357499109bf8a14fca2dc4d88eb11
by mahesha.compRevert "[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering."
This reverts commit d71ff907ef23eaef86ad66ba2d711e4986cd6cb2.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll |
 | llvm/test/CodeGen/AMDGPU/ds_read2_offset_order.ll |
 | llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll |
 | llvm/test/CodeGen/AMDGPU/ds_read2.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp |
 | llvm/test/CodeGen/AMDGPU/update-lds-alignment.ll |
 | llvm/test/CodeGen/AMDGPU/lds-alignment.ll |
 | llvm/test/CodeGen/AMDGPU/ds_write2.ll |
Commit
6a3beb1f68d6791a4cd0190f68b48510f754a00a
by Madhur.Amilkanthwar[AMDGPU] [IndirectCalls] Don't propagate attributes to address taken functions and their callees
Don't propagate launch bound related attributes to address taken functions and their callees. The idea is to do a traversal over the call graph starting at address taken functions and erase the attributes set by previous logic i.e. process().
This two phase approach makes sure that we don't miss out on deep nested callees from address taken functions as a function might be called directly as well as indirectly.
This patch is also reattempt to D94585 as latent issues are fixed in hasAddressTaken function in the recent past.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D103138
|
 | llvm/test/CodeGen/AMDGPU/opt-pipeline.ll |
 | llvm/test/CodeGen/AMDGPU/propagate-attributes-indirect.ll |
 | llvm/test/CodeGen/AMDGPU/propagate-attributes-direct-indirect-common-callee.ll |
 | llvm/test/CodeGen/AMDGPU/propagate-attributes-common-callees.ll |
 | llvm/test/CodeGen/AMDGPU/propagate-attributes-function-pointer-argument.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp |
 | llvm/test/CodeGen/AMDGPU/propagate-attributes-launch-bounds.ll |