LLVM/project 7635761llvm/lib/Object ObjectFile.cpp, llvm/unittests/Object GOFFObjectFileTest.cpp

[llvm][object] handle GOFF in createObjectFile (#206636)

`ObjectFile::createObjectFile` doesn't handle GOFF and returns an error,
even though the requisite GOFF support is present (i.e.
`createGOFFObjectFile`). This change corrects this, and adds a simple
test for `createObjectFile` on a GOFF type object.
DeltaFile
+26-0llvm/unittests/Object/GOFFObjectFileTest.cpp
+2-1llvm/lib/Object/ObjectFile.cpp
+28-12 files

LLVM/project bf68b41llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h

[LV] Implement VPBuilder::createPtrAdd with createNoWrapPtrAdd (NFC) (#207467)

createPtrAdd is exactly createNoWrapPtrAdd with GEPNoWrapFlags::none().
Forward to it instead of duplicating the VPInstruction construction.
DeltaFile
+1-3llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+1-31 files

LLVM/project 1381ef4clang/docs/CommandGuide clang.rst, clang/include/clang/Basic LangStandards.def LangStandard.h

[Clang] Add flags and lang option for C++2d (#203992)

This adds diagnostic groups, command-line options, a language option,
and various other things required to support `-std=c++2d`. I haven’t
touched e.g. clang-tidy or clang-format, as I’m not really familiar w/
either. This is only meant to add the most necessary parts to support
C++29 mode.

I grepped for `CPlusPlus26`/`C++26`/`C++2c` and updated all places I
could find where we need to handle every language mode in some way or
another.

This patch is roughly based on b763d6a4ed4650c74c6846d743156468563b0e31.
DeltaFile
+16-0clang/test/Preprocessor/init.c
+15-1clang/include/clang/Basic/LangStandards.def
+9-5clang/include/clang/Basic/LangStandard.h
+5-3clang/lib/Driver/ToolChains/Clang.cpp
+8-0clang/docs/CommandGuide/clang.rst
+7-0clang/include/clang/Basic/DiagnosticGroups.td
+60-920 files not shown
+97-1826 files

LLVM/project 5de2fb5llvm/lib/Transforms/Vectorize VPlanCFG.h

[VPlan] Simplify VPHierarchicalChildrenIterator::operator*. NFC (#207464)

This is like a pointer-valued iterator, whose constness should not
qualify the pointee ( `vector<T*>::const_iterator` yields `T*`, not
`const T*`), so collapse the two overloads into a single `BlockPtrTy
operator*() const`.
DeltaFile
+3-6llvm/lib/Transforms/Vectorize/VPlanCFG.h
+3-61 files

LLVM/project 37fa9c4llvm/test/Transforms/LoopVectorize runtime-checks-difference.ll, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-bin-unary-ops-args.ll fminimumnum.ll

[LAA] Use (Diff - 1) <u (Threshold - 1) for diff checks. (#188462)

Update diff checks to use (Diff - 1) <u (Threshold - 1), equivalent to 0
< Diff <u Threshold, to exclude Diff == 0, equal pointers are a safe
loop-independent dependence.

Alive2 proofs https://alive2.llvm.org/ce/z/_ss9QG
 * (Diff - 1) <u (Threshold - 1) => 0 < Diff <u Threshold
 * Old and new check are equivalent, if diff > 0: 

On some platforms, this adds an extra instruction to compute the diff
check, but allows to handle the case where both pointers are equal.

PR: https://github.com/llvm/llvm-project/pull/188462
DeltaFile
+108-36llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
+76-52llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
+74-37llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
+89-13llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
+36-18llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+31-11llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
+414-16752 files not shown
+803-35458 files

LLVM/project 369269fllvm/test/MC/SystemZ insn-good-zos-pcrel.s

Fully translate test case to HLASM syntax dialect

This is a follow-up to 9d4436e3f4dfecd9503e90fb4cba907c86103e1e
which came in through the rebase.
DeltaFile
+28-28llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+28-281 files

LLVM/project c615770llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.h SystemZHLASMAsmStreamer.cpp, llvm/test/CodeGen/SystemZ call-zos-02.ll

[SystemZ][z/OS] Show instruction encoding in HLASM output

This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
DeltaFile
+83-55llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+9-18llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+7-5llvm/test/CodeGen/SystemZ/call-zos-02.ll
+3-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+102-784 files

LLVM/project d637947llvm/include/llvm/MC MCAsmStreamer.h

[MC] Move addEncodingComment() into new base class MCAsmBaseStreamer

This is in preparation to use this functionality in the
SystemZHLASMAsmStreamer. No functional change.
DeltaFile
+3-0llvm/include/llvm/MC/MCAsmStreamer.h
+3-01 files

LLVM/project a9c5602llvm/lib/Target/PowerPC PPCISelLowering.cpp PPCISelLowering.h, llvm/test/CodeGen/PowerPC abdu.ll abdu-neg.ll

[PowerPC] Custom Lower ABDU using branchless carry (#182704)

In normal abs, we already do this but with asr 31 instead of sbc, which
we can get directly from the subtraction.
DeltaFile
+992-0llvm/test/CodeGen/PowerPC/abdu.ll
+910-0llvm/test/CodeGen/PowerPC/abdu-neg.ll
+91-0llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+1-1llvm/test/CodeGen/PowerPC/misched.ll
+1-0llvm/lib/Target/PowerPC/PPCISelLowering.h
+1,995-15 files

LLVM/project 4fd5353llvm/utils/gn/secondary/clang/lib/Headers BUILD.gn

[gn build] Port 0418a88ae671 (#207463)
DeltaFile
+8-1llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
+8-11 files

LLVM/project e0289adllvm/lib/Target/RISCV RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rvp-bitreverse-zbkb.ll

[RISCV][P-ext] Use brev8 for bitreverse with Zbkb (#207338)

Resolves the FIXME.
DeltaFile
+83-0llvm/test/CodeGen/RISCV/rvp-bitreverse-zbkb.ll
+15-1llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+98-12 files

LLVM/project 0418a88clang/lib/Headers/zos_wrappers math.h locale.h, clang/test/Headers zos-guard.c

[z/OS][Clang] Reland Add wrapper headers to avoid macro name conflicts (#204472) (#207420)

Some z/OS system headers define macros (e.g. __time, __math) that
conflict with user identifiers and break compilation. These wrappers
include the system headers and neutralize the problematic macros.

Reland of 04079deb547c91eff6c6e2b820dbe6937c72fcf5.
Add systemz-registered-target requirement to zos-guard.c.
DeltaFile
+31-0clang/lib/Headers/zos_wrappers/math.h
+20-0clang/test/Headers/zos-guard.c
+19-0clang/lib/Headers/zos_wrappers/locale.h
+19-0clang/lib/Headers/zos_wrappers/string.h
+19-0clang/lib/Headers/zos_wrappers/time.h
+19-0clang/lib/Headers/zos_wrappers/variant.h
+127-010 files not shown
+180-016 files

LLVM/project 6c5dec2llvm/lib/MC MCAsmStreamer.cpp

Fix compile errors after rebase
DeltaFile
+3-3llvm/lib/MC/MCAsmStreamer.cpp
+3-31 files

LLVM/project 59d0594llvm/include/llvm/MC MCAsmStreamer.h

Fix formatting
DeltaFile
+1-1llvm/include/llvm/MC/MCAsmStreamer.h
+1-11 files

LLVM/project 5014867llvm/include/llvm/MC MCAsmStreamer.h, llvm/lib/MC MCAsmStreamer.cpp

[MC] Move addEncodingComment() into new base class MCAsmBaseStreamer

This is in preparation to use this functionality in the
SystemZHLASMAsmStreamer. No functional change.
DeltaFile
+122-132llvm/lib/MC/MCAsmStreamer.cpp
+32-1llvm/include/llvm/MC/MCAsmStreamer.h
+154-1332 files

LLVM/project 4767f51llvm/include/llvm/MC MCAsmStreamer.h

Reduce number of include files.
DeltaFile
+3-3llvm/include/llvm/MC/MCAsmStreamer.h
+3-31 files

LLVM/project 66ae5b8llvm/utils/gn/secondary/clang/lib/Lex BUILD.gn

[gn build] Port f1aeaa7bd552 (#207458)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
+1-01 files

LLVM/project 296ab5bllvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core BUILD.gn

[gn build] Port e69038f9c2b1 (#207457)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
+1-01 files

LLVM/project a6f5481llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support BUILD.gn, llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc BUILD.gn

[gn build] Port b6976d223eeb (#207454)
DeltaFile
+1-0llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
+1-0llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
+2-02 files

LLVM/project 0576c32llvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port bd338806e423 (#207455)
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project fbbf5dfllvm/utils/gn/secondary/lldb/source/Target BUILD.gn, llvm/utils/gn/secondary/lldb/source/Utility BUILD.gn

[gn build] Port 282416b6d457 (#207453)
DeltaFile
+0-1llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
+1-0llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
+1-12 files

LLVM/project e96a42dlibcxx/test/benchmarks spec.gen.py, libcxx/utils run-spec-benchmark

[libc++] Fix SPEC benchmarks not producing a .lnt result file (#207450)

The refactoring in 471e8f7f94e7 removed the output of a .lnt file, which
is necessary for interoperation with consolidate-benchmarks.
DeltaFile
+15-4libcxx/utils/run-spec-benchmark
+1-1libcxx/test/benchmarks/spec.gen.py
+16-52 files

LLVM/project 07ef930llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core BUILD.gn

[gn build] Port 24476abfac20 (#207452)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
+1-01 files

LLVM/project 195f8aallvm/lib/Target/PowerPC PPCInstrFormats.td

Need to keep empty string.
DeltaFile
+2-2llvm/lib/Target/PowerPC/PPCInstrFormats.td
+2-21 files

LLVM/project 796dc15llvm/utils/gn/secondary/clang/lib/Headers BUILD.gn

[gn] Fix mistake from 4df00678d86fe (#207451)
DeltaFile
+2-2llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
+2-21 files

LLVM/project 9d3af67clang/docs ReleaseNotes.md, clang/lib/Sema SemaTemplate.cpp SemaDecl.cpp

[clang] accept member specializations declared in class scope

Explicit specializations are not restricted to namespace scope since CWG727 was
accepted as a DR.

Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.

Fixes #206866
DeltaFile
+41-0clang/test/SemaTemplate/member-specialization.cpp
+5-4clang/lib/Sema/SemaTemplate.cpp
+6-0clang/lib/Sema/SemaDecl.cpp
+6-0clang/test/CXX/drs/cwg7xx.cpp
+3-0clang/docs/ReleaseNotes.md
+61-45 files

LLVM/project 3f72449llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h VPlanUtils.cpp, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

[VPlan] Add VPBuilder::createVScale (NFC) (#207401)

Add a VPBuilder::createVScale helper (mirroring IRBuilder::CreateVScale)
and use it at the existing sites that create a VScale VPInstruction.
DeltaFile
+7-1llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+4-4llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+12-63 files

LLVM/project f23cb39clang/docs LanguageExtensions.md, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.md
+56-193 files not shown
+60-199 files

LLVM/project c2fd1abclang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+2-2clang/lib/Lex/TextEncoding.cpp
+11-112 files

LLVM/project 6c50eeaclang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files