FailedChanges

Summary

  1. [TargetLowering] Strip tailing whitespace (NFC) (details)
  2. [EarlyCSE] add tests for commutative intrinsics; NFC (details)
  3. [EarlyCSE] fold commutable intrinsics (details)
  4. [Instruction] Speculatively undo isIdenticalToWhenDefined() PHI handling changes (details)
  5. [Sema] ICK_Function_Conversion is a third kind conversion (details)
  6. [Sema] Simplify ShouldDiagnoseUnusedDecl, NFC (details)
Commit 51d34c0c5357eef2c8b1cf0311a075200f16bb27 by nikita.ppv
[TargetLowering] Strip tailing whitespace (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit f90d73eab6e550788634d70ec2ca6391648cb540 by spatel
[EarlyCSE] add tests for commutative intrinsics; NFC
The file was modifiedllvm/test/Transforms/EarlyCSE/commute.ll
Commit 096527214033772e8d80fdefd8a018b9bfa20021 by spatel
[EarlyCSE] fold commutable intrinsics

Handling the new min/max intrinsics is the motivation, but it
turns out that we have a bunch of other intrinsics with this
missing bit of analysis too.

The FP min/max tests show that we are intersecting FMF,
so that part should be safe too.

As noted in https://llvm.org/PR46897 , there is a commutative
property specifier for intrinsics, but no corresponding function
attribute, and so apparently no uses of that bit. We may want to
remove that next.

Follow-up patches should wire up the Instruction::isCommutative()
to this IntrinsicInst specialization. That requires updating
callers to be aware of the more general commutative property
(not just binops).

Differential Revision: https://reviews.llvm.org/D86798
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/test/Transforms/EarlyCSE/commute.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit 5ec2b757cc7d37ff0d03b36ee863b0962fe78108 by lebedev.ri
[Instruction] Speculatively undo isIdenticalToWhenDefined() PHI handling changes

The stage2-stage3 differences persist even without instcombine-based
PHI CSE, so this is the only possible reason.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/IR/Instruction.cpp
Commit b4a2d36c3f74ea5574cd03a9c1a704bcffb1869e by aaronpuchert
[Sema] ICK_Function_Conversion is a third kind conversion

Not sure if this has any effect, but it was inconsistent before.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D67113
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 85fce449dc43447bf9d75163bda81e157f5b73e7 by aaronpuchert
[Sema] Simplify ShouldDiagnoseUnusedDecl, NFC

Instead of writing to a flag and then returning based on that flag we
can also return directly. The flag name also doesn't provide additional
information, it just reflects the name of the function (isReferenced).
The file was modifiedclang/lib/Sema/SemaDecl.cpp