search for: checker_thread_end

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

2018 Feb 09
1
PHI nodes for atomic variables
...4, !tbaa !1 *; 5 = MemoryDef(4)* * %3 = load atomic i32, i32* getelementptr inbounds (%"struct.std::atomic", %"struct.std::atomic"* @x, i64 0, i32 0, i32 0) seq_cst, align 4* ; 6 = MemoryDef(5) store i32 %3, i32* @data1, align 4, !tbaa !1 ; 7 = MemoryDef(6) tail call void @checker_thread_end() ret void } Best regards, Qiuping Yi Institute Of Software Chinese Academy of Sciences On Thu, Feb 8, 2018 at 2:26 PM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > Let me try to help. > > On Thu, Feb 8, 2018 at 12:13 PM, Qiuping Yi via llvm-dev < > llvm-de...
2018 Feb 08
2
PHI nodes for atomic variables
...32 [ %4, %3 ], [ %6, %5 ]* store i32 %8, i32* @data3, align 4, !tbaa !1 %9 = load atomic i32, i32* getelementptr inbounds (%"struct.std::atomic", %"struct.std::atomic"* @x, i64 0, i32 0, i32 0) seq_cst, align 4 store i32 %9, i32* @data1, align 4, !tbaa !1 tail call void @checker_thread_end() ret void } Best regards, Qiuping Yi Institute Of Software Chinese Academy of Sciences -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180207/a26ce3ad/attachment.html>
2018 Feb 08
0
PHI nodes for atomic variables
Let me try to help. On Thu, Feb 8, 2018 at 12:13 PM, Qiuping Yi via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Thanks for your explanation. > > Do you mean that LLVM will not maintain the def-use chain for atomic > variables? > It is not a variable at the LLVM level. At the source level, it is a variable. At the LLVM IR level, it is lowered into memory operations. All
2018 Feb 08
3
PHI nodes for atomic variables
Thanks for your explanation. Do you mean that LLVM will not maintain the def-use chain for atomic variables? So it is impossible to directly catch the fact that the load of x at the statement 'data1 = x; ' dependents on data4 (because of the statement x=data4 )? If I want to get such information, may be the only solution is to traverse all the predecessors of the statement 'data1 =