1. [ObjCARCOpt] Port objc-arc to NPM (details)
  2. [LLD][PowerPC] Remove redundant file write out in the test cases (details)
  3. [Attributes] Add a method to check if an Attribute has AttrKind None. Use instead of hasAttribute(Attribute::None) (details)
  4. Add new warning for compound punctuation tokens that are split across macro expansions or split by whitespace. (details)
  5. Rename AnalysisManager::slice in AnalysisManager::nest (NFC) (details)
  6. [test] Pin some RUNs in potential.ll to legacy PM (details)
  7. Reland "[test] Exit with an error if no tests are run." (details)
  8. [UpdateTestChecks] include { in function signature check line (details)
  9. AMDGPU: Fix incorrectly deleting copies after spilling SGPR tuples (details)
  10. [early-ifcvt] Add OptRemarks (details)
  11. GlobalISel: Combine out redundant sext_inreg (details)
Commit cfde93e5d6bebf7b63343ca0a15673a0ff3fa134 by aeubanks
[ObjCARCOpt] Port objc-arc to NPM

Since doInitialization() in the legacy pass modifies the module, the NPM
pass is a Module pass.

Reviewed By: ahatanak, ychen

Differential Revision:
The file was modifiedllvm/lib/Passes/LLVMBuild.txt
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Passes/
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
The file was modifiedllvm/include/llvm/Transforms/ObjCARC.h
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARC.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/ObjCARC/basic.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 0becc27ebfec02c3d667785e55b366bc1a5336a7 by wei.huang
[LLD][PowerPC] Remove redundant file write out in the test cases

Fix the time out test failure on lld-x86_64-freebsd build bot.

Peer reviewed by: stefanp, nemanjai
The file was modifiedlld/test/ELF/ppc64-pcrel-long-branch-error.s
The file was modifiedlld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s
Commit aab90384a3a7a475bc1a969405d112c886ce8077 by craig.topper
[Attributes] Add a method to check if an Attribute has AttrKind None. Use instead of hasAttribute(Attribute::None)

There's a special case in hasAttribute for None when pImpl is null. If pImpl is not null we dispatch to pImpl->hasAttribute which will always return false for Attribute::None.

So if we just want to check for None its sufficient to just check that pImpl is null. Which can even be done inline.

This patch adds a helper for that case which I hope will speed up our getSubtargetImpl implementations.

Differential Revision:
The file was modifiedllvm/lib/CodeGen/XRayInstrumentation.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/Target/Mips/MipsTargetMachine.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcTargetMachine.cpp
Commit 0e00a95b4fad5e72851de012d3a0b2c2d01f8685 by richard
Add new warning for compound punctuation tokens that are split across macro expansions or split by whitespace.

For example:

    #define FOO(x) (x)

... forms a statement-expression after macro expansion. This warning
applies to '({' and '})' delimiting statement-expressions, '[[' and ']]'
delimiting attributes, and '::*' introducing a pointer-to-member.

The warning for forming these compound tokens across macro expansions
(or across files!) is enabled by default; the warning for whitespace
within the tokens is not, but is included in -Wall.

Differential Revision:
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/Parser.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was addedclang/test/Parser/compound-token-split.cpp
The file was modifiedclang/lib/Parse/ParseStmt.cpp
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/test/Misc/warning-wall.c
Commit c39c21610d8be55209951531a7d0cc022aa4d8c1 by joker.eph
Rename AnalysisManager::slice in AnalysisManager::nest (NFC)

The naming wasn't reflecting the intent of this API, "nest" is aligning
it with the pass manager API.
The file was modifiedmlir/unittests/Pass/AnalysisManagerTest.cpp
The file was modifiedmlir/include/mlir/Pass/AnalysisManager.h
The file was modifiedmlir/lib/Pass/Pass.cpp
Commit 56fbd66e9f9fd75a892af40073dee60858b3c5d4 by aeubanks
[test] Pin some RUNs in potential.ll to legacy PM

There are corresponding NPM RUNs.
The file was modifiedllvm/test/Transforms/Attributor/potential.ll
Commit 031554ed46c8540e8efdf5dde4c10ddd156ac1fa by rupprecht
Reland "[test] Exit with an error if no tests are run."

This reverts commit a06c28df3e8c85ceb665d3d9a1ebc2853dfd87a9 (reland adb5c23f8c0d60eeec41dcbe21d1b26184e1c97d).

The issue with PExpect tests on Windows should be fixed with e5e05ecf65aba836802154279efbc8cbce6fe2ea.
The file was modifiedlldb/packages/Python/lldbsuite/test/
Commit 7128e647063dd858901aa7a5d90be8744c673866 by sstipanovic
[UpdateTestChecks] include { in function signature check line

After D85099, if we have attribute group in the function signature that hasn't
been seen before, and later a callsite with the same attribute group, filecheck will evaluate
the first attribute group to for example '#0 {'. We now include { in the args_and_sig group to avoid this.

Differential Revision:
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.funcattrs.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/on_the_fly_arg_change.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.plain.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.expected
The file was modifiedllvm/utils/UpdateTestChecks/
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll.funcsig.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/on_the_fly_arg_change.ll.initially_disabled.expected
Commit 9145d75226a071c530d14e051008e4c32e87cf5e by Matthew.Arsenault
AMDGPU: Fix incorrectly deleting copies after spilling SGPR tuples

The implicit def of the super register would appear to kill any live
uses of components before the spill, and would be deleted by
MachineCopyPropagation. We need to add implicit uses of the super
register, similarly to what copyPhysReg does. VGPR tuples appear to be
correctly handled already. I need to double check the SGPR->memory
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/spill192.mir
Commit b15f2bd3ad4ab614e75ff859b03c3c1eb9f1a9d3 by jonathan_roelofs
[early-ifcvt] Add OptRemarks
The file was modifiedllvm/lib/CodeGen/EarlyIfConversion.cpp
The file was addedllvm/test/CodeGen/X86/early-ifcvt-remarks.ll
Commit 1b201914b5a481b17a85dacc3cb675a35a9a7b97 by Matthew.Arsenault
GlobalISel: Combine out redundant sext_inreg

The scalar tests don't work yet, since computeNumSignBits apparently
doesn't handle sextload yet, and sext folds into the load first.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-inreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/