Skip to content

Commit 132ffaa

Browse files
committed
Fix comments.
1 parent 8b7ac35 commit 132ffaa

File tree

2 files changed

+15
-22
lines changed

2 files changed

+15
-22
lines changed

llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ namespace {
397397

398398
SDValue foldShiftToAvg(SDNode *N);
399399
// Fold `a bitwiseop (~b +/- c)` -> `a bitwiseop ~(b -/+ c)`
400-
SDValue foldBitwiseOpWithNeg(SDNode *N);
400+
SDValue foldBitwiseOpWithNeg(SDNode *N, const SDLoc &DL, EVT VT);
401401

402402
SDValue combineMinNumMaxNum(const SDLoc &DL, EVT VT, SDValue LHS,
403403
SDValue RHS, SDValue True, SDValue False,
@@ -7532,7 +7532,7 @@ SDValue DAGCombiner::visitAND(SDNode *N) {
75327532

75337533
// Fold (and X, (add (not Y), Z)) -> (and X, (not (sub Y, Z)))
75347534
// Fold (and X, (sub (not Y), Z)) -> (and X, (not (add Y, Z)))
7535-
if (SDValue Folded = foldBitwiseOpWithNeg(N))
7535+
if (SDValue Folded = foldBitwiseOpWithNeg(N, DL, VT))
75367536
return Folded;
75377537

75387538
// Fold (and (srl X, C), 1) -> (srl X, BW-1) for signbit extraction
@@ -8214,7 +8214,7 @@ SDValue DAGCombiner::visitOR(SDNode *N) {
82148214

82158215
// Fold (or X, (add (not Y), Z)) -> (or X, (not (sub Y, Z)))
82168216
// Fold (or X, (sub (not Y), Z)) -> (or X, (not (add Y, Z)))
8217-
if (SDValue Folded = foldBitwiseOpWithNeg(N))
8217+
if (SDValue Folded = foldBitwiseOpWithNeg(N, DL, VT))
82188218
return Folded;
82198219

82208220
// fold (or x, 0) -> x
@@ -9870,7 +9870,7 @@ SDValue DAGCombiner::visitXOR(SDNode *N) {
98709870
}
98719871
// Fold (xor X, (add (not Y), Z)) -> (xor X, (not (sub Y, Z)))
98729872
// Fold (xor X, (sub (not Y), Z)) -> (xor X, (not (add Y, Z)))
9873-
if (SDValue Folded = foldBitwiseOpWithNeg(N))
9873+
if (SDValue Folded = foldBitwiseOpWithNeg(N, DL, VT))
98749874
return Folded;
98759875

98769876
// Simplify: xor (op x...), (op y...) -> (op (xor x, y))
@@ -11625,28 +11625,21 @@ SDValue DAGCombiner::foldShiftToAvg(SDNode *N) {
1162511625
return DAG.getNode(FloorISD, SDLoc(N), N->getValueType(0), {A, B});
1162611626
}
1162711627

11628-
SDValue DAGCombiner::foldBitwiseOpWithNeg(SDNode *N) {
11628+
SDValue DAGCombiner::foldBitwiseOpWithNeg(SDNode *N, const SDLoc &DL, EVT VT) {
1162911629
if (!TLI.hasAndNot(SDValue(N, 0)))
1163011630
return SDValue();
1163111631

1163211632
unsigned Opc = N->getOpcode();
11633-
if (Opc != ISD::AND && Opc != ISD::OR && Opc != ISD::XOR)
11634-
return SDValue();
11635-
11636-
SDValue N1 = N->getOperand(1);
11637-
EVT VT = N1.getValueType();
11638-
SDLoc DL(N);
1163911633
SDValue X, Y, Z, NotY;
11640-
11641-
if (sd_match(N, m_c_BinOp(Opc, m_Value(X),
11642-
m_Add(m_AllOf(m_Value(NotY), m_Not(m_Value(Y))),
11643-
m_Value(Z)))))
11634+
if (sd_match(N, m_BitwiseLogic(m_Value(X), m_Add(m_AllOf(m_Value(NotY),
11635+
m_Not(m_Value(Y))),
11636+
m_Value(Z)))))
1164411637
return DAG.getNode(Opc, DL, VT, X,
1164511638
DAG.getNOT(DL, DAG.getNode(ISD::SUB, DL, VT, Y, Z), VT));
1164611639

11647-
if (sd_match(N, m_c_BinOp(Opc, m_Value(X),
11648-
m_Sub(m_AllOf(m_Value(NotY), m_Not(m_Value(Y))),
11649-
m_Value(Z)))) &&
11640+
if (sd_match(N, m_BitwiseLogic(m_Value(X), m_Sub(m_AllOf(m_Value(NotY),
11641+
m_Not(m_Value(Y))),
11642+
m_Value(Z)))) &&
1165011643
NotY->hasOneUse())
1165111644
return DAG.getNode(Opc, DL, VT, X,
1165211645
DAG.getNOT(DL, DAG.getNode(ISD::ADD, DL, VT, Y, Z), VT));

llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -885,8 +885,8 @@ define i64 @test_cttz_i64(i64 %a) nounwind {
885885
define i8 @test_not_cttz_i8(i8 %a) nounwind {
886886
; LA32R-LABEL: test_not_cttz_i8:
887887
; LA32R: # %bb.0:
888-
; LA32R-NEXT: addi.w $a1, $a0, 1
889-
; LA32R-NEXT: andn $a0, $a0, $a1
888+
; LA32R-NEXT: addi.w $a1, $a0, 1
889+
; LA32R-NEXT: andn $a0, $a0, $a1
890890
; LA32R-NEXT: srli.w $a1, $a0, 1
891891
; LA32R-NEXT: andi $a1, $a1, 85
892892
; LA32R-NEXT: sub.w $a0, $a0, $a1
@@ -920,8 +920,8 @@ define i8 @test_not_cttz_i8(i8 %a) nounwind {
920920
define i16 @test_not_cttz_i16(i16 %a) nounwind {
921921
; LA32R-LABEL: test_not_cttz_i16:
922922
; LA32R: # %bb.0:
923-
; LA32R-NEXT: addi.w $a1, $a0, 1
924-
; LA32R-NEXT: andn $a0, $a0, $a1
923+
; LA32R-NEXT: addi.w $a1, $a0, 1
924+
; LA32R-NEXT: andn $a0, $a0, $a1
925925
; LA32R-NEXT: srli.w $a1, $a0, 1
926926
; LA32R-NEXT: lu12i.w $a2, 5
927927
; LA32R-NEXT: ori $a2, $a2, 1365

0 commit comments

Comments
 (0)