OSDN Git Service

DAG: Add nuw when splitting loads and stores
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 29 Nov 2017 01:25:12 +0000 (01:25 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 29 Nov 2017 01:25:12 +0000 (01:25 +0000)
commitff838de892083ce32d075c71b5dcf9a79e0c67c9
tree5235019875958bacb6e964e30993f4c9add6b331
parentc97df2361b242a5f00ade73e1820f0cbc39ba99b
DAG: Add nuw when splitting loads and stores

The object can't straddle the address space
wrap around, so I think it's OK to assume any
offsets added to the base object pointer can't
overflow. Similar logic already appears to be
applied in SelectionDAGBuilder when lowering
aggregate returns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319272 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAG.h
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
lib/Target/AMDGPU/SIISelLowering.cpp