Skip to content

Commit cbba35d

Browse files
committed
fixup! add comment to test
1 parent db3f14c commit cbba35d

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

llvm/test/CodeGen/RISCV/rvv/pr125306.ll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
22
; RUN: llc < %s -mtriple=riscv64 -mattr=+m,+v | FileCheck %s
33

4+
; Test for an "Invalid size request on a scalable vector". Attempts to reduce
5+
; the test faurther were not successful. The failure requires a shuffle with 2
6+
; scalable->fixed extracts from the same vector. 0 is the only valid index for a
7+
; scalable->fixed extract so the 2 extract must be the same. Shuffles with the
8+
;same source are aggressively canonicalized to a unary shuffle so it requires
9+
; the extracts to become identical through other optimizations without the
10+
; shuffle being canonicalized before it is lowered.
11+
412
define <2 x i32> @main(ptr %0) {
513
; CHECK-LABEL: main:
614
; CHECK: # %bb.0: # %entry

llvm/utils/TableGen/DAGISelMatcherOpt.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -135,25 +135,6 @@ static void ContractNodes(std::unique_ptr<Matcher> &MatcherPtr,
135135
// variants.
136136
}
137137

138-
// If we have a CheckType/CheckChildType/Record node followed by a
139-
// CheckOpcode, invert the two nodes. We prefer to do structural checks
140-
// before type checks, as this opens opportunities for factoring on targets
141-
// like X86 where many operations are valid on multiple types.
142-
if ((isa<CheckTypeMatcher>(N) || isa<CheckChildTypeMatcher>(N) ||
143-
isa<RecordMatcher>(N)) &&
144-
isa<CheckOpcodeMatcher>(N->getNext())) {
145-
// Unlink the two nodes from the list.
146-
Matcher *CheckType = MatcherPtr.release();
147-
Matcher *CheckOpcode = CheckType->takeNext();
148-
Matcher *Tail = CheckOpcode->takeNext();
149-
150-
// Relink them.
151-
MatcherPtr.reset(CheckOpcode);
152-
CheckOpcode->setNext(CheckType);
153-
CheckType->setNext(Tail);
154-
return ContractNodes(MatcherPtr, CGP);
155-
}
156-
157138
ContractNodes(N->getNextPtr(), CGP);
158139

159140
// If we have a MoveParent followed by a MoveChild, we convert it to

0 commit comments

Comments
 (0)