Displaying 4 results from an estimated 4 matches for "nvload".
Did you mean:
noload
2012 Aug 14
2
[LLVMdev] Load serialisation during selection DAG building
I looked into those patches but I don't think they will help in my situation because my problems occur during instruction selection rather than scheduling.
A simple and concrete example is a pattern like:
[(set GR:$dst (add GR:$src (nvload addr:$mem)))]
where nvload matches a load provided that isVolatile() is false.
If the selection DAG looks like:
| |
LD1 LD2
^ ^
| |
\ /
add
^
|
\ /
ST
and the chain like:
LD1 LD2...
2012 Aug 14
0
[LLVMdev] Load serialisation during selection DAG building
...16:43, Steve Montgomery wrote:
> I looked into those patches but I don't think they will help in my situation because my problems occur during instruction selection rather than scheduling.
>
> A simple and concrete example is a pattern like:
>
> [(set GR:$dst (add GR:$src (nvload addr:$mem)))]
>
> where nvload matches a load provided that isVolatile() is false.
>
> If the selection DAG looks like:
>
> | |
> LD1 LD2
> ^ ^
> | |
> \ /
> add
> ^
> |
> \ /...
2012 Aug 13
0
[LLVMdev] Load serialisation during selection DAG building
Steve,
I had created a patch last year that does something similar to what you
describe for regular loads and stores using aliasing information. I
think that the last message in the thread was:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120402/140299.html
This approach has worked for me, but it is not the preferred solution
going forward. The preferred solution is to keep the
2012 Aug 13
3
[LLVMdev] Load serialisation during selection DAG building
I've got a question about how SelectionDAGBuilder treats loads.
The LLVM Language Reference Manual explicitly states that the order of volatile operations may be changed relative to non-volatile operations. However, when the SelectionDAGBuilder in LLVM 3.1 encounters a volatile load, it flushes all pending loads and then chains the volatile load onto them meaning that the volatile load must