LLVM/project 22cb41cllvm/lib/Transforms/Scalar LoopIdiomRecognize.cpp, llvm/test/Transforms/LoopIdiom cyclic-redundancy-check.ll

[LoopIdiom] Use narrower bit widths where possible in `optimizeCRCLoopUsingClmul` (#210139)

The original implementation of `optimizeCRCLoopUsingClmul` (#203405)
uses a single conservative bit width for most operations, but this width
is not always necessary. Use more restrictive bit widths for each clmul
according to their inputs, and narrow the bit width for the initial
CRC/data setup.
DeltaFile
+131-119llvm/test/Transforms/LoopIdiom/cyclic-redundancy-check.ll
+74-75llvm/test/Transforms/LoopIdiom/AArch64/cyclic-redundancy-check.ll
+74-75llvm/test/Transforms/LoopIdiom/RISCV/cyclic-redundancy-check.ll
+74-75llvm/test/Transforms/LoopIdiom/X86/cyclic-redundancy-check.ll
+47-38llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
+400-3825 files

LLVM/project af1bc1fllvm/lib/Target/X86 X86InstrAVX512.td, llvm/test/CodeGen/X86 avx512-vpternlog-commute.ll

[X86] Fix swapped VPTERNLOG231_imm8/VPTERNLOG312_imm8 SDNodeXForm bodies (#209782)

Fixes #157929

VPTERNLOG231_imm8 and VPTERNLOG312_imm8 had their bodies swapped,
causing ISel to emit the wrong truth-table immediate whenever operand
reordering was needed (-O1+, not -O0).

Test changes:
- **avx512-vpternlog-commute.ll: regenerated with
update_llc_test_checks.py**
  (accounts for the large diff)
- Added 4 new cases: vpternlog231_rmik, vpternlog312_rmik,
  vpternlog231_rmbik, vpternlog312_rmbik

Tested: llvm-lit on llvm/test/CodeGen/X86 (no regressions), original
repro verified correct at -O0 through -O3, -Os, -Oz.

(cherry picked from commit bd38dd0ace19c3b9512da2b37bb9690ee6c9e97f)
DeltaFile
+144-88llvm/test/CodeGen/X86/avx512-vpternlog-commute.ll
+14-15llvm/lib/Target/X86/X86InstrAVX512.td
+158-1032 files

LLVM/project 450cf0allvm/tools/llvm-profgen PerfReader.cpp

[llvm-profgen] Formatting StringRef iteration in isLBRSample (#211462)

Follow up on https://github.com/llvm/llvm-project/pull/211182 Cleanup
the StringRef iteration.
DeltaFile
+1-1llvm/tools/llvm-profgen/PerfReader.cpp
+1-11 files

LLVM/project 5868a85llvm/lib/DWARFLinker/Parallel DependencyTracker.cpp DependencyTracker.h, llvm/test/tools/dsymutil/X86/DWARFLinkerParallel odr-deterministic-nested-type.test

[DWARFLinker] Fix RefTypeName crash and type-table non-determinism (#209033)

The parallel linker computes DIE placement (artificial type unit vs
plain DWARF) concurrently across compile units.

1. updateDependenciesCompleteness checked the placement of the enclosing
root type (getRootForSpecifiedEntry) instead of the actual referenced
DIE. A nested type can be demoted to plain DWARF while its root stays in
the type table, leaving a type-unit DIE that references a plain DIE and
tripping the RefTypeName assertion in
DIEAttributeCloner::cloneDieRefAttr. Carry the actual referenced DIE on
the worklist item and check its placement.

2. The completeness dependency set was recorded as a side effect of the
concurrent marking traversal, which short-circuits on already-marked
DIEs (isAlreadyMarked) before maybeAddReferencedRoots. When a shared
cross-CU DIE was already marked by a racing CU, the current referencing
root's outgoing dependencies were dropped, so the demotion fixpoint
missed demotions and whole type subtrees were left in the artificial

    [9 lines not shown]
DeltaFile
+298-0llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-deterministic-nested-type.test
+77-25llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
+43-11llvm/lib/DWARFLinker/Parallel/DependencyTracker.h
+418-363 files

LLVM/project 6aa4d5eclang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/CodeGen amdgpu-builtin-processor-is.c amdgpu-builtin-is-invocable.c

[AMDGPU] Add FeatureSubtarget for global async load/store lds (#211247)
DeltaFile
+18-8llvm/lib/Target/AMDGPU/FLATInstructions.td
+8-8clang/include/clang/Basic/BuiltinsAMDGPU.td
+10-0llvm/lib/Target/AMDGPU/AMDGPU.td
+2-2clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
+1-1clang/test/CodeGen/amdgpu-builtin-processor-is.c
+1-1clang/test/CodeGen/amdgpu-builtin-is-invocable.c
+40-201 files not shown
+42-207 files

LLVM/project a8f4b7fflang/docs ReleaseNotes.md

[flang][docs] Release notes: multi-image updates

Populate flang 23 release notes with multi-image feature updates.
DeltaFile
+5-0flang/docs/ReleaseNotes.md
+5-01 files

LLVM/project 21fb4bdllvm/test/CodeGen/M68k pipeline.ll

[M68k][CodeGen] pipeline failure fix (#211458)

Fixing pipeline mismatch on M68k (experimental target, failure shouldnt
have been reported).
Triggered upon merge of this PR:
https://github.com/llvm/llvm-project/pull/210826

Failure here:
https://lab.llvm.org/buildbot/#/builders/27/builds/2162/steps/5/logs/FAIL__LLVM__pipeline_ll
DeltaFile
+1-0llvm/test/CodeGen/M68k/pipeline.ll
+1-01 files

LLVM/project e04cf35llvm/lib/Transforms/Vectorize VPlanPredicator.cpp VPlanDominatorTree.cpp, llvm/test/Transforms/LoopVectorize predicator.ll reduction-inloop.ll

[VPlan] Compute blend masks from minimum set of edge masks (#201783)

#201784 aims to preserve SSA in early exit loops, and in doing so insert
phi nodes. More phi nodes results in more VPBlendRecipes, so this PR
optimizes the edge masks generated for those blend recipes to prevent
regressions.

The idea is to compute a minimal set of edges that lead to each unique
incoming value in a phi. It does this by iterating up the edges in the
post dominance frontier till the outgoing edges no longer lead to the
same value.

This is a simpler, less general version of #184838 since this can't
optimize away edges that aren't postdominated by the phi. This is fine
the early exit use case though, since we only need to optimize phi nodes
inserted in the latch.

The big advantage over #184838 is that it doesn't require several
depth-first searches to compute the set of reachable nodes, and can be
done entirely by iterating the post-dominator frontier.
DeltaFile
+210-1llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+127-3llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+61-0llvm/test/Transforms/LoopVectorize/predicator.ll
+12-9llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
+16-0llvm/lib/Transforms/Vectorize/VPlanDominatorTree.cpp
+4-6llvm/test/Transforms/LoopVectorize/reduction.ll
+430-195 files not shown
+445-3211 files

LLVM/project 2336574.github/workflows/test-suite configure-and-build.sh llvm.cmake

[GitHub] Collect statistics in test-suite workflow (#210316)

This allows comparing the statistic counters in the results.json
artifacts
DeltaFile
+2-1.github/workflows/test-suite/configure-and-build.sh
+1-0.github/workflows/test-suite/llvm.cmake
+3-12 files

LLVM/project 585c900libc/cmake/modules LLVMLibCTestRules.cmake, libc/test/UnitTest PlatformDefs.h LibcTest.h

[libc][cmake] Add LIBC_TEST_SUBPROCESS_TESTS (#211238)

This replaces the ENABLE_SUBPROCESS_TESTS preprocessor flag with a cmake
variable. By lifting the logic into cmake, we select which test
framework files to build, and also exclude whole tests, if they do not
make sense without subprocess support.

This enables us to fix failures from (now reverted) #209999 and
 #210889, as it will let us skip the *exit family of tests. The problem
there was that GPU targets support the *exit entry points (so the
auto-skipping logic does not kick in), but they do not have (and maybe
cannot have?) the functionality necessary to test them.

I convert two libgen tests (the only users of ENABLE_SUBPROCESS_TESTS)
to the new framework.
DeltaFile
+17-6libc/cmake/modules/LLVMLibCTestRules.cmake
+0-16libc/test/UnitTest/PlatformDefs.h
+4-2utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
+2-4libc/test/UnitTest/LibcTest.h
+1-1libc/test/src/libgen/CMakeLists.txt
+1-1libc/test/UnitTest/CMakeLists.txt
+25-303 files not shown
+25-359 files

LLVM/project 73a7638compiler-rt/lib/sanitizer_common sanitizer_common_syscalls.inc, compiler-rt/test/msan/Linux syscalls_post_output_size.cpp

[compiler-rt][sanitizer_common] Size readlink/getsockopt post-hook unpoison by bytes written (#209209)

# About

`readlink`/`readlinkat` return the number of bytes placed in the buffer
in res and do not NUL-terminate it, and getsockopt writes *optlen bytes
of binary option data. The post-hooks instead sized their POST_WRITE
(MSan unpoison) with internal_strlen(buf) + 1, which reads past what the
kernel wrote -- over- unpoisoning the uninitialized tail (masking real
bugs) and, on a buffer with no NUL, reading out of bounds inside the
runtime. For binary option data an early zero byte instead
under-unpoisons.

Size the unpoison by the actual written length, matching the
corresponding libc interceptors (readlink unpoisons res bytes, and
getsockopt unpoisons *optlen bytes).

Seems to be present since the file's 2013 import.
DeltaFile
+57-0compiler-rt/test/msan/Linux/syscalls_post_output_size.cpp
+8-6compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
+65-62 files

LLVM/project 55df598libclc/clc/lib/generic/math clc_sincospi.inc clc_sincospi.cl

libclc: Fix signed 0 handling in sincospi (#211260)
DeltaFile
+6-2libclc/clc/lib/generic/math/clc_sincospi.inc
+1-0libclc/clc/lib/generic/math/clc_sincospi.cl
+7-22 files

LLVM/project 90d75e9llvm/lib/Target/SPIRV SPIRVBuiltins.cpp

[NFC][SPIR-V] Merge duplicate prefix/suffix switches in lookupBuiltin (#211194)
DeltaFile
+10-31llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+10-311 files

LLVM/project 9c52b73llvm/lib/Target/WebAssembly WebAssemblyDebugFixup.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyDebugFixupPass

Standard NewPM pass porting.

Reviewers: aheejin, sbc100, dschuff

Pull Request: https://github.com/llvm/llvm-project/pull/210439
DeltaFile
+22-7llvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-3llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+37-145 files

LLVM/project de0d3e3flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,021 files not shown
+310,789-193,7374,027 files

LLVM/project 5b6ad13llvm/lib/Target/WebAssembly WebAssembly.h

[WebAssembly][NFC] Remove unused createWebAssemblyVecReduce

Not implemented or called anywhere. Seems left over accidentally from
b2edc0a3f8a5c711ff894dda9541a46874633511.

Reviewers: sbc100, dschuff, aheejin

Pull Request: https://github.com/llvm/llvm-project/pull/210438
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssembly.h
+0-11 files

LLVM/project 594f026flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,021 files not shown
+310,785-193,7364,027 files

LLVM/project 27acde0llvm/lib/Support Parallel.cpp

[Support] parallelFor: enable caller participation (#209690)

`parallelFor` dispatches its work to the thread pool and blocks the
calling thread in the `TaskGroup` destructor until the workers finish.
The caller thus stays idle instead of joining the work as modern parallel
libraries do, and `numactl -C 0-7 ld.lld --threads=8` ends up slower than
`numactl -C 0-8 ld.lld --threads=8`.

Run one worker on the calling thread instead. This requires that no
`parallelFor` body reads `getThreadIndex()`, which is unset on the
caller; the last such user is removed by #209687.

In the jobserver mode: only pool workers acquire job slots, so a
jobserver-limited process may briefly exceed its granted concurrency by
one thread. This is acceptable, better than pessimizing the common
non-jobserver case, and parallelFor is unused by jobserver users.
DeltaFile
+4-1llvm/lib/Support/Parallel.cpp
+4-11 files

LLVM/project d7cec4allvm/lib/Target/WebAssembly WebAssemblyRegNumbering.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyRegNumberingPass

Standard NewPM pass porting.

Reviewers: aheejin, sbc100, dschuff

Pull Request: https://github.com/llvm/llvm-project/pull/210437
DeltaFile
+22-7llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+36-125 files

LLVM/project a1f0a03flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,021 files not shown
+310,785-193,7364,027 files

LLVM/project 131a742llvm/lib/Target/WebAssembly WebAssemblyPeephole.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyPeepholePass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210436
DeltaFile
+44-13llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-3llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+59-205 files

LLVM/project 99ec0c0flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,021 files not shown
+310,785-193,7364,027 files

LLVM/project 8bae4dcllvm/lib/Target/WebAssembly WebAssemblyLowerBrUnless.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyLowerBrUnlessPass

Standard NewPM pass porting.

Reviewers: dschuff, sbc100, aheejin

Pull Request: https://github.com/llvm/llvm-project/pull/210257
DeltaFile
+22-7llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+36-125 files

LLVM/project e309373flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,021 files not shown
+310,785-193,7364,027 files

LLVM/project 90bed50llvm/lib/Target/WebAssembly WebAssemblyExplicitLocals.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyExplicitLocalsPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210256
DeltaFile
+23-7llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-3llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+38-145 files

LLVM/project bdddd13llvm/include/llvm/DebugInfo/DWARF DWARFTypePrinter.h, llvm/test/tools/llvm-dwarfdump/X86 verify_simplified_template_names.yaml

[DebugInfo] Don't assert on missing template parameter names (#211412)

The DWARF verifier reconstructs simplified template names through
DWARFTypePrinter to compare them against the original DW_AT_name. On
malformed input, a template parameter can have no recoverable name,
which tripped assert(RawName) and aborted instead of letting the
verifier report the problem.

Assisted-by: Claude

rdar://182715403
DeltaFile
+83-0llvm/test/tools/llvm-dwarfdump/X86/verify_simplified_template_names.yaml
+4-2llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
+87-22 files

LLVM/project 0880662flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,019 files not shown
+310,698-193,7344,025 files

LLVM/project e14b11bllvm/lib/Target/WebAssembly WebAssemblyCFGStackify.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyCFGStackifyPass

Standard NewPM pass porting.

Reviewers: dschuff, sbc100, aheejin

Pull Request: https://github.com/llvm/llvm-project/pull/210255
DeltaFile
+83-68llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+97-735 files

LLVM/project 69a2038flang/lib/Lower ConvertExpr.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+39,104-33,4194,019 files not shown
+310,698-193,7344,025 files

LLVM/project 3897623llvm/lib/Target/WebAssembly WebAssemblyCFGSort.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyCFGSortPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210247
DeltaFile
+32-10llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+46-155 files