Add DUMMY_CHAIN SDNode to denote stores of interest
Bugzilla: https://llvm.org/bugs/show_bug.cgi?id=28915
Bugzilla: https://llvm.org/bugs/show_bug.cgi?id=30411
This is an alternative to rejected D24745
Paths
| Differential D27964
AMDGPU/R600: Serialize vector trunc stores to private AS ClosedPublic Authored by jvesely on Dec 19 2016, 5:46 PM.
Details Summary Add DUMMY_CHAIN SDNode to denote stores of interest Bugzilla: https://llvm.org/bugs/show_bug.cgi?id=28915 This is an alternative to rejected D24745
Diff Detail
Event Timelinejvesely updated this object. jvesely added a parent revision: D24746: AMDGPU/R600: Don't use REGISTER_{LOAD,STORE} ISD nodes.Dec 19 2016, 5:48 PM
Comment Actions Why are all the test changes for local memory read/write, when the code changes behavior for private memory stores? Comment Actions
similar changes were necessary for constant/global tests but D24746, made the checks a bit more loose so they pass without changes. hopefully, providing better machinePointerInfo will help eliminate all of those stack accesses. For some reason, tests in store-private.ll did not see the issue when storing to generic private AS pointer, and already test for correct sequence of RMWs.
Comment Actions ping. Comment Actions LGTM. I think there's a better solution but I'm not sure if it's worth investing in the effort
This revision is now accepted and ready to land.Jan 20 2017, 12:02 PM Closed by commit rL292651: AMDGPU/R600: Serialize vector trunc stores to private AS (authored by jvesely). · Explain WhyJan 20 2017, 1:35 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 82051 lib/Target/AMDGPU/AMDGPUISelLowering.h
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
lib/Target/AMDGPU/AMDGPUInstrInfo.td
lib/Target/AMDGPU/R600ISelLowering.cpp
lib/Target/AMDGPU/R600Instructions.td
test/CodeGen/AMDGPU/load-local-i8.ll
|
You shouldn't need a new DUMMY_CHAIN node. You should be able to create an appropriate MERGE_VALUES that will take its place