[all-commits] [llvm/llvm-project] 810b5b: [MLIR][bazel] Fix build files for 5e29112719df91b1...
Jon Roelofs via All-commits
all-commits at lists.llvm.org
Mon Dec 18 08:19:21 PST 2023
Branch: refs/heads/users/jroelofs/spr/builtins-refactor-cpu_model-support-to-reduce-if-nesting-nfci
Home: https://github.com/llvm/llvm-project
Commit: 810b5bc59f5ec1194ada42c0042ae55046f5b18f
https://github.com/llvm/llvm-project/commit/810b5bc59f5ec1194ada42c0042ae55046f5b18f
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][bazel] Fix build files for 5e29112719df91b1c80916386e230252d56… (#75617)
…b052e.
Commit: f7407411a1dafb9464738d10cc9b64af04a21a8c
https://github.com/llvm/llvm-project/commit/f7407411a1dafb9464738d10cc9b64af04a21a8c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M libcxx/benchmarks/algorithms/find.bench.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/find.h
A libcxx/include/__algorithm/find_segment_if.h
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
Log Message:
-----------
[libc++] Optimize std::find for segmented iterators (#67224)
```
--------------------------------------------------------------------------
Benchmark old new
--------------------------------------------------------------------------
bm_find<std::deque<char>>/1 6.06 ns 10.6 ns
bm_find<std::deque<char>>/2 15.5 ns 10.6 ns
bm_find<std::deque<char>>/3 19.0 ns 10.6 ns
bm_find<std::deque<char>>/4 20.8 ns 10.6 ns
bm_find<std::deque<char>>/5 22.0 ns 10.6 ns
bm_find<std::deque<char>>/6 23.0 ns 10.5 ns
bm_find<std::deque<char>>/7 24.8 ns 10.7 ns
bm_find<std::deque<char>>/8 25.7 ns 10.6 ns
bm_find<std::deque<char>>/16 28.3 ns 10.6 ns
bm_find<std::deque<char>>/64 44.2 ns 27.0 ns
bm_find<std::deque<char>>/512 133 ns 37.6 ns
bm_find<std::deque<char>>/4096 867 ns 53.1 ns
bm_find<std::deque<char>>/32768 6838 ns 160 ns
bm_find<std::deque<char>>/262144 52897 ns 1495 ns
bm_find<std::deque<char>>/1048576 215621 ns 6077 ns
bm_find<std::deque<short>>/1 6.03 ns 6.28 ns
bm_find<std::deque<short>>/2 15.8 ns 15.8 ns
bm_find<std::deque<short>>/3 20.5 ns 20.3 ns
bm_find<std::deque<short>>/4 21.0 ns 21.0 ns
bm_find<std::deque<short>>/5 23.0 ns 22.1 ns
bm_find<std::deque<short>>/6 22.6 ns 23.0 ns
bm_find<std::deque<short>>/7 23.4 ns 23.7 ns
bm_find<std::deque<short>>/8 24.4 ns 24.9 ns
bm_find<std::deque<short>>/16 26.6 ns 27.2 ns
bm_find<std::deque<short>>/64 43.2 ns 40.9 ns
bm_find<std::deque<short>>/512 124 ns 90.7 ns
bm_find<std::deque<short>>/4096 845 ns 525 ns
bm_find<std::deque<short>>/32768 7273 ns 3194 ns
bm_find<std::deque<short>>/262144 53710 ns 24385 ns
bm_find<std::deque<short>>/1048576 216086 ns 96195 ns
bm_find<std::deque<int>>/1 6.03 ns 10.3 ns
bm_find<std::deque<int>>/2 15.6 ns 10.3 ns
bm_find<std::deque<int>>/3 19.1 ns 10.3 ns
bm_find<std::deque<int>>/4 22.3 ns 10.3 ns
bm_find<std::deque<int>>/5 23.5 ns 10.4 ns
bm_find<std::deque<int>>/6 23.1 ns 10.3 ns
bm_find<std::deque<int>>/7 23.7 ns 10.2 ns
bm_find<std::deque<int>>/8 24.5 ns 10.2 ns
bm_find<std::deque<int>>/16 27.9 ns 26.6 ns
bm_find<std::deque<int>>/64 42.6 ns 32.2 ns
bm_find<std::deque<int>>/512 123 ns 43.0 ns
bm_find<std::deque<int>>/4096 874 ns 93.5 ns
bm_find<std::deque<int>>/32768 7031 ns 751 ns
bm_find<std::deque<int>>/262144 57723 ns 6169 ns
bm_find<std::deque<int>>/1048576 230867 ns 35851 ns
bm_ranges_find<std::deque<char>>/1 5.97 ns 10.6 ns
bm_ranges_find<std::deque<char>>/2 16.0 ns 10.5 ns
bm_ranges_find<std::deque<char>>/3 19.5 ns 10.5 ns
bm_ranges_find<std::deque<char>>/4 21.1 ns 10.6 ns
bm_ranges_find<std::deque<char>>/5 22.8 ns 10.5 ns
bm_ranges_find<std::deque<char>>/6 22.8 ns 10.6 ns
bm_ranges_find<std::deque<char>>/7 23.4 ns 10.8 ns
bm_ranges_find<std::deque<char>>/8 24.1 ns 10.5 ns
bm_ranges_find<std::deque<char>>/16 26.9 ns 10.6 ns
bm_ranges_find<std::deque<char>>/64 50.2 ns 27.2 ns
bm_ranges_find<std::deque<char>>/512 126 ns 38.3 ns
bm_ranges_find<std::deque<char>>/4096 868 ns 53.8 ns
bm_ranges_find<std::deque<char>>/32768 6695 ns 161 ns
bm_ranges_find<std::deque<char>>/262144 54411 ns 1497 ns
bm_ranges_find<std::deque<char>>/1048576 241699 ns 6042 ns
bm_ranges_find<std::deque<short>>/1 6.39 ns 6.31 ns
bm_ranges_find<std::deque<short>>/2 15.8 ns 15.9 ns
bm_ranges_find<std::deque<short>>/3 19.0 ns 19.8 ns
bm_ranges_find<std::deque<short>>/4 20.8 ns 20.9 ns
bm_ranges_find<std::deque<short>>/5 21.8 ns 22.1 ns
bm_ranges_find<std::deque<short>>/6 23.0 ns 23.0 ns
bm_ranges_find<std::deque<short>>/7 23.2 ns 23.9 ns
bm_ranges_find<std::deque<short>>/8 23.7 ns 24.4 ns
bm_ranges_find<std::deque<short>>/16 26.6 ns 26.8 ns
bm_ranges_find<std::deque<short>>/64 43.4 ns 39.7 ns
bm_ranges_find<std::deque<short>>/512 131 ns 90.5 ns
bm_ranges_find<std::deque<short>>/4096 851 ns 523 ns
bm_ranges_find<std::deque<short>>/32768 7370 ns 3166 ns
bm_ranges_find<std::deque<short>>/262144 60778 ns 24814 ns
bm_ranges_find<std::deque<short>>/1048576 229288 ns 99273 ns
bm_ranges_find<std::deque<int>>/1 6.43 ns 10.2 ns
bm_ranges_find<std::deque<int>>/2 16.6 ns 10.2 ns
bm_ranges_find<std::deque<int>>/3 19.6 ns 10.2 ns
bm_ranges_find<std::deque<int>>/4 21.0 ns 10.2 ns
bm_ranges_find<std::deque<int>>/5 21.9 ns 10.4 ns
bm_ranges_find<std::deque<int>>/6 22.7 ns 10.2 ns
bm_ranges_find<std::deque<int>>/7 23.9 ns 10.2 ns
bm_ranges_find<std::deque<int>>/8 23.8 ns 10.2 ns
bm_ranges_find<std::deque<int>>/16 27.2 ns 27.1 ns
bm_ranges_find<std::deque<int>>/64 42.4 ns 32.4 ns
bm_ranges_find<std::deque<int>>/512 122 ns 43.0 ns
bm_ranges_find<std::deque<int>>/4096 895 ns 93.7 ns
bm_ranges_find<std::deque<int>>/32768 6890 ns 756 ns
bm_ranges_find<std::deque<int>>/262144 54025 ns 6102 ns
bm_ranges_find<std::deque<int>>/1048576 221558 ns 32783 ns
```
Commit: 414d27419f5ac87c7fe0ebaba2d143fa337e3f10
https://github.com/llvm/llvm-project/commit/414d27419f5ac87c7fe0ebaba2d143fa337e3f10
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
Log Message:
-----------
[AMDGPU] GFX12: select @llvm.prefetch intrinsic (#74576)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: 04b8c830d39b2c1d98bb4dee06de2cd26b4b89f9
https://github.com/llvm/llvm-project/commit/04b8c830d39b2c1d98bb4dee06de2cd26b4b89f9
Author: Reid Kleckner <rnk at google.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Fix UB on Op<2> in ShuffleVector predicates (#75549)
This Op<2> usage was missed in 1ee6ec2bf3, which replaced the third
shuffle operand with a vector of integer mask constants.
I noticed this when attempting to make changes to the layout of
llvm::Value.
Commit: b0623fa100f6143005232afda8efcf0567afa719
https://github.com/llvm/llvm-project/commit/b0623fa100f6143005232afda8efcf0567afa719
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f7407411a1da
Commit: 40643699bf59bd9849f71e325cfdb1a4d182fb08
https://github.com/llvm/llvm-project/commit/40643699bf59bd9849f71e325cfdb1a4d182fb08
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
[AArch64] Put legal action first for G_ATOMIC_CMPXCHG (#74613)
Commit: 93b14c3df17500e675f31674165b5378dd0b4eaf
https://github.com/llvm/llvm-project/commit/93b14c3df17500e675f31674165b5378dd0b4eaf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV Add some vsetvli insertion test cases with vmv.s.x+reduction. NFC (#75544)
These test cases where intended to get a single vsetvli by using the
vmv.s.x intrinsic with the same LMUL as the reduction. This works for
FP, but does not work for integer.
I believe #71501 will break this for FP too. Hopefully the vsetvli pass
can be taught to fix this.
Commit: 67aec2f58bf1568bb1c68d4906bc3c0103ff3c98
https://github.com/llvm/llvm-project/commit/67aec2f58bf1568bb1c68d4906bc3c0103ff3c98
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
Log Message:
-----------
[llvm] Remove no-op ptr-to-ptr casts (NFC)
Remove calls to CreatePointerCast which are just doing no-op ptr-to-ptr
bitcasts.
Opaque ptr cleanup effort (NFC).
Commit: e8a15eca92f1a10b3af4f4e52f54d9d2d7612bf5
https://github.com/llvm/llvm-project/commit/e8a15eca92f1a10b3af4f4e52f54d9d2d7612bf5
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Prefer whole register loads and stores when VL=VLMAX (#75531)
If we're lowering a fixed length vector load or store which happens to
exactly VLEN in size (when VLEN is exactly known), we can use a whole
register load or store instead of the unit strided variants. This
doesn't require a vsetvli in some cases, allows additional flexibility
of vsetvli cases in others, and doesn't have a runtime dependency on the
value of VL.
Commit: 4a72a4ef12ace2e96f31cc280928a984c59f80bb
https://github.com/llvm/llvm-project/commit/4a72a4ef12ace2e96f31cc280928a984c59f80bb
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
Log Message:
-----------
[NFC][mlir][sparse] remove redundant parameter. (#75551)
Commit: 3e16152ebc82f4e187b4471416a7d7c2d9a006ad
https://github.com/llvm/llvm-project/commit/3e16152ebc82f4e187b4471416a7d7c2d9a006ad
Author: Reid Kleckner <rnk at google.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Fix OOB GEP index access for a no-op GEP
Issue is covered by existing test
llvm/test/Transforms/SLPVectorizer/RISCV/phi-const.ll
See issue #75632 for ideas for how we could catch these more easily in
the future.
Commit: 9277ef12c03932d864104d4079a2f3c8d87d4864
https://github.com/llvm/llvm-project/commit/9277ef12c03932d864104d4079a2f3c8d87d4864
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove stale comment from optimizeInductions (NFC).
As suggested post-commit for a00227197, remove the stale comment,
SetVector is no longer used here.
Commit: ceb196d9903f4db7250bbc6c8da13eeae1b85886
https://github.com/llvm/llvm-project/commit/ceb196d9903f4db7250bbc6c8da13eeae1b85886
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-alignment-page-boundary.s
A llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-snippet-alignment-page-boundary.s
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
Log Message:
-----------
[llvm-exegesis] Validate that address annotations are aligned (#75554)
This patch adds in validation at two different levels that address
annotations are page aligned. This is necessary as otherwise the mmap
calls will fail as MAP_FIXED/MAP_FIXED_NOREPLACE require page aligned
addresses. This happens silently in the subprocess. This patch adds
validation at snippet parsing time to give feedback to the user and also
adds asserts at code generation/address usage time to ensure that other
users of the Exegesis APIs conform to the same requirements.
Commit: 43cb8f00f059baae4330f7ff2c9c3c1f51b6cc73
https://github.com/llvm/llvm-project/commit/43cb8f00f059baae4330f7ff2c9c3c1f51b6cc73
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[flang][openacc/mp][NFC] Remove unused baseAddr argument (#75537)
`baseAddr` is not used in `genBaseBoundsOps` just remove it.
Commit: 0d948827d773be7e440d1e639ddf42c4d28ab461
https://github.com/llvm/llvm-project/commit/0d948827d773be7e440d1e639ddf42c4d28ab461
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
A llvm/test/Instrumentation/AddressSanitizer/global-metadata-code-model-medium.ll
A llvm/test/Instrumentation/AddressSanitizer/global-metadata-code-model-small.ll
R llvm/test/Instrumentation/AddressSanitizer/global_metadata_code_model.ll
M llvm/test/Instrumentation/InstrProfiling/icall-comdat.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-large.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-medium.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-small.ll
Log Message:
-----------
[Instrumentation][X86] Limit setting large section flag to medium/large code models (#75542)
In #74514 and #74778 we marked various instrumentation-added sections as
large. This causes an extra PT_LOAD segment if using the small code
model. Since people using the small code model presumably aren't hitting
relocation limits, disable this when using the small code model to avoid
the extra segment.
This uses Module::getCodeModel() which isn't necessarily reliable since
it reads module metadata (which right now only the clang frontend sets),
but it would be nice to get to a point where we reliably put this sort
of information (e.g. PIC/code model/etc) in the IR. This requires
duplicating the existing tests since opt/llc currently don't set these
metadata. If we get to a point where they do set the code model metadata
based on command line arguments then we can deduplicate these tests.
Commit: f11bda78c8fc551cf3e22cd5caa4005c329b904f
https://github.com/llvm/llvm-project/commit/f11bda78c8fc551cf3e22cd5caa4005c329b904f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
Log Message:
-----------
[mlir][linalg] Use vector.shuffle to flatten conv filter (#75038)
Updates the vectorisation of 1D depthwise convolution when flattening
the channel dimension (introduced in #71918). In particular - how the
convolution filter is "flattened". ATM, the vectoriser will use
`vector.shape_cast`:
```mlir
%b_filter = vector.broadcast %filter : vector<4xf32> to vector<3x2x4xf32>
%sc_filter = vector.shape_cast %b_filter : vector<3x2x4xf32> to vector<3x8xf32>
```
This lowering is not ideal - `vector.shape_cast` can be convenient when
it's folded away, but that's not happening in this case. Instead, this
patch updates the vectoriser to use `vector.shuffle` (the overall result
is identical):
```mlir
%sh_filter = vector.shuffle %filter, %filter
[0, 1, 2, 3, 0, 1, 2, 3] : vector<4xf32>, vector<4xf32>
%b_filter = vector.broadcast %sh_filter : vector<8xf32> to vector<3x8xf32>
```
Commit: 23e6e88187382be3a08384425af6c6a4a8d719bb
https://github.com/llvm/llvm-project/commit/23e6e88187382be3a08384425af6c6a4a8d719bb
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD] [COFF] Rewrite the config flags for dwarf debug info or symtab. NFC. (#75172)
This shouldn't have any user visible effect, but makes the logic within
the linker implementation more explicit.
Note how DWARF debug info sections were retained even if enabling a link
with PDB info only; that behaviour is preserved.
Commit: e6e615cadec7422fc4647dfba3d2ad27efb9b9f5
https://github.com/llvm/llvm-project/commit/e6e615cadec7422fc4647dfba3d2ad27efb9b9f5
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/COFF/Driver.cpp
Log Message:
-----------
[LLD] [COFF] Rewrite handling of the /debug: option. NFC. (#75175)
Don't treat the options as unique enum items, but more as flags that can
be composed, like the /opt: options.
This still only processes the last option on the command line though, so
the behaviour should still remain exactly as it was, in all corner
cases.
Commit: efe017f8f0407c6316bd9d3021481e72b96bb904
https://github.com/llvm/llvm-project/commit/efe017f8f0407c6316bd9d3021481e72b96bb904
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/debug-dwarf.test
M lld/test/COFF/symtab.test
Log Message:
-----------
[LLD] [COFF] Parse all /debug: options, like /opt: (#75178)
Most option handling is like it was before; the last /debug: option
takes effect.
However, the options /debug:dwarf or /debug:symtab don't reset all flags
into the specific behaviour they chose before - e.g. if an earlier
option enables writing a PDB, a later /debug:dwarf or /debug:symtab
doesn't disable that. This allows combining these options with options
for controlling PDB writing, for finetuning what is done.
Commit: e36535d4bebadfbcfea34aa369743aafc43dcf6c
https://github.com/llvm/llvm-project/commit/e36535d4bebadfbcfea34aa369743aafc43dcf6c
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/debug-dwarf.test
M lld/test/COFF/sort-debug.test
M lld/test/COFF/symtab.test
Log Message:
-----------
[LLD] [COFF] Add /debug: options nodwarf and nosymtab (#75180)
These allow tweaking what gets implied by /debug and /debug:dwarf.
Commit: 7dcd8ef135147de1576c2863b963ec929a15e8cb
https://github.com/llvm/llvm-project/commit/7dcd8ef135147de1576c2863b963ec929a15e8cb
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Respect the -S/-s options when writing PDB files (#75181)
This allows avoiding including some stray DWARF sections (e.g. from
toolchain provided files), when writing a PDB file.
While that probably could be considered reasonable default behaviour,
PDB writing and including DWARF sections are two entirely orthogonal
concepts, and GNU ld (which can generate PDB files these days) does
include DWARF unless -S/-s is passed, when creating a PDB.
Commit: 10b78cc8cea65e7e77d227af4027963f39402724
https://github.com/llvm/llvm-project/commit/10b78cc8cea65e7e77d227af4027963f39402724
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/test/tools/llvm-rc/preproc.test
M llvm/test/tools/llvm-rc/windres-preproc.test
M llvm/tools/llvm-rc/llvm-rc.cpp
Log Message:
-----------
[llvm-windres] Pass user preprocessor arguments before the input filename (#75389)
If passing the windres option --preprocessor, the default arguments "-E
-xc -DRC_INVOKED" aren't passed. If these are passed explicitly by the
user via --preprocessor-arg instead, we need to make sure that "-xc" is
passed before the input filename, as this compiler/preprocessor option
only has an effect on input files that follow it.
This fixes one of the issues with llvm-windres observed in
https://github.com/msys2/MINGW-packages/pull/19157.
Commit: 1709e8c656de69f6d823a3ae6773bf815e373909
https://github.com/llvm/llvm-project/commit/1709e8c656de69f6d823a3ae6773bf815e373909
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/test/tools/llvm-rc/windres-preproc.test
M llvm/tools/llvm-rc/llvm-rc.cpp
Log Message:
-----------
[llvm-windres] Resolve the --preprocessor executable in $PATH (#75390)
The llvm::sys::ExecuteAndWait function doesn't resolve the file to be
executed from $PATH - i.e. it is similar to execv(), not execvp().
Due to this, specifying a --preprocessor argument to llvm-windres only
worked if it specified an absolute path to the preprocessor executable.
This was observed as one of the issues in
https://github.com/msys2/MINGW-packages/pull/19157.
Before d2fa6b694c2052cef1ddd507f6569bc84e3bbe35, this usage of
--preprocessor seemed to work, because the first argument of Args[] was
ignored and llvm-windres just executed the autodetected clang executable
regardless.
Also improve the error messages printed if preprocessing failed. (If the
preprocessor executable was started but itself returned an error, we
don't get any error string.)
Commit: b2cdf3cc4c08729d0ff582d55e40793a20bbcdcc
https://github.com/llvm/llvm-project/commit/b2cdf3cc4c08729d0ff582d55e40793a20bbcdcc
Author: SingleAccretion <62474226+SingleAccretion at users.noreply.github.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lld/docs/WebAssembly.rst
A lld/test/wasm/initial-heap.test
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Add an `--initial-heap` option (#75594)
It is beneficial to preallocate a certain number of pages in the linear
memory (i. e. use the "minimum" field of WASM memories) so that fewer
"memory.grow"s are needed at startup.
So far, the way to do that has been to pass the "--initial-memory"
option to the linker. It works, but has the very significant downside of
requiring the user to know the size of static data beforehand, as it
must not exceed the number of bytes passed-in as "--initial-memory".
The new "--initial-heap" option avoids this downside by simply appending
the specified number of pages to static data (and stack), regardless of
how large they already are.
Ref: https://github.com/emscripten-core/emscripten/issues/20888.
Commit: 7113c80289d62de95bca818109324601a51fefd8
https://github.com/llvm/llvm-project/commit/7113c80289d62de95bca818109324601a51fefd8
Author: Alex Langford <alangford at apple.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h
M lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h
M lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
M lldb/include/lldb/Breakpoint/BreakpointResolverName.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
Log Message:
-----------
[lldb][NFCI] Remove unused parameter from BreakpointResolver*::CreateFromStructuredData (#75374)
These appear to be unused.
Commit: 59f7f35a9047cccded7b8d3a01926e03f1e10efa
https://github.com/llvm/llvm-project/commit/59f7f35a9047cccded7b8d3a01926e03f1e10efa
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/test/CodeGen/SystemZ/vec-add-01.ll
M llvm/test/CodeGen/SystemZ/vec-add-02.ll
A llvm/test/CodeGen/SystemZ/vec-args-08.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-01.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-02.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-03.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-04.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-05.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-06.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-07.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-08.ll
M llvm/test/CodeGen/SystemZ/vec-strict-add-02.ll
M llvm/test/CodeGen/SystemZ/vec-strict-sub-02.ll
M llvm/test/CodeGen/SystemZ/vec-sub-01.ll
M llvm/test/CodeGen/SystemZ/vec-sub-02.ll
Log Message:
-----------
[SystemZ] ABI support for single-element vector types
Support passing and returning values of single-element vector
types (i.e. <1 x i128> and <1 x fp128>).
Now that i128 is a legal type, supporting these types can be
done simply by providing a getRegisterTypeForCallingConv
implementation that handles them.
Fixes https://github.com/llvm/llvm-project/issues/61291
Commit: 0b7dda3d4cbe6a4180fd80f91e9f29e474c1d896
https://github.com/llvm/llvm-project/commit/0b7dda3d4cbe6a4180fd80f91e9f29e474c1d896
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
Revert "[flang][nfc] Refactor linker invocation logic (#75534)"
This reverts commit 71bbfabd08d90a3007f6034e420daa66c41027db. Breaks check-flang on x86_64 host.
Commit: 3017adb37ec3ef0c81f4991d08804e3b6a127384
https://github.com/llvm/llvm-project/commit/3017adb37ec3ef0c81f4991d08804e3b6a127384
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M bolt/test/AArch64/ifunc.c
Log Message:
-----------
fixup! [GlobalISel] Always direct-call IFuncs and Aliases (#74902)
The codegen change broke one of the BOLT tests.
Commit: 4fa9697b478cccc6930a667acfc0d77995b8c263
https://github.com/llvm/llvm-project/commit/4fa9697b478cccc6930a667acfc0d77995b8c263
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV][InsertVSETVLI] Factor out isNonZeroLoadImmediate helper [nfc]
Just reducing a bit of code duplication.
Commit: d6a3607ff5ebae6575a713cdf12f1a2dda7cc72f
https://github.com/llvm/llvm-project/commit/d6a3607ff5ebae6575a713cdf12f1a2dda7cc72f
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] legacy branch target (#75628)
Branching to an endif statement from outside of the if is nonconformant:
subroutine jump(n)
goto 6
if (n == 3) then
goto 7
6 end if
print *, 'pass'
return
7 print *, 'fail'
end
However, this branch was permitted up to f90. Account for this usage
when rewriting if constructs and if statements by suppressing rewriting
if the end statement is labeled.
Commit: aa165edca8545b212de084d5b18c3d30347f774a
https://github.com/llvm/llvm-project/commit/aa165edca8545b212de084d5b18c3d30347f774a
Author: Rob Suderman <rob.suderman at gmail.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] Added `math.sinh` with expansions to `math.exp` (#75517)
Includes end-to-end tests for the cpu running, folders using `libm` and
lowerings to the corresponding `libm` operations.
Commit: 1a5299491a455356b4aae8ee47ceceebd00c2103
https://github.com/llvm/llvm-project/commit/1a5299491a455356b4aae8ee47ceceebd00c2103
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[MemProf][NFC] Free large data structures after last use (#75120)
The MemProf InstrProfWriter uses a couple of MapVector for building the
lists of records it needs to write. Once its entries are all added to
the associated OnDiskChainedHashTableGenerator, it is no longer used.
Clearing these MapVectors, which grow quite large for large profiles,
saved 4G for a large memory profile.
Commit: 35a003c2b21082f3c47c8b01d9d1955af5ab098e
https://github.com/llvm/llvm-project/commit/35a003c2b21082f3c47c8b01d9d1955af5ab098e
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[MemProf][NFC] Clear each IndexedMemProfRecord after it is written (#75205)
The on-disk hash table for the memprof writer holds copies of all the
memprof records to be written. These hold a lot of memory in aggregate,
due to the lists of alloc sites (which each have a list of context
frames) and call sites. Clear each one after emitting it.
This drops the peak memory when writing a very large indexed memprof
profile by about 2.5G.
Commit: 8c262ed2e3a2efa455e7641ad15b8440929c3b53
https://github.com/llvm/llvm-project/commit/8c262ed2e3a2efa455e7641ad15b8440929c3b53
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[NVPTX] Add ELF flags for Nvidia cubin files (#75624)
Summary:
Nvidia uses ELF as its file format for cubin files. This patch adds
support to allow detecting the architecture using the ELF flags only.
This will be used in the offloading runtime in the future.
These values are completely undocumented. They were determined by
manually modifying the ELF header of the cubin and checking the output
of the `nvisasm` tool.
Commit: d6f772074c48cf9bb57191cb065b5ce60012ed74
https://github.com/llvm/llvm-project/commit/d6f772074c48cf9bb57191cb065b5ce60012ed74
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-12-15 (Fri, 15 Dec 2023)
Changed paths:
M bolt/test/AArch64/ifunc.c
Log Message:
-----------
fixup! fixup! [GlobalISel] Always direct-call IFuncs and Aliases (#74902)
Apparently some BOLT bots build with a pre-installed system clang, and others
use the just-built one. These two clangs now behave slightly differently when
it comes to ifunc codegen after https://github.com/llvm/llvm-project/pull/74902
Change the test to accept both patterns.
Commit: ce4e19ca8800514d42a31392416146a9fec3d150
https://github.com/llvm/llvm-project/commit/ce4e19ca8800514d42a31392416146a9fec3d150
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-12-18 (Mon, 18 Dec 2023)
Changed paths:
M bolt/test/AArch64/ifunc.c
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Driver/linker-flags.f90
M libcxx/benchmarks/algorithms/find.bench.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/find.h
A libcxx/include/__algorithm/find_segment_if.h
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
M lld/MinGW/Driver.cpp
M lld/docs/WebAssembly.rst
M lld/test/COFF/debug-dwarf.test
M lld/test/COFF/sort-debug.test
M lld/test/COFF/symtab.test
M lld/test/MinGW/driver.test
A lld/test/wasm/initial-heap.test
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/Writer.cpp
M lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h
M lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h
M lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
M lldb/include/lldb/Breakpoint/BreakpointResolverName.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/SystemZ/vec-add-01.ll
M llvm/test/CodeGen/SystemZ/vec-add-02.ll
A llvm/test/CodeGen/SystemZ/vec-args-08.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-01.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-02.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-03.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-04.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-05.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-06.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-07.ll
R llvm/test/CodeGen/SystemZ/vec-args-error-08.ll
M llvm/test/CodeGen/SystemZ/vec-strict-add-02.ll
M llvm/test/CodeGen/SystemZ/vec-strict-sub-02.ll
M llvm/test/CodeGen/SystemZ/vec-sub-01.ll
M llvm/test/CodeGen/SystemZ/vec-sub-02.ll
A llvm/test/Instrumentation/AddressSanitizer/global-metadata-code-model-medium.ll
A llvm/test/Instrumentation/AddressSanitizer/global-metadata-code-model-small.ll
R llvm/test/Instrumentation/AddressSanitizer/global_metadata_code_model.ll
M llvm/test/Instrumentation/InstrProfiling/icall-comdat.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-large.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-medium.ll
A llvm/test/Instrumentation/InstrProfiling/section-code-model-small.ll
A llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-alignment-page-boundary.s
A llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-snippet-alignment-page-boundary.s
M llvm/test/tools/llvm-rc/preproc.test
M llvm/test/tools/llvm-rc/windres-preproc.test
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
s/Fucsia/Fuchsia/
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/bf2309544dd8...ce4e19ca8800
More information about the All-commits
mailing list