SuccessChanges

Summary

  1. [InstCombine] Add basic vector test coverage for icmp_eq/ne zero combines (details)
  2. [flang] SAVE statement should not apply to nested scoping units (details)
  3. Thread safety analysis: Improve documentation for ASSERT_CAPABILITY (details)
  4. [X86] Add 64-bit target tests (details)
  5. [ConstraintElimination] Internalize function/class and delete an implied condition. NFC (details)
  6. Fix sphinx warnings in AttributeReference, NFC (details)
  7. [NFC][PowerPC] Change PPCSubTarget (introduced from D87671) to Subtarget (details)
  8. Internalize functions from various tools. NFC (details)
  9. [LLVM-C] Turn a ShuffleVector Constant Into a Getter. (details)
Commit 98c5eebcf786ee970c57a752ac3dfededa90501a by llvm-dev
[InstCombine] Add basic vector test coverage for icmp_eq/ne zero combines
The file was modifiedllvm/test/Transforms/InstCombine/onehot_merge.ll (diff)
Commit c2921d148e7b4e61794fa5498746ec0840861cf8 by tkeith
[flang] SAVE statement should not apply to nested scoping units

SAVE statement, according to 8.6.14, must apply to the same scoping
unit, that excludes nested scoping units. For example, if the SAVE
statement is found in a MODULE, the functions contained in that module
should not inherit the SAVE attribute. I think that the code was doing
this, failing the following source:

```
MODULE pippo
SAVE

CONTAINS
PURE FUNCTION fft_stick_index( )
   IMPLICIT NONE
   INTEGER :: fft_stick_index
   INTEGER :: mc  !error: A pure subprogram may not have a variable with the SAVE attribute
END FUNCTION

END MODULE
```

Differential Revision: https://reviews.llvm.org/D88279
The file was modifiedflang/lib/Evaluate/tools.cpp (diff)
The file was addedflang/test/Semantics/save01.f90
Commit f702a6fa7c9e4c0e2871b3d6657ce4dfa525ce52 by aaronpuchert
Thread safety analysis: Improve documentation for ASSERT_CAPABILITY

Previous description didn't actually state the effect the attribute has on
thread safety analysis (causing analysis to assume the capability is held).

Previous description was also ambiguous about (or slightly overstated) the
noreturn assumption made by thread safety analysis, implying the assumption had
to be true about the function's behavior in general, and not just its behavior
in places where it's used. Stating the assumption specifically should avoid a
perceived need to disable thread safety analysis in places where only asserting
that a specific capability is held would be better.

Reviewed By: aaronpuchert, vasild

Differential Revision: https://reviews.llvm.org/D87629
The file was modifiedclang/docs/ThreadSafetyAnalysis.rst (diff)
Commit 6d374cf78c8a80a0bbfc7ce9bc80b3f183f44c80 by llvm-dev
[X86] Add 64-bit target tests
The file was modifiedllvm/test/CodeGen/X86/2012-07-10-extload64.ll (diff)
Commit 400bdbc4220bcae0589b583604ca0af74348a139 by i
[ConstraintElimination] Internalize function/class and delete an implied condition. NFC

Delete an implied condition (E.NumIn <= CB.NumIn)
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp (diff)
Commit 485501899d6c752ff05f4e045f7f89ace39ec413 by aaronpuchert
Fix sphinx warnings in AttributeReference, NFC

The previous attempt in d34c8c70 didn't help (the problem was missing
indentation), and another issue was introduced by a51d51a0.
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
Commit 6f24774fc4e296b9047e5873c070af4e0fd638e5 by amy.kwan1
[NFC][PowerPC] Change PPCSubTarget (introduced from D87671) to Subtarget

In D87671, it introduced PPCSubTarget in PPCISelDAGToDAG. This should have been
Subtarget instead. This patch changes PPCSubTarget into Subtarget.
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (diff)
Commit 20e9c36c013c4a9b13cf256ca5262afe3def78ad by i
Internalize functions from various tools. NFC

And internalize some classes if I noticed them:)
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp (diff)
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp (diff)
The file was modifiedllvm/utils/TableGen/SubtargetEmitter.cpp (diff)
The file was modifiedllvm/tools/llvm-xray/xray-stacks.cpp (diff)
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp (diff)
The file was modifiedllvm/tools/llvm-ifs/llvm-ifs.cpp (diff)
The file was modifiedllvm/tools/sanstats/sanstats.cpp (diff)
The file was modifiedllvm/tools/llvm-dwp/llvm-dwp.cpp (diff)
The file was modifiedllvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp (diff)
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp (diff)
The file was modifiedllvm/tools/llvm-cvtres/llvm-cvtres.cpp (diff)
The file was modifiedllvm/tools/llvm-mt/llvm-mt.cpp (diff)
The file was modifiedllvm/tools/opt/opt.cpp (diff)
The file was modifiedllvm/utils/TableGen/RegisterInfoEmitter.cpp (diff)
Commit 55f727306e727ea9f013d09c9b8aa70dbce6a1bd by devteam.codafi
[LLVM-C] Turn a ShuffleVector Constant Into a Getter.

It is not a good idea to expose raw constants in the LLVM C API. Replace this with an explicit getter.

Differential Revision: https://reviews.llvm.org/D88367
The file was modifiedllvm/tools/llvm-c-test/echo.cpp (diff)
The file was modifiedllvm/lib/IR/Core.cpp (diff)
The file was modifiedllvm/include/llvm-c/Core.h (diff)