Skip to content

Commit 2b14093

Browse files
authored
[CodeGen] Parse nusw flag (#138856)
Fixes #127781
1 parent 5b8664f commit 2b14093

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

llvm/lib/CodeGen/MIRParser/MIParser.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,6 +1476,7 @@ bool MIParser::parseInstruction(unsigned &OpCode, unsigned &Flags) {
14761476
Token.is(MIToken::kw_unpredictable) ||
14771477
Token.is(MIToken::kw_nneg) ||
14781478
Token.is(MIToken::kw_disjoint) ||
1479+
Token.is(MIToken::kw_nusw) ||
14791480
Token.is(MIToken::kw_samesign)) {
14801481
// clang-format on
14811482
// Mine frame and fast math flags
@@ -1513,6 +1514,8 @@ bool MIParser::parseInstruction(unsigned &OpCode, unsigned &Flags) {
15131514
Flags |= MachineInstr::NonNeg;
15141515
if (Token.is(MIToken::kw_disjoint))
15151516
Flags |= MachineInstr::Disjoint;
1517+
if (Token.is(MIToken::kw_nusw))
1518+
Flags |= MachineInstr::NoUSWrap;
15161519
if (Token.is(MIToken::kw_samesign))
15171520
Flags |= MachineInstr::SameSign;
15181521

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=none %s -o - | FileCheck %s
3+
4+
---
5+
name: nusw_ptr_add
6+
legalized: true
7+
tracksRegLiveness: true
8+
body: |
9+
bb.0:
10+
liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
11+
12+
; CHECK-LABEL: name: nusw_ptr_add
13+
; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
14+
; CHECK-NEXT: {{ $}}
15+
; CHECK-NEXT: %ptr:_(p0) = COPY $vgpr0_vgpr1
16+
; CHECK-NEXT: %off:_(s64) = COPY $vgpr2_vgpr3
17+
; CHECK-NEXT: %ret:_(p0) = nuw nusw G_PTR_ADD %ptr, %off(s64)
18+
; CHECK-NEXT: $vgpr0_vgpr1 = COPY %ret(p0)
19+
%ptr:_(p0) = COPY $vgpr0_vgpr1
20+
%off:_(s64) = COPY $vgpr2_vgpr3
21+
%ret:_(p0) = nuw nusw G_PTR_ADD %ptr, %off
22+
$vgpr0_vgpr1 = COPY %ret
23+
...

0 commit comments

Comments
 (0)