This method previously always recursively checked both the left-hand side and right-hand side of binary operations for splatted (broadcast) values to determine if the parent DAG node is a splat. For chained operations, such as the 10,000 adds of the dEQP-VK.spirv_assembly. instruction.graphics.spirv_ids_abuse.lots_ids_frag/vert tests, very deep recursion could result in stack overflow. Like several other SelectionDAG methods, limit the recursion depth to MaxRecursionDepth (6). Bug: b/173785481 Change-Id: I22ee0453db7cf1311267291a331ad8fa3b57b1d9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50672 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:Jason Macnak <natsu@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Jason Macnak <natsu@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| CMakeLists.txt | Loading commit data... | |
| DAGCombiner.cpp | Loading commit data... | |
| FastISel.cpp | Loading commit data... | |
| FunctionLoweringInfo.cpp | Loading commit data... | |
| InstrEmitter.cpp | Loading commit data... | |
| InstrEmitter.h | Loading commit data... | |
| LLVMBuild.txt | Loading commit data... | |
| LegalizeDAG.cpp | Loading commit data... | |
| LegalizeFloatTypes.cpp | Loading commit data... | |
| LegalizeIntegerTypes.cpp | Loading commit data... | |
| LegalizeTypes.cpp | Loading commit data... | |
| LegalizeTypes.h | Loading commit data... | |
| LegalizeTypesGeneric.cpp | Loading commit data... | |
| LegalizeVectorOps.cpp | Loading commit data... | |
| LegalizeVectorTypes.cpp | Loading commit data... | |
| ResourcePriorityQueue.cpp | Loading commit data... | |
| SDNodeDbgValue.h | Loading commit data... | |
| ScheduleDAGFast.cpp | Loading commit data... | |
| ScheduleDAGRRList.cpp | Loading commit data... | |
| ScheduleDAGSDNodes.cpp | Loading commit data... | |
| ScheduleDAGSDNodes.h | Loading commit data... | |
| ScheduleDAGVLIW.cpp | Loading commit data... | |
| SelectionDAG.cpp | Loading commit data... | |
| SelectionDAGAddressAnalysis.cpp | Loading commit data... | |
| SelectionDAGBuilder.cpp | Loading commit data... | |
| SelectionDAGBuilder.h | Loading commit data... | |
| SelectionDAGDumper.cpp | Loading commit data... | |
| SelectionDAGISel.cpp | Loading commit data... | |
| SelectionDAGPrinter.cpp | Loading commit data... | |
| SelectionDAGTargetInfo.cpp | Loading commit data... | |
| StatepointLowering.cpp | Loading commit data... | |
| StatepointLowering.h | Loading commit data... | |
| TargetLowering.cpp | Loading commit data... |