Skip to content

Commit a20f4c0

Browse files
committed
Address comments
This loses the benefit in the test
1 parent 56474da commit a20f4c0

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4426,15 +4426,10 @@ void SelectionDAGBuilder::visitGetElementPtr(const User &I) {
44264426

44274427
SDNodeFlags AddFlags;
44284428

4429-
// The successive addition of each offset (without adding the base
4430-
// address) does not wrap the pointer index type in a signed sense (add
4431-
// nsw).
4432-
if (NW.hasNoUnsignedSignedWrap())
4433-
AddFlags.setNoSignedWrap(true);
4434-
4435-
// The successive addition of each offset (without adding the base
4436-
// address) does not wrap the pointer index type in an unsigned sense (add
4437-
// nuw).
4429+
// The successive addition of the current address, truncated to the
4430+
// pointer index type and interpreted as an unsigned number, and each
4431+
// offset, also interpreted as an unsigned number, does not wrap the
4432+
// pointer index type (add nuw).
44384433
if (NW.hasNoUnsignedWrap())
44394434
AddFlags.setNoUnsignedWrap(true);
44404435

llvm/test/CodeGen/AMDGPU/gep-flags-stack-offsets.ll

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ define void @gep_inbounds_nuw_alloca(i32 %idx, i32 %val) #0 {
118118
; GFX8-NEXT: v_lshlrev_b32_e32 v0, 2, v0
119119
; GFX8-NEXT: v_lshrrev_b32_e64 v2, 6, s32
120120
; GFX8-NEXT: v_add_u32_e32 v0, vcc, v2, v0
121-
; GFX8-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
121+
; GFX8-NEXT: v_add_u32_e32 v0, vcc, 16, v0
122+
; GFX8-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
122123
; GFX8-NEXT: s_waitcnt vmcnt(0)
123124
; GFX8-NEXT: s_setpc_b64 s[30:31]
124125
;
@@ -144,7 +145,8 @@ define void @gep_nusw_nuw_alloca(i32 %idx, i32 %val) #0 {
144145
; GFX8-NEXT: v_lshlrev_b32_e32 v0, 2, v0
145146
; GFX8-NEXT: v_lshrrev_b32_e64 v2, 6, s32
146147
; GFX8-NEXT: v_add_u32_e32 v0, vcc, v2, v0
147-
; GFX8-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
148+
; GFX8-NEXT: v_add_u32_e32 v0, vcc, 16, v0
149+
; GFX8-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
148150
; GFX8-NEXT: s_waitcnt vmcnt(0)
149151
; GFX8-NEXT: s_setpc_b64 s[30:31]
150152
;

0 commit comments

Comments
 (0)