search for: getoriginalalign

Displaying 4 results from an estimated 4 matches for "getoriginalalign".

2016 Dec 26
2
[SDAG] Recovering pointer types
David, thank you for the prompt response. I originally implemented this with a check of getAlignment(). However, both getAlignment() and getOriginalAlignment() on the <4 x i32> load return the stronger alignment (16) rather than the alignment that the i32* parameter would have (4). So I am a bit stuck in terms of how to verify the original alignment. On Mon, Dec 26, 2016 at 3:26 PM, David Chisnall <David.Chisnall at cl.cam.ac.uk > wrot...
2016 Dec 26
0
[SDAG] Recovering pointer types
...o do is emit efficient code for cases where the parameter pointer has the same alignment requirements as the load and emit the conservative but less efficient code in other cases. Do you actually need to know the original type for this? Isn’t it enough to know the alignment? The getAlignment() / getOriginalAlignment() methods on the LoadSDNode should give you this. David
2016 Dec 26
0
[SDAG] Recovering pointer types
On 26 Dec 2016, at 15:49, Nemanja Ivanovic <nemanja.i.ibm at gmail.com> wrote: > > David, thank you for the prompt response. > I originally implemented this with a check of getAlignment(). However, both getAlignment() and getOriginalAlignment() on the <4 x i32> load return the stronger alignment (16) rather than the alignment that the i32* parameter would have (4). > > So I am a bit stuck in terms of how to verify the original alignment. It sounds as if the problem here is actually in the front end. For your target, t...
2016 Dec 26
2
[SDAG] Recovering pointer types
I am wondering if there is a good/easy way to recover the original type of a pointer parameter in the SDAG. Here's the problem that I am dealing with: define <4 x i32> @test(i32* nocapture readonly %a) local_unnamed_addr #0 { entry: %0 = bitcast i32* %a to <4 x i32>* %1 = load <4 x i32>, <4 x i32>* %0, align 16, !tbaa !2 ret <4 x i32> %1 } The problem is