FailedChanges

Summary

  1. [LLParser] Remove unused variable after r359987. NFC
  2. [LLParser] Remove unnecessary error check making sure NUW/NSW flags aren't set on a non-integer operation. Summary: This check appears to be a leftover from when add/sub/mul could be either integer or fp. The NSW/NUW flags are only set for add/sub/mul/shl earlier. And we check that those operations only have integer types just below this. So it seems unnecessary to explicitly error for NUW/NSW being used on a add/sub/mul that have the wrong type that would later error for that. Reviewers: spatel, dblaikie, jyknight, arsenm Reviewed By: spatel Subscribers: wdng, llvm-commits, hiraditya Tags: #llvm Differential Revision: https://reviews.llvm.org/D61562
  3. [LLParser] Simplify type checking in ParseArithmetic and ParseUnaryOp. Summary: These methods previously took a 0, 1, or 2 to indicate what types were allowed, but the 0 encoding which meant both fp and integer types has been unused for years. Its leftover from when add/sub/mul used to be shared between int and fp Simplify it by changing it to just a bool to distinquish int and fp. Reviewers: spatel, dblaikie, jyknight, arsenm Reviewed By: spatel Subscribers: wdng, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61561
  4. [Constants] Simplify type checking switch in ConstantExpr::get. Summary: Remove duplicate checks that both operands have the same type. This is checked before the switch. Use 'integer' or 'floating-point' instead of 'arithmetic' type. I think this might be a leftover to the days when floating point and integer operations shared the same opcodes. Reviewers: spatel, RKSimon, dblaikie Reviewed By: RKSimon Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61558
  5. [MCA] Notify event listeners when instructions transition to the Pending state. NFCI
  6. Add FNeg IR constant folding support
  7. [X86] Make X86RegisterInfo(const Triple &TT) constructor explicit. Fixes cppcheck warning.
  8. [X86] Fix some cppcheck "Local variable name shadows outer variable" warnings. NFCI.
  9. [SLPVectorizer] Make getSpillCost() const. NFCI. Ideally getTreeCost() should be const as well but non-const Type creation would need to be addressed first.
  10. [SelectionDAG] Use any_of/all_of where possible. NFCI.
  11. Move Value *RHSCIOp def into the scope where its actually used. NFCI.
  12. Add InstCombine tests for FNeg instruction.
  13. [CodeGenPrepare] limit overflow intrinsic matching to a single basic block (2nd try) This is a subset of the original commit from rL359879 which was reverted because it could crash when using the 'RemovedInstructions' structure that enables delayed deletion of dead instructions. The motivating compile-time win does not require that change though. We should get most of that win from this change alone. Using/updating a dominator tree to match math overflow patterns may be very expensive in compile-time (because of the way CGP uses a DT), so just handle the single-block case. See post-commit thread for rL354298 for more details: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190422/646276.html Differential Revision: https://reviews.llvm.org/D61075
  14. [llvm-nm] Convert weak.test to use yaml2obj and fix unntested 'v' This restores part of the good change reverted by r359830.
  15. [AMDGPU] Fixed asan error after D61536
Revision 359988 by ctopper:
[LLParser] Remove unused variable after r359987. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/AsmParser/LLParser.cpptrunk/lib/AsmParser/LLParser.cpp
Revision 359987 by ctopper:
[LLParser] Remove unnecessary error check making sure NUW/NSW flags aren't set on a non-integer operation.

Summary: This check appears to be a leftover from when add/sub/mul could be either integer or fp. The NSW/NUW flags are only set for add/sub/mul/shl earlier. And we check that those operations only have integer types just below this. So it seems unnecessary to explicitly error for NUW/NSW being used on a add/sub/mul that have the wrong type that would later error for that.

Reviewers: spatel, dblaikie, jyknight, arsenm

Reviewed By: spatel

Subscribers: wdng, llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61562
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/AsmParser/LLParser.cpptrunk/lib/AsmParser/LLParser.cpp
Revision 359986 by ctopper:
[LLParser] Simplify type checking in ParseArithmetic and ParseUnaryOp.

Summary:
These methods previously took a 0, 1, or 2 to indicate what types were allowed, but the 0 encoding which meant both fp and integer types has been unused for years. Its leftover from when add/sub/mul used to be shared between int and fp

Simplify it by changing it to just a bool to distinquish int and fp.

Reviewers: spatel, dblaikie, jyknight, arsenm

Reviewed By: spatel

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61561
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/AsmParser/LLParser.cpptrunk/lib/AsmParser/LLParser.cpp
The file was modified/llvm/trunk/lib/AsmParser/LLParser.htrunk/lib/AsmParser/LLParser.h
Revision 359985 by ctopper:
[Constants] Simplify type checking switch in ConstantExpr::get.

Summary:
Remove duplicate checks that both operands have the same type. This is checked
before the switch.

Use 'integer' or 'floating-point' instead of 'arithmetic' type. I think this
might be a leftover to the days when floating point and integer operations
shared the same opcodes.

Reviewers: spatel, RKSimon, dblaikie

Reviewed By: RKSimon

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61558
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/IR/Constants.cpptrunk/lib/IR/Constants.cpp
Revision 359983 by adibiagio:
[MCA] Notify event listeners when instructions transition to the Pending state. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MCA/HWEventListener.htrunk/include/llvm/MCA/HWEventListener.h
The file was modified/llvm/trunk/include/llvm/MCA/HardwareUnits/Scheduler.htrunk/include/llvm/MCA/HardwareUnits/Scheduler.h
The file was modified/llvm/trunk/include/llvm/MCA/Stages/ExecuteStage.htrunk/include/llvm/MCA/Stages/ExecuteStage.h
The file was modified/llvm/trunk/lib/MCA/HardwareUnits/Scheduler.cpptrunk/lib/MCA/HardwareUnits/Scheduler.cpp
The file was modified/llvm/trunk/lib/MCA/Stages/ExecuteStage.cpptrunk/lib/MCA/Stages/ExecuteStage.cpp
Revision 359982 by mcinally:
Add FNeg IR constant folding support
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ConstantFolding.htrunk/include/llvm/Analysis/ConstantFolding.h
The file was modified/llvm/trunk/lib/Analysis/ConstantFolding.cpptrunk/lib/Analysis/ConstantFolding.cpp
The file was modified/llvm/trunk/lib/IR/ConstantFold.cpptrunk/lib/IR/ConstantFold.cpp
The file was modified/llvm/trunk/lib/IR/ConstantFold.htrunk/lib/IR/ConstantFold.h
The file was modified/llvm/trunk/lib/IR/Constants.cpptrunk/lib/IR/Constants.cpp
The file was added/llvm/trunk/test/Analysis/ConstantFolding/fneg.lltrunk/test/Analysis/ConstantFolding/fneg.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fneg.lltrunk/test/Transforms/InstCombine/fneg.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/fsub.lltrunk/test/Transforms/InstCombine/fsub.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/inselt-binop.lltrunk/test/Transforms/InstCombine/inselt-binop.ll
The file was modified/llvm/trunk/test/Transforms/Reassociate/crash2.lltrunk/test/Transforms/Reassociate/crash2.ll
The file was modified/llvm/trunk/unittests/IR/ConstantsTest.cpptrunk/unittests/IR/ConstantsTest.cpp
Revision 359981 by rksimon:
[X86] Make X86RegisterInfo(const Triple &TT) constructor explicit.

Fixes cppcheck warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86RegisterInfo.htrunk/lib/Target/X86/X86RegisterInfo.h
Revision 359976 by rksimon:
[X86] Fix some cppcheck "Local variable name shadows outer variable" warnings. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 359975 by rksimon:
[SLPVectorizer] Make getSpillCost() const. NFCI.

Ideally getTreeCost() should be const as well but non-const Type creation would need to be addressed first.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpptrunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
Revision 359974 by rksimon:
[SelectionDAG] Use any_of/all_of where possible. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpptrunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Revision 359973 by rksimon:
Move Value *RHSCIOp def into the scope where its actually used. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpptrunk/lib/Transforms/InstCombine/InstCombineCompares.cpp
Revision 359970 by mcinally:
Add InstCombine tests for FNeg instruction.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/fneg.lltrunk/test/Transforms/InstCombine/fneg.ll
Revision 359969 by spatel:
[CodeGenPrepare] limit overflow intrinsic matching to a single basic block (2nd try)

This is a subset of the original commit from rL359879
which was reverted because it could crash when using the 'RemovedInstructions'
structure that enables delayed deletion of dead instructions. The motivating
compile-time win does not require that change though. We should get most of
that win from this change alone.

Using/updating a dominator tree to match math overflow patterns may be very
expensive in compile-time (because of the way CGP uses a DT), so just handle
the single-block case.

See post-commit thread for rL354298 for more details:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190422/646276.html

Differential Revision: https://reviews.llvm.org/D61075
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/CodeGenPrepare.cpptrunk/lib/CodeGen/CodeGenPrepare.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/cgp-usubo.lltrunk/test/CodeGen/X86/cgp-usubo.ll
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.lltrunk/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.lltrunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
Revision 359965 by maskray:
[llvm-nm] Convert weak.test to use yaml2obj and fix unntested 'v'

This restores part of the good change reverted by r359830.
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-nm/X86/Inputs/weak.obj.elf-x86_64trunk/test/tools/llvm-nm/X86/Inputs/weak.obj.elf-x86_64
The file was modified/llvm/trunk/test/tools/llvm-nm/X86/weak.testtrunk/test/tools/llvm-nm/X86/weak.test
Revision 359963 by rampitec:
[AMDGPU] Fixed asan error after D61536
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNHazardRecognizer.cpptrunk/lib/Target/AMDGPU/GCNHazardRecognizer.cpp

Summary

  1. Revert rL359962 : Use DiagRuntimeBehavior for -Wunsequenced to weed out false positives where either the modification or the other access is unreachable. ........ Try to fix buildbots
  2. [clang] fixing -ast-print for variadic parameter pack in lambda capture Summary: currently for: ``` template<typename ... T> void f(T... t) { auto l = [t...]{}; } ``` `clang -ast-print file.cpp` outputs: ``` template <typename ...T> void f(T ...t) { auto l = [t] { } ; } ``` notice that there is not `...` in the capture list of the lambda. this patch fixes this issue. and add test for it. Patch by Tyker Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61556
  3. [C++] Interpret unknown identifier in parameter clause as unknown type instead of as parameter name without a type.
  4. [NFC] Add parentheses to avoid -Wparentheses.
  5. [c++20] Implement P0428R2 - Familiar template syntax for generic lambdas Differential Revision: https://reviews.llvm.org/D36527
  6. [c++20] Implement tweaked __VA_OPT__ rules from P1042R1: * __VA_OPT__ is expanded if the *expanded* __VA_ARGS__ is non-empty, not if the original argument contained no tokens. * Placemarkers at the start and end of __VA_OPT__ are retained just long enough to paste them with adjacent ## operators. We never paste "across" a discarded placemarker.
  7. Use DiagRuntimeBehavior for -Wunsequenced to weed out false positives where either the modification or the other access is unreachable.
Revision 359984 by rksimon:
Revert rL359962 : Use DiagRuntimeBehavior for -Wunsequenced to weed out false positives
where either the modification or the other access is unreachable.
........
Try to fix buildbots
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/ScopeInfo.htrunk/include/clang/Sema/ScopeInfo.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpptrunk/lib/Sema/AnalysisBasedWarnings.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpptrunk/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpptrunk/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/Sema/warn-unsequenced.ctrunk/test/Sema/warn-unsequenced.c
The file was modified/cfe/trunk/test/SemaCXX/warn-unsequenced.cpptrunk/test/SemaCXX/warn-unsequenced.cpp
Revision 359980 by rakete1111:
[clang] fixing -ast-print for variadic parameter pack in lambda capture

Summary:
currently for:
```
template<typename ... T>
void f(T... t) {
  auto l = [t...]{};
}
```
`clang -ast-print file.cpp`
outputs:

```
template <typename ...T> void f(T ...t) {
    auto l = [t]         {
        }
;
}
```
notice that there is not `...` in the capture list of the lambda. this patch fixes this issue. and add test for it.

Patch by Tyker

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D61556
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cpptrunk/lib/AST/StmtPrinter.cpp
The file was added/cfe/trunk/test/AST/ast-printer-lambda.cpptrunk/test/AST/ast-printer-lambda.cpp
Revision 359979 by rakete1111:
[C++] Interpret unknown identifier in parameter clause as unknown type

instead of as parameter name without a type.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpptrunk/lib/Parse/ParseDecl.cpp
The file was modified/cfe/trunk/test/Parser/editor-placeholder-recovery.cpptrunk/test/Parser/editor-placeholder-recovery.cpp
The file was modified/cfe/trunk/test/SemaCXX/unknown-type-name.cpptrunk/test/SemaCXX/unknown-type-name.cpp
Revision 359968 by rakete1111:
[NFC] Add parentheses to avoid -Wparentheses.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpptrunk/lib/Parse/ParseDecl.cpp
Revision 359967 by hamzasood:
[c++20] Implement P0428R2 - Familiar template syntax for generic lambdas

Differential Revision: https://reviews.llvm.org/D36527
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.htrunk/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/include/clang/AST/DeclTemplate.htrunk/include/clang/AST/DeclTemplate.h
The file was modified/cfe/trunk/include/clang/AST/ExprCXX.htrunk/include/clang/AST/ExprCXX.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.htrunk/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.tdtrunk/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Parse/Parser.htrunk/include/clang/Parse/Parser.h
The file was modified/cfe/trunk/include/clang/Sema/ScopeInfo.htrunk/include/clang/Sema/ScopeInfo.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpptrunk/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpptrunk/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/ExprCXX.cpptrunk/lib/AST/ExprCXX.cpp
The file was modified/cfe/trunk/lib/AST/ItaniumMangle.cpptrunk/lib/AST/ItaniumMangle.cpp
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cpptrunk/lib/AST/StmtPrinter.cpp
The file was modified/cfe/trunk/lib/AST/TypePrinter.cpptrunk/lib/AST/TypePrinter.cpp
The file was modified/cfe/trunk/lib/Parse/ParseExprCXX.cpptrunk/lib/Parse/ParseExprCXX.cpp
The file was modified/cfe/trunk/lib/Sema/Sema.cpptrunk/lib/Sema/Sema.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLambda.cpptrunk/lib/Sema/SemaLambda.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpptrunk/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/test/CXX/temp/temp.decls/temp.variadic/p4.cpptrunk/test/CXX/temp/temp.decls/temp.variadic/p4.cpp
The file was added/cfe/trunk/test/CodeGenCXX/mangle-lambda-explicit-template-params.cpptrunk/test/CodeGenCXX/mangle-lambda-explicit-template-params.cpp
The file was modified/cfe/trunk/test/Index/print-display-names.cpptrunk/test/Index/print-display-names.cpp
The file was modified/cfe/trunk/test/PCH/cxx11-lambdas.mmtrunk/test/PCH/cxx11-lambdas.mm
The file was modified/cfe/trunk/test/PCH/cxx1y-lambdas.mmtrunk/test/PCH/cxx1y-lambdas.mm
The file was added/cfe/trunk/test/PCH/cxx2a-template-lambdas.cpptrunk/test/PCH/cxx2a-template-lambdas.cpp
The file was added/cfe/trunk/test/Parser/cxx2a-template-lambdas.cpptrunk/test/Parser/cxx2a-template-lambdas.cpp
The file was added/cfe/trunk/test/SemaCXX/cxx2a-template-lambdas.cpptrunk/test/SemaCXX/cxx2a-template-lambdas.cpp
The file was modified/cfe/trunk/unittests/AST/StmtPrinterTest.cpptrunk/unittests/AST/StmtPrinterTest.cpp
The file was added/cfe/trunk/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpptrunk/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp
The file was modified/cfe/trunk/www/cxx_status.htmltrunk/www/cxx_status.html
Revision 359964 by rsmith:
[c++20] Implement tweaked __VA_OPT__ rules from P1042R1:

* __VA_OPT__ is expanded if the *expanded* __VA_ARGS__ is non-empty,
   not if the original argument contained no tokens.
* Placemarkers at the start and end of __VA_OPT__ are retained just
   long enough to paste them with adjacent ## operators. We never paste
   "across" a discarded placemarker.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Lex/MacroArgs.htrunk/include/clang/Lex/MacroArgs.h
The file was modified/cfe/trunk/include/clang/Lex/VariadicMacroSupport.htrunk/include/clang/Lex/VariadicMacroSupport.h
The file was modified/cfe/trunk/lib/Lex/MacroArgs.cpptrunk/lib/Lex/MacroArgs.cpp
The file was modified/cfe/trunk/lib/Lex/TokenLexer.cpptrunk/lib/Lex/TokenLexer.cpp
The file was modified/cfe/trunk/test/Preprocessor/macro_vaopt_expand.cpptrunk/test/Preprocessor/macro_vaopt_expand.cpp
The file was added/cfe/trunk/test/Preprocessor/macro_vaopt_p1042r1.cpptrunk/test/Preprocessor/macro_vaopt_p1042r1.cpp
The file was modified/cfe/trunk/www/cxx_status.htmltrunk/www/cxx_status.html
Revision 359962 by rsmith:
Use DiagRuntimeBehavior for -Wunsequenced to weed out false positives
where either the modification or the other access is unreachable.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/ScopeInfo.htrunk/include/clang/Sema/ScopeInfo.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpptrunk/lib/Sema/AnalysisBasedWarnings.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpptrunk/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpptrunk/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/Sema/warn-unsequenced.ctrunk/test/Sema/warn-unsequenced.c
The file was modified/cfe/trunk/test/SemaCXX/warn-unsequenced.cpptrunk/test/SemaCXX/warn-unsequenced.cpp