Displaying 6 results from an estimated 6 matches for "_z2f1v".
2018 Feb 09
1
PHI nodes for atomic variables
...Daniel Berlin,
I just tried MemorySSA analysis and get the next IR.
However, I feel confused by the result.
Specifically, why instruction *%3* relates to a *MemoryDef*. According to
my understanding,
I think *%3* should be related to a *MemoryUse*, right?
; Function Attrs: uwtable
define void @_Z2f1v() #3 personality i32 (...)* @__gxx_personality_v0 {
entry:
; 1 = MemoryDef(liveOnEntry)
tail call void @checker_thread_begin(i8* getelementptr inbounds ([3 x
i8], [3 x i8]* @.str, i64 0, i64 0))
; MemoryUse(1)
%0 = load i32, i32* @data1, align 4, !tbaa !1
%cmp = icmp sgt i32 %0, 0
br i1 %cm...
2019 Sep 18
2
Remove obsolete debug info while garbage collecting
17.09.2019 3:12, David Blaikie пишет:
>
>
> On Wed, Sep 11, 2019 at 3:32 PM Alexey Lapshin via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> Debuginfo and linker folks, we (AccessSoftek) would like to
> suggest a proposal for removing obsolete debug info. If you find
> it useful we will be happy to work on
2019 Sep 20
3
Remove obsolete debug info while garbage collecting
...$ llvm-link a.ll b.ll -o ab.bc
> $ clang++ ab.bc -c
> $ llvm-dwarfdump ab.o -v -debug-info |
> 0x0b: DW_TAG_compile_unit
> DW_AT_name "a.cpp"
> 0x2a: DW_TAG_subprogram
> DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0056 =>
> {0x00000056} "_Z2f1v")
> DW_TAG_subprogram
> DW_AT_name "f1"
> 0x6e: DW_TAG_compile_unit
> DW_AT_name "b.cpp"
> 0x8d: DW_TAG_subprogram
> DW_AT_name "main"
> 0xa6: DW_TAG_inlined_subroutine
> DW_AT_abstract_...
2018 Feb 08
2
PHI nodes for atomic variables
...information
that *data1* dependents on *data4*?
Thank you all in advance.
int data1, data2, data3, data4;
std::atomic<int> x;
void f1()
{
if (data1 > 0) {
x = data4;
data2 = data4;
}
data3 = data2;
data1 = x;
}
; Function Attrs: uwtable
define void @_Z2f1v() #3 personality i32 (...)* @__gxx_personality_v0 {
tail call void @checker_thread_begin(i8* getelementptr inbounds ([3 x
i8], [3 x i8]* @.str, i64 0, i64 0))
%1 = load i32, i32* @data1, align 4, !tbaa !1
%2 = icmp sgt i32 %1, 0
br i1 %2, label %5, label %3
; <label>:3:...
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 =