LLVM/project 8a8d65allvm/lib/Transforms/Vectorize VPlanConstruction.cpp

[VPlan] Consistently use MinOrMax* in VPlanConstruction transforms (NFC)

Make sure variables/functions consistently use MinOrMax*, as suggested
in https://github.com/llvm/llvm-project/pull/170223. Split off from the
PR.
DeltaFile
+56-53llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+56-531 files

LLVM/project 2b83843clang/docs ReleaseNotes.rst, clang/lib/Sema SemaOverload.cpp

Revert "[Clang] Check enable_if attribute in the DC of current function" (#176024)

Reverts llvm/llvm-project#175899 as it caused an assertion error.

https://ci.chromium.org/ui/p/fuchsia/builders/global.ci/clang_toolchain.ci.core.x64-debug-tot-build_only/b8692683882729058145/overview
DeltaFile
+0-35clang/test/SemaCXX/enable_if.cpp
+0-2clang/lib/Sema/SemaOverload.cpp
+0-1clang/docs/ReleaseNotes.rst
+0-383 files

LLVM/project 2ca14d1llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Handle multiple uses fabs in SimplifyDemandedFPClass
DeltaFile
+35-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+11-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-0llvm/include/llvm/Support/KnownFPClass.h
+52-03 files

LLVM/project f92bc1fllvm/lib/Target/X86 X86ISelLowering.cpp

Fix unused variable error from 7d5d4db (#176025)

DeltaFile
+1-1llvm/lib/Target/X86/X86ISelLowering.cpp
+1-11 files

LLVM/project 4253237clang/lib/Driver/ToolChains Clang.cpp, clang/lib/Lex LiteralSupport.cpp

remove implementation details from driver, use const reference
DeltaFile
+6-10clang/lib/Driver/ToolChains/Clang.cpp
+11-2llvm/lib/Support/TextEncoding.cpp
+1-2llvm/include/llvm/Support/TextEncoding.h
+2-1llvm/include/llvm/TargetParser/Triple.h
+1-1clang/lib/Lex/LiteralSupport.cpp
+21-165 files

LLVM/project 2bce962clang/lib/Driver Driver.cpp, clang/lib/Driver/ToolChains Gnu.cpp CommonArgs.cpp

[clang][RISCV] Add big-endian RISC-V target support (#165599)

We proceeded with frontend/clang changes, until we figure out how ABI
for BE should look like. Once it is final, we will proceed with codegen
changes.

In this patch several things addressed:
  - Define riscv32be/riscv64be target triples
  - Set correct data layout for BE targets
  - Handle BE-specific ABI details
  - Emit warning for BE case since it is still experimental
DeltaFile
+95-0clang/test/Driver/riscv-be.c
+34-5clang/lib/Driver/ToolChains/Gnu.cpp
+22-4clang/lib/Driver/Driver.cpp
+12-0clang/test/CodeGen/riscv-be-data-layout.c
+10-0clang/lib/Driver/ToolChains/CommonArgs.cpp
+7-2clang/lib/Driver/ToolChains/Clang.cpp
+180-1130 files not shown
+218-1736 files

LLVM/project e5507c4llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/X86 vector-extract-last-active.ll

Revert "[SelDag] Use use BoolVT size when expanding find-last-active, if larg…"

This reverts commit 68a04c1adae8dc2a031a1d483d2b73dbbe92f060.
DeltaFile
+108-94llvm/test/CodeGen/X86/vector-extract-last-active.ll
+1-4llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+109-982 files

LLVM/project 68a04c1llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/X86 vector-extract-last-active.ll

[SelDag] Use use BoolVT size when expanding find-last-active, if larger. (#175971)

On some targets, BoolVT may have been widened earlier. In those cases,
choosing StepVT to be smaller can cause crashes when widening the
mis-matched select. Without the fix, the new test
@extract_last_active_v4i32_penryn crashes when trying to widen.

It also improves codegen for other cases.

PR: https://github.com/llvm/llvm-project/pull/175971
DeltaFile
+94-108llvm/test/CodeGen/X86/vector-extract-last-active.ll
+4-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+98-1092 files

LLVM/project bec82adbolt/include/bolt/Passes PAuthGadgetScanner.h, bolt/include/bolt/Utils CommandLineOpts.h

[BOLT] Gadget scanner: implement finer-grained --scanners option
DeltaFile
+111-0bolt/test/binary-analysis/AArch64/gs-pauth-scanners.s
+22-15bolt/lib/Rewrite/RewriteInstance.cpp
+21-14bolt/lib/Passes/PAuthGadgetScanner.cpp
+19-2bolt/include/bolt/Utils/CommandLineOpts.h
+12-7bolt/include/bolt/Passes/PAuthGadgetScanner.h
+9-4bolt/test/binary-analysis/AArch64/cmdline-args.test
+194-4210 files not shown
+211-7016 files

LLVM/project 94ffc75llvm/lib/Transforms/Scalar MemCpyOptimizer.cpp

[MemCpyOpt] keep src/dest alloca ordering (#176012)

Rather than test dominator of every use, just check which of src or dest
is first, and use that insert location. This minimizes unnecessary
dominator queries while also helping to preserve the order of allocas
(for better code readability / diff).

Extracted from PR optimization improvement series at
https://github.com/llvm/llvm-project/pull/150792
DeltaFile
+11-10llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+11-101 files

LLVM/project 4d277bdllvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine branch.ll

[InstCombine][profcheck] Propogate profile metadata when transforming br (X && !Y) to br (!X || Y)

Updated visitBranchInst to propagate and swap !prof metadata when transforming br (X && !Y) to br (!X || Y).
DeltaFile
+31-23llvm/test/Transforms/InstCombine/branch.ll
+12-0llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+43-232 files

LLVM/project d275182llvm/lib/Transforms/Scalar MemCpyOptimizer.cpp, llvm/test/Transforms/MemCpyOpt stack-move.ll

[MemCpyOpt] allow memcpy-to-memcpy optimization with smaller dest than src (#176010)

Resize the alloca if needed to a common size, as long as the dest was
still fully initialized by the copy.

Extracted from PR optimization improvement series at
https://github.com/llvm/llvm-project/pull/150792 (included all tests
additions from there as well)
DeltaFile
+72-29llvm/test/Transforms/MemCpyOpt/stack-move.ll
+17-6llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+89-352 files

LLVM/project 79c62efllvm/lib/IR Metadata.cpp, llvm/unittests/IR MetadataTest.cpp

[Metadata][profcheck] Handle identical MDNodes in getMergedProfMetadata (#175701)

This fixes a bug where !prof metadata was dropped from SelectInsts when GVN simplified/merged them. Guarded by -profcheck-disable-metadata-fixes. Exposed by the tests in Transforms/SampleProfile.

DeltaFile
+53-0llvm/unittests/IR/MetadataTest.cpp
+9-0llvm/lib/IR/Metadata.cpp
+0-2llvm/utils/profcheck-xfail.txt
+62-23 files

LLVM/project b369f84llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp SystemZAsmPrinter.h

Implement emitGlobalAlias and lowerConstant
DeltaFile
+87-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+4-0llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+3-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+94-03 files

LLVM/project cef336bclang/docs ReleaseNotes.rst, clang/lib/Sema SemaOverload.cpp

Revert "[Clang] Check enable_if attribute in the DC of current function (#175…"

This reverts commit 28009c8880209a87d83b5901cfaf8d8e96be5693.
DeltaFile
+0-35clang/test/SemaCXX/enable_if.cpp
+0-2clang/lib/Sema/SemaOverload.cpp
+0-1clang/docs/ReleaseNotes.rst
+0-383 files

LLVM/project ea7a377llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp SystemZAsmPrinter.h

Implement emitGlobalAlias and lowerConstant
DeltaFile
+87-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+4-0llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+3-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+94-03 files

LLVM/project f15daabllvm/lib/Target/SystemZ SystemZAsmPrinter.cpp SystemZAsmPrinter.h

[NFC][SystemZ] Update insert() API of the AssociatedDataAreaTable class

This patch updates the insert() calls of the AssociatedDataAreaTable class
to return a pair of <const MCSymbol *, uint32_t> instead of just a uint32_t.
This API change of including the MCSymbol is needed in subsequent patches
to come.
DeltaFile
+18-10llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+5-4llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+23-142 files

LLVM/project 356abd5llvm/utils profcheck-xfail.txt

fix bad merge
DeltaFile
+0-3llvm/utils/profcheck-xfail.txt
+0-31 files

LLVM/project c7e147ellvm/utils profcheck-xfail.txt

Update profcheck-xfail.txt
DeltaFile
+3-2llvm/utils/profcheck-xfail.txt
+3-21 files

LLVM/project 4ec7c88llvm/unittests/IR MetadataTest.cpp

Drop the summation unittest since it's already covered by the gvn lit tests
DeltaFile
+0-26llvm/unittests/IR/MetadataTest.cpp
+0-261 files

LLVM/project 63f7cc8llvm/unittests/IR MetadataTest.cpp

clang format
DeltaFile
+6-3llvm/unittests/IR/MetadataTest.cpp
+6-31 files

LLVM/project 0f57d8bllvm/unittests/IR MetadataTest.cpp

Revert "Drop the summation unittest since it's already covered by the gvn lit tests"

This reverts commit fb0d7df21794ab50eaab4cb6e249679089a5a501.
DeltaFile
+26-0llvm/unittests/IR/MetadataTest.cpp
+26-01 files

LLVM/project f468594llvm/lib/IR Metadata.cpp, llvm/unittests/IR MetadataTest.cpp

[Metadata][profcheck] Handle identical MDNodes in getMergedProfMetadata

This fixes a bug where !prof metadata was dropped from SelectInsts when GVN simplified/merged them.
Guarded by -profcheck-disable-metadata-fixes. Exposed by the tests in
Transforms/SampleProfile.
DeltaFile
+50-0llvm/unittests/IR/MetadataTest.cpp
+12-0llvm/lib/IR/Metadata.cpp
+62-02 files

LLVM/project 2d99491llvm/lib/IR Metadata.cpp

Move the check after merging for calls to simplify the condition
DeltaFile
+3-6llvm/lib/IR/Metadata.cpp
+3-61 files

LLVM/project d5442b8clang/include module.modulemap, clang/include/clang/Basic BuiltinsAMDGPU.def BuiltinsAMDGPU.td

[AMDGPU] Programmatically port old `.def` clang builtins to `.td` (#175873)

Summary:
This PR ports the old `.def` builtins to the new Tablegen interface.
This required a few changes in the handler, namely there is a real
meaning to `AS(0)` right now, not just in SPIR-V but when the type
parser expects it. The conversion here should be 1-to-1.

Some more work could be done to reduce the amount of repetition by
grouping all the instructions together, I'll leave that up to whether or
not anyone cares.

This was done with a hastily made Python script that likely will not
work
for the other files, but will successfully update this PR. Putting here
in
case someone wants to use it.
https://gist.github.com/jhuber6/d524c65c0da3adae5afd2ad160589537
DeltaFile
+0-1,018clang/include/clang/Basic/BuiltinsAMDGPU.def
+1,017-0clang/include/clang/Basic/BuiltinsAMDGPU.td
+9-11clang/lib/Basic/Targets/AMDGPU.cpp
+3-2clang/include/clang/Basic/TargetBuiltins.h
+4-0clang/include/clang/Basic/CMakeLists.txt
+0-1clang/include/module.modulemap
+1,033-1,0326 files

LLVM/project 25760c2llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Use SimplifyDemandedFPClass epilog helper function for fma

NFC refactor to use shared code for fold to constant or set fast math
flags.
DeltaFile
+2-14llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+2-141 files

LLVM/project 90961dfllvm/lib/Transforms/Vectorize VPlanConstruction.cpp

[VPlan] Strip phi operand from compute-reduction-result comments (NFC).

After d5c11b9a24c84f1, compute-reduction-result does not have the
reduction phi recipe as operand. Update stale comments pointed out
independently in https://github.com/llvm/llvm-project/pull/175461.
DeltaFile
+2-3llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+2-31 files

LLVM/project 4d6a391llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-sqrt.ll

InstCombine: Infer fast math flags for sqrt
DeltaFile
+60-5llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
+36-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+96-92 files

LLVM/project 5c37906llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-fma.ll

InstCombine: Implement SimplifyDemandedFPClass for fma

This can't do much filtering on the sources, except for nans.
We can also attempt to introduce ninf/nnan.
DeltaFile
+72-21llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+16-31llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
+88-522 files

LLVM/project 657e09cllvm/test/Transforms/InstCombine simplify-demanded-fpclass-fma.ll

InstCombine: Add baseline fma tests for SimplifyDemandedFPClass
DeltaFile
+316-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
+316-01 files