Skip to content

Commit 78e48c9

Browse files
committed
fixup! Put back some freezes that I should't have removed.
1 parent 3b50859 commit 78e48c9

File tree

3 files changed

+48
-48
lines changed

3 files changed

+48
-48
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7290,13 +7290,13 @@ static SDValue combineSelectToBinOp(SDNode *N, SelectionDAG &DAG,
72907290
// (select !x, x, y) -> x & y
72917291
if (std::optional<bool> MatchResult = matchSetCC(LHS, RHS, CC, TrueV)) {
72927292
return DAG.getNode(*MatchResult ? ISD::OR : ISD::AND, DL, VT, TrueV,
7293-
FalseV);
7293+
DAG.getFreeze(FalseV));
72947294
}
72957295
// (select x, y, x) -> x & y
72967296
// (select !x, y, x) -> x | y
72977297
if (std::optional<bool> MatchResult = matchSetCC(LHS, RHS, CC, FalseV)) {
7298-
return DAG.getNode(*MatchResult ? ISD::AND : ISD::OR, DL, VT, TrueV,
7299-
FalseV);
7298+
return DAG.getNode(*MatchResult ? ISD::AND : ISD::OR, DL, VT,
7299+
DAG.getFreeze(TrueV), FalseV);
73007300
}
73017301
}
73027302

llvm/test/CodeGen/RISCV/forced-atomics.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3567,8 +3567,8 @@ define i64 @rmw64_umax_seq_cst(ptr %p) nounwind {
35673567
; RV32-NEXT: # in Loop: Header=BB51_2 Depth=1
35683568
; RV32-NEXT: neg a3, a0
35693569
; RV32-NEXT: and a3, a3, a1
3570-
; RV32-NEXT: sw a4, 0(sp)
35713570
; RV32-NEXT: sw a1, 4(sp)
3571+
; RV32-NEXT: sw a4, 0(sp)
35723572
; RV32-NEXT: mv a1, sp
35733573
; RV32-NEXT: li a4, 5
35743574
; RV32-NEXT: li a5, 5

llvm/test/CodeGen/RISCV/iabs.ll

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -302,56 +302,56 @@ define i128 @abs128(i128 %x) {
302302
; RV32I-LABEL: abs128:
303303
; RV32I: # %bb.0:
304304
; RV32I-NEXT: lw a2, 12(a1)
305-
; RV32I-NEXT: lw a3, 4(a1)
306-
; RV32I-NEXT: lw a4, 0(a1)
305+
; RV32I-NEXT: lw a3, 0(a1)
306+
; RV32I-NEXT: lw a4, 4(a1)
307307
; RV32I-NEXT: lw a1, 8(a1)
308308
; RV32I-NEXT: bgez a2, .LBB8_2
309309
; RV32I-NEXT: # %bb.1:
310310
; RV32I-NEXT: neg a5, a1
311-
; RV32I-NEXT: or a6, a4, a3
312-
; RV32I-NEXT: snez a6, a6
313-
; RV32I-NEXT: sltu a7, a5, a6
311+
; RV32I-NEXT: snez a6, a4
312+
; RV32I-NEXT: snez a7, a3
313+
; RV32I-NEXT: or a6, a7, a6
314+
; RV32I-NEXT: sltu t0, a5, a6
314315
; RV32I-NEXT: snez a1, a1
315316
; RV32I-NEXT: add a1, a2, a1
316317
; RV32I-NEXT: neg a1, a1
317-
; RV32I-NEXT: sub a2, a1, a7
318+
; RV32I-NEXT: sub a2, a1, t0
318319
; RV32I-NEXT: sub a1, a5, a6
319-
; RV32I-NEXT: snez a5, a4
320-
; RV32I-NEXT: neg a3, a3
321-
; RV32I-NEXT: sub a3, a3, a5
322320
; RV32I-NEXT: neg a4, a4
321+
; RV32I-NEXT: sub a4, a4, a7
322+
; RV32I-NEXT: neg a3, a3
323323
; RV32I-NEXT: .LBB8_2:
324-
; RV32I-NEXT: sw a4, 0(a0)
324+
; RV32I-NEXT: sw a3, 0(a0)
325+
; RV32I-NEXT: sw a4, 4(a0)
325326
; RV32I-NEXT: sw a1, 8(a0)
326-
; RV32I-NEXT: sw a3, 4(a0)
327327
; RV32I-NEXT: sw a2, 12(a0)
328328
; RV32I-NEXT: ret
329329
;
330330
; RV32ZBB-LABEL: abs128:
331331
; RV32ZBB: # %bb.0:
332332
; RV32ZBB-NEXT: lw a2, 12(a1)
333-
; RV32ZBB-NEXT: lw a3, 4(a1)
334-
; RV32ZBB-NEXT: lw a4, 0(a1)
333+
; RV32ZBB-NEXT: lw a3, 0(a1)
334+
; RV32ZBB-NEXT: lw a4, 4(a1)
335335
; RV32ZBB-NEXT: lw a1, 8(a1)
336336
; RV32ZBB-NEXT: bgez a2, .LBB8_2
337337
; RV32ZBB-NEXT: # %bb.1:
338338
; RV32ZBB-NEXT: neg a5, a1
339-
; RV32ZBB-NEXT: or a6, a4, a3
340-
; RV32ZBB-NEXT: snez a6, a6
341-
; RV32ZBB-NEXT: sltu a7, a5, a6
339+
; RV32ZBB-NEXT: snez a6, a4
340+
; RV32ZBB-NEXT: snez a7, a3
341+
; RV32ZBB-NEXT: or a6, a7, a6
342+
; RV32ZBB-NEXT: sltu t0, a5, a6
342343
; RV32ZBB-NEXT: snez a1, a1
343344
; RV32ZBB-NEXT: add a1, a2, a1
344345
; RV32ZBB-NEXT: neg a1, a1
345-
; RV32ZBB-NEXT: sub a2, a1, a7
346+
; RV32ZBB-NEXT: sub a2, a1, t0
346347
; RV32ZBB-NEXT: sub a1, a5, a6
347-
; RV32ZBB-NEXT: snez a5, a4
348-
; RV32ZBB-NEXT: neg a3, a3
349-
; RV32ZBB-NEXT: sub a3, a3, a5
350348
; RV32ZBB-NEXT: neg a4, a4
349+
; RV32ZBB-NEXT: sub a4, a4, a7
350+
; RV32ZBB-NEXT: neg a3, a3
351351
; RV32ZBB-NEXT: .LBB8_2:
352-
; RV32ZBB-NEXT: sw a4, 0(a0)
352+
; RV32ZBB-NEXT: sw a3, 0(a0)
353+
; RV32ZBB-NEXT: sw a4, 4(a0)
353354
; RV32ZBB-NEXT: sw a1, 8(a0)
354-
; RV32ZBB-NEXT: sw a3, 4(a0)
355355
; RV32ZBB-NEXT: sw a2, 12(a0)
356356
; RV32ZBB-NEXT: ret
357357
;
@@ -384,56 +384,56 @@ define i128 @select_abs128(i128 %x) {
384384
; RV32I-LABEL: select_abs128:
385385
; RV32I: # %bb.0:
386386
; RV32I-NEXT: lw a2, 12(a1)
387-
; RV32I-NEXT: lw a3, 4(a1)
388-
; RV32I-NEXT: lw a4, 0(a1)
387+
; RV32I-NEXT: lw a3, 0(a1)
388+
; RV32I-NEXT: lw a4, 4(a1)
389389
; RV32I-NEXT: lw a1, 8(a1)
390390
; RV32I-NEXT: bgez a2, .LBB9_2
391391
; RV32I-NEXT: # %bb.1:
392392
; RV32I-NEXT: neg a5, a1
393-
; RV32I-NEXT: or a6, a4, a3
394-
; RV32I-NEXT: snez a6, a6
395-
; RV32I-NEXT: sltu a7, a5, a6
393+
; RV32I-NEXT: snez a6, a4
394+
; RV32I-NEXT: snez a7, a3
395+
; RV32I-NEXT: or a6, a7, a6
396+
; RV32I-NEXT: sltu t0, a5, a6
396397
; RV32I-NEXT: snez a1, a1
397398
; RV32I-NEXT: add a1, a2, a1
398399
; RV32I-NEXT: neg a1, a1
399-
; RV32I-NEXT: sub a2, a1, a7
400+
; RV32I-NEXT: sub a2, a1, t0
400401
; RV32I-NEXT: sub a1, a5, a6
401-
; RV32I-NEXT: snez a5, a4
402-
; RV32I-NEXT: neg a3, a3
403-
; RV32I-NEXT: sub a3, a3, a5
404402
; RV32I-NEXT: neg a4, a4
403+
; RV32I-NEXT: sub a4, a4, a7
404+
; RV32I-NEXT: neg a3, a3
405405
; RV32I-NEXT: .LBB9_2:
406-
; RV32I-NEXT: sw a4, 0(a0)
406+
; RV32I-NEXT: sw a3, 0(a0)
407+
; RV32I-NEXT: sw a4, 4(a0)
407408
; RV32I-NEXT: sw a1, 8(a0)
408-
; RV32I-NEXT: sw a3, 4(a0)
409409
; RV32I-NEXT: sw a2, 12(a0)
410410
; RV32I-NEXT: ret
411411
;
412412
; RV32ZBB-LABEL: select_abs128:
413413
; RV32ZBB: # %bb.0:
414414
; RV32ZBB-NEXT: lw a2, 12(a1)
415-
; RV32ZBB-NEXT: lw a3, 4(a1)
416-
; RV32ZBB-NEXT: lw a4, 0(a1)
415+
; RV32ZBB-NEXT: lw a3, 0(a1)
416+
; RV32ZBB-NEXT: lw a4, 4(a1)
417417
; RV32ZBB-NEXT: lw a1, 8(a1)
418418
; RV32ZBB-NEXT: bgez a2, .LBB9_2
419419
; RV32ZBB-NEXT: # %bb.1:
420420
; RV32ZBB-NEXT: neg a5, a1
421-
; RV32ZBB-NEXT: or a6, a4, a3
422-
; RV32ZBB-NEXT: snez a6, a6
423-
; RV32ZBB-NEXT: sltu a7, a5, a6
421+
; RV32ZBB-NEXT: snez a6, a4
422+
; RV32ZBB-NEXT: snez a7, a3
423+
; RV32ZBB-NEXT: or a6, a7, a6
424+
; RV32ZBB-NEXT: sltu t0, a5, a6
424425
; RV32ZBB-NEXT: snez a1, a1
425426
; RV32ZBB-NEXT: add a1, a2, a1
426427
; RV32ZBB-NEXT: neg a1, a1
427-
; RV32ZBB-NEXT: sub a2, a1, a7
428+
; RV32ZBB-NEXT: sub a2, a1, t0
428429
; RV32ZBB-NEXT: sub a1, a5, a6
429-
; RV32ZBB-NEXT: snez a5, a4
430-
; RV32ZBB-NEXT: neg a3, a3
431-
; RV32ZBB-NEXT: sub a3, a3, a5
432430
; RV32ZBB-NEXT: neg a4, a4
431+
; RV32ZBB-NEXT: sub a4, a4, a7
432+
; RV32ZBB-NEXT: neg a3, a3
433433
; RV32ZBB-NEXT: .LBB9_2:
434-
; RV32ZBB-NEXT: sw a4, 0(a0)
434+
; RV32ZBB-NEXT: sw a3, 0(a0)
435+
; RV32ZBB-NEXT: sw a4, 4(a0)
435436
; RV32ZBB-NEXT: sw a1, 8(a0)
436-
; RV32ZBB-NEXT: sw a3, 4(a0)
437437
; RV32ZBB-NEXT: sw a2, 12(a0)
438438
; RV32ZBB-NEXT: ret
439439
;

0 commit comments

Comments
 (0)