Displaying 2 results from an estimated 2 matches for "i_may_throw".
2013 Nov 14
0
[LLVMdev] [RFC] Scoped no-alias metadata (redux)
...called), and transformations should drop metadata when that happens.
Now I'm worried that this is not true. Here's a simple example:
entry:
%x1 = load %ptr1 // loading from ptr here to make all subsequent loads of %ptr safe to speculate
%x2 = load %ptr2
...
somewhere:
...
call i_may_throw()
%y = load %ptr1, !alias.scope !{ !s1 }
...
%z = store %ptr2, !alias.scope !{ !s1 }, !noalias !{ !s1 }
So now some well-meaning pass swaps the order of the call and the load (legal because it is legal to speculate the load):
somewhere:
...
%y = load %ptr1, !alias.scope !{ !s1 }
call...
2013 Nov 04
3
[LLVMdev] [RFC] Scoped no-alias metadata (redux)
Hello everyone,
In December, I had started a thread on scoped no-alias metadata in order to represent C99 'restrict' pointer information at the IR level:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056586.html
At this point, we also have another important use case: preserving the existing 'noalias' attributes on pointers after inlining. My original proposal was