Everything is in place
Details
Diff Detail
Event Timeline
lib/Target/AMDGPU/R600ISelLowering.cpp | ||
---|---|---|
1067 | Why can't you lower this directly to an immediate instead of using the CONST_DATA_PTR node? |
lib/Target/AMDGPU/R600ISelLowering.cpp | ||
---|---|---|
1067 | I read somewhere that conversion from GA to TGA needed some kind of wrapper pseudo instruction and CONST_DATA_PTR filled the spot. I tried using: I also tried using: |
lib/Target/AMDGPU/R600ISelLowering.cpp | ||
---|---|---|
1070 | You are correct about the wrapper, but what I'm saying is why even emit a GlobalAddress at all. Why not do return DAG.getConstant(0, MVT::i32), like we do when lowering LDS global addresses. |
lib/Target/AMDGPU/R600ISelLowering.cpp | ||
---|---|---|
1070 | the value is not zero in this case. LDS path computes section offset in lowering, which is OK for uninitialized variables (or if we emit initialization code somewhere). I don't think it'd work with const data, unless we force rodata layout to use the lowered addresses. |
Why can't you lower this directly to an immediate instead of using the CONST_DATA_PTR node?