SuccessChanges

Summary

  1. Revert r372325 - Reverting r372323 because it broke color tests on Linux. This corrects the testing issues.
  2. [DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863) This patch converts the DAGCombine isNegatibleForFree/GetNegatedExpression into overridable TLI hooks and includes a demonstration X86 implementation. The intention is to let us extend existing FNEG combines to work more generally with negatible float ops, allowing it work with target specific combines and opcodes (e.g. X86's FMA variants). Unlike the SimplifyDemandedBits, we can't just handle target nodes through a Target callback, we need to do this as an override to allow targets to handle generic opcodes as well. This does mean that the target implementations has to duplicate some checks (recursion depth etc.). I've only begun to replace X86's FNEG handling here, handling FMADDSUB/FMSUBADD negation and some low impact codegen changes (some FMA negatation propagation). We can build on this in future patches. Differential Revision: https://reviews.llvm.org/D67557
  3. [DAGCombiner] Add node to the worklist in topological order in scalarizeExtractedVectorLoad Summary: As per title. Reviewers: craig.topper, efriedma, RKSimon, lebedev.ri Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66661
  4. [docs] Break long (>80) line. NFC
  5. Reverting r372323 because it broke color tests on Linux. http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/17919
  6. [Float2Int] auto-generate complete test checks; NFC
  7. Remove an unsafe member variable that wasn't needed; NFC. People use the AST dumping interface while debugging, so it's not safe to assume that a declaration will be dumped before a constant expression is dumped. This means the Context member may not get set properly and problems would happen. Rather than rely on the interface that requires the ASTContext, call the generic dump() interface instead; this allows us to remove the Context member variable.
Revision 372334 by aaronballman:
Revert r372325 - Reverting r372323 because it broke color tests on Linux.

This corrects the testing issues.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.h (diff)clang.src/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-color.cpp (diff)clang.src/test/AST/ast-dump-color.cpp
Revision 372333 by rksimon:
[DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863)

This patch converts the DAGCombine isNegatibleForFree/GetNegatedExpression into overridable TLI hooks and includes a demonstration X86 implementation.

The intention is to let us extend existing FNEG combines to work more generally with negatible float ops, allowing it work with target specific combines and opcodes (e.g. X86's FMA variants).

Unlike the SimplifyDemandedBits, we can't just handle target nodes through a Target callback, we need to do this as an override to allow targets to handle generic opcodes as well. This does mean that the target implementations has to duplicate some checks (recursion depth etc.).

I've only begun to replace X86's FNEG handling here, handling FMADDSUB/FMSUBADD negation and some low impact codegen changes (some FMA negatation propagation). We can build on this in future patches.

Differential Revision: https://reviews.llvm.org/D67557
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff)llvm.src/lib/Target/X86/X86ISelLowering.h
The file was modified/llvm/trunk/test/CodeGen/X86/recip-fastmath.ll (diff)llvm.src/test/CodeGen/X86/recip-fastmath.ll
The file was modified/llvm/trunk/test/CodeGen/X86/recip-fastmath2.ll (diff)llvm.src/test/CodeGen/X86/recip-fastmath2.ll
Revision 372327 by deadalnix:
[DAGCombiner] Add node to the worklist in topological order in scalarizeExtractedVectorLoad

Summary: As per title.

Reviewers: craig.topper, efriedma, RKSimon, lebedev.ri

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66661
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Revision 372326 by fpetrogalli:
[docs] Break long (>80) line. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/Frontend/PerformanceTips.rst (diff)llvm.src/docs/Frontend/PerformanceTips.rst
Revision 372325 by aaronballman:
Reverting r372323 because it broke color tests on Linux.

http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/17919
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.h (diff)clang.src/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
Revision 372324 by spatel:
[Float2Int] auto-generate complete test checks; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/Float2Int/basic.ll (diff)llvm.src/test/Transforms/Float2Int/basic.ll
Revision 372323 by aaronballman:
Remove an unsafe member variable that wasn't needed; NFC.

People use the AST dumping interface while debugging, so it's not safe to assume that a declaration will be dumped before a constant expression is dumped. This means the Context member may not get set properly and problems would happen. Rather than rely on the interface that requires the ASTContext, call the generic dump() interface instead; this allows us to remove the Context member variable.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.h (diff)clang.src/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp