FailedChanges

Summary

  1. [NFC] Corrected a minor typo in a comment (details)
  2. Detect and disable openmp tests that require multiple hardware processor to run (details)
  3. [ConstantFold] fold fsub -0.0, undef to undef rather than NaN (details)
  4. [DependenceAnalysis] Memory dependence analysis internal caching mechanism is broken in presence of TBAA (PR42733). (details)
  5. [Hexagon] Introduce noop intrinsic to cast between vector predicate types (details)
  6. [mlir] Add a signedness semantics bit to IntegerType (details)
  7. [TargetLowering] SimplifyDemandedBits - use getValidShiftAmountConstant helper. (details)
  8. [X86] Regenerate hi reg tests (details)
  9. [Error/unittests] Add a FailedWithMessage gtest matcher (details)
  10. [PowerPC][NFC] Remove Darwin specific logic in frame finalization. (details)
  11. [AST][NFC] Update outdated comments in ASTStructuralEquivalence.cpp (details)
  12. [PowerPC][NFC] Add a test for vrsave usage iinline asm. (details)
  13. [lldb/DWARF] Add support for type units in dwp files (details)
  14. Remove unused functions in llvm-ml (details)
  15. [mlir] Silence error: call to constructor of 'llvm::APInt' is ambiguous (details)
Commit a24d46318f669b3882f6c87f58633098e2a157bf by sguelton
[NFC] Corrected a minor typo in a comment
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
The file was modifiedllvm/lib/Target/ARM/README-Thumb.txt
Commit 99b03c1c18de3e4228e31ef04d38f2d530d335be by sguelton
Detect and disable openmp tests that require multiple hardware processor to run

Team tests seem to require at least two physical cores, and using the same trick
as in https://reviews.llvm.org/D55598 doesn't work (why?) .
Using lit configuration instead.

Differential Revision: https://reviews.llvm.org/D74921
The file was modifiedopenmp/runtime/test/ompt/teams/parallel_team.c
The file was modifiedopenmp/runtime/test/lit.cfg
The file was modifiedopenmp/runtime/test/ompt/teams/serial_teams.c
Commit d799190851fdd94800428ba335f864ce5fd8135b by spatel
[ConstantFold] fold fsub -0.0, undef to undef rather than NaN

A question about this behavior came up on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2020-February/139003.html
...and as part of backend improvements in D73978, but this is an IR
change first because we already have fairly thorough tests in place
here.

We decided not to implement a more general change that would have
folded any FP binop with nearly arbitrary constant + undef operand
to undef because that is not theoretically correct (even if it is
practically correct).

Differential Revision: https://reviews.llvm.org/D74713
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Analysis/ConstantFolding/fp-undef.ll
Commit b0761bbc7639d0901d623e1fbf53ccf6ce066b16 by evgueni.brevnov
[DependenceAnalysis] Memory dependence analysis internal caching mechanism is broken in presence of TBAA (PR42733).

Summary:
There is a flaw in memory dependence analysis caching mechanism when memory accesses with TBAA are involved. Assume we first analysed and cached results for access with TBAA. Later we request dependence for the same memory but without TBAA (or different TBAA). By design these two queries should share one entry in the internal cache which corresponds to a general access (without TBAA).  Thus upon second request internal cached is cleared and we continue analysis for access as if there is no TBAA.

The problem is that even though internal cache is cleared the set of visited nodes is not. That means we won't traverse visited nodes again and populate internal cache with the corresponding dependence results. So we end up  with internal cache in an incomplete state. Current implementation tries to signal that situation by resetting CacheInfo->Pair at line 1104. But that doesn't actually help since later code ignores this invalidation and relies on 'Cache->empty()' property to decide on cache completeness.

Reviewers: reames, hfinkel, chandlerc, fedor.sergeev, asbirlea, fhahn, john.brawn, Prazek, sunfish

Reviewed By: john.brawn

Subscribers: DaniilSuchkov, kosarev, jfb, dantrushin, hiraditya, bmahjour, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D73032
The file was addedllvm/test/Analysis/MemoryDependenceAnalysis/memdep_with_tbaa.ll
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
Commit c51b0bede82b9eeddce78151dfc257cf738bf367 by kparzysz
[Hexagon] Introduce noop intrinsic to cast between vector predicate types

The (overloaded) intrinsic is llvm.hexagon.V6.pred.typecast[.128B]. The
types of the operand and the return value are HVX boolean vector types.
For each cast, there needs to be a corresponding intrinsic declared,
with different suffixes appended to the name, e.g.
  ; cast <128 x i1> to <32 x i1>
  declare <32 x i1> @llvm.hexagon.V6.pred.typecast.128B.s1(<128 x i1>)
  ; cast <32 x i1> to <64 x i1>
  declare <64 x i1> @llvm.hexagon.V6.pred.typecast.128B.s2(<32 x i1>)
etc.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was addedllvm/test/CodeGen/Hexagon/autohvx/vector-predicate-typecast.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsHexagon.td
Commit 35b685270b410f6a1351c2a527021f22330c25b9 by antiagainst
[mlir] Add a signedness semantics bit to IntegerType

Thus far IntegerType has been signless: a value of IntegerType does
not have a sign intrinsically and it's up to the specific operation
to decide how to interpret those bits. For example, std.addi does
two's complement arithmetic, and std.divis/std.diviu treats the first
bit as a sign.

This design choice was made some time ago when we did't have lots
of dialects and dialects were more rigid. Today we have much more
extensible infrastructure and different dialect may want different
modelling over integer signedness. So while we can say we want
signless integers in the standard dialect, we cannot dictate for
others. Requiring each dialect to model the signedness semantics
with another set of custom types is duplicating the functionality
everywhere, considering the fundamental role integer types play.

This CL extends the IntegerType with a signedness semantics bit.
This gives each dialect an option to opt in signedness semantics
if that's what they want and helps code sharing. The parser is
modified to recognize `si[1-9][0-9]*` and `ui[1-9][0-9]*` as
signed and unsigned integer types, respectively, leaving the
original `i[1-9][0-9]*` to continue to mean no indication over
signedness semantics. All existing dialects are not affected (yet)
as this is a feature to opt in.

More discussions can be found at:

https://groups.google.com/a/tensorflow.org/d/msg/mlir/XmkV8HOPWpo/7O4X0Nb_AQAJ

Differential Revision: https://reviews.llvm.org/D72533
The file was modifiedmlir/lib/Dialect/AffineOps/EDSC/Builders.cpp
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/include/mlir/IR/Matchers.h
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/test/lib/TestDialect/TestDialect.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/lib/IR/TypeDetail.h
The file was modifiedmlir/lib/Parser/Token.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Ops.td
The file was modifiedmlir/lib/Dialect/SPIRV/TargetAndABI.cpp
The file was modifiedmlir/include/mlir/Dialect/QuantOps/QuantPredicates.td
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/VectorOps/VectorOps.td
The file was modifiedmlir/docs/Rationale.md
The file was modifiedmlir/test/mlir-tblgen/predicate.td
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/Parser/Token.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/include/mlir/IR/Operation.h
The file was modifiedmlir/lib/Parser/TokenKinds.def
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/FxpMathOps/Transforms/UniformKernelUtils.h
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Ops.cpp
The file was modifiedmlir/lib/Parser/Lexer.cpp
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/test/lib/TestDialect/TestPatterns.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/include/mlir/Dialect/QuantOps/UniformSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/docs/LangRef.md
The file was modifiedmlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.td
Commit 86c52af05a64c4aa9d61984eeda8fb7849a4b0fa by llvm-dev
[TargetLowering] SimplifyDemandedBits - use getValidShiftAmountConstant helper.

Use the SelectionDAG::getValidShiftAmountConstant helper to get const/constsplat shift amounts, which allows us to drop the out of range shift amount early-out.

First step towards better non-uniform shift amount support in SimplifyDemandedBits.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit d33e96b68c6f6424dc81145b1301f4cd478e84a2 by llvm-dev
[X86] Regenerate hi reg tests
The file was modifiedllvm/test/CodeGen/X86/h-register-addressing-32.ll
The file was modifiedllvm/test/CodeGen/X86/h-register-addressing-64.ll
Commit b55c58a2d569f2d92333b05c1a7a00114d75e0a6 by pavel
[Error/unittests] Add a FailedWithMessage gtest matcher

Summary:
We already have a "Failed" matcher, which can be used to check any
property of the Error object. However, most frequently one just wants to
check the error message, and while this is possible with the "Failed"
matcher, it is also very convoluted
(Failed<ErrorInfoBase>(testing::Property(&ErrorInfoBase::message, "the
message"))).

Now, one can just write: FailedWithMessage("the message"). I expect that
most of the usages will remain this simple, but the argument of the
matcher is not limited to simple strings -- the argument of the matcher
can be any other matcher, so one can write more complicated assertions
if needed (FailedWithMessage(ContainsRegex("foo|bar"))). If one wants to
match multiple error messages, he can pass multiple arguments to the
matcher.

If one wants to match the message list as a whole (perhaps to check the
message count), I've also included a FailedWithMessageArray matcher,
which takes a single matcher receiving a vector of error message
strings.

Reviewers: sammccall, dblaikie, jhenderson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74898
The file was modifiedllvm/unittests/Support/ErrorTest.cpp
The file was modifiedllvm/include/llvm/Testing/Support/Error.h
Commit 4fdaac0e1eb8e75fe59de0bd01cf72329dacbdb4 by sd.fertile
[PowerPC][NFC] Remove Darwin specific logic in frame finalization.

Remove some cumbersome Darwin specific logic for updating the frame
offsets of the condition-register spill slots. The containing function has an
early return if the subtarget is not ELF based which makes the Darwin logic
dead.
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Commit a49a41e7855fad426abf6ee9b8b88a535e8d33cc by gabor.marton
[AST][NFC] Update outdated comments in ASTStructuralEquivalence.cpp
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
Commit 175f6e309ab911d43ab21707587615341112f3b5 by sd.fertile
[PowerPC][NFC] Add a test for vrsave usage iinline asm.

Add a lit test that that uses vrsave register in the clobber list, and
tests the extended mnemonics mtvrsave and mfvrsave.
The file was addedllvm/test/CodeGen/PowerPC/vrsave-inline-asm.ll
Commit de8793b9184ece0d24f46bc2d86711092848f938 by pavel
[lldb/DWARF] Add support for type units in dwp files

all that was needed was to teach lldb's DWARF context about the
debug_tu_index section.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/dwp-debug-types.s
Commit f0c642e82274158f692d184de177be65eba814c1 by epastor
Remove unused functions in llvm-ml

On review, these functions will likely not be needed even in the final MasmParser.
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
Commit 5125803d344b848cdfc9441edfcc36dc8e488407 by alexandre.ganea
[mlir] Silence error: call to constructor of 'llvm::APInt' is ambiguous

I was getting this error when using Clang 9.0.1 for compiling.

F:\llvm-project\mlir\lib\IR\Builders.cpp(119,27): error: call to constructor of 'llvm::APInt' is ambiguous
                          APInt(32, value, /*isSigned=*/false));
                          ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
F:\llvm-project\llvm\include\llvm/ADT/APInt.h(277,3): note: candidate constructor
  APInt(unsigned numBits, uint64_t val, bool isSigned = false)
  ^
F:\llvm-project\llvm\include\llvm/ADT/APInt.h(304,3): note: candidate constructor
  APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[]);
  ^
1 error generated.
The file was modifiedmlir/lib/IR/Builders.cpp