Displaying 6 results from an estimated 6 matches for "_z1gr1a".
2016 Dec 23
2
[canonicalization] GEP 0, 0
...{
[3 x i8*] }* @_ZTV1A, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32
(...)*** *%1*, align 8, !tbaa !8, !invariant.group !10
call void @_Z1zR1A(%struct.A* nonnull dereferenceable(8) %a) #3
%2 = load i32, i32* @glob, align 4, !tbaa !4
%tobool.i = icmp eq i32 %2, 0
br i1 %tobool.i, label %_Z1gR1A.exit, label %if.then.i
if.then.i: ; preds = %entry
* %3* = bitcast %struct.A* *%a* to void (%struct.A*)***
%vtable.i = load void (%struct.A*)**, void (%struct.A*)*** *%3*, align 8,
!tbaa !8, !invariant.group !10
%4 = load void (%struct.A*)*, void (%struc...
2017 Jan 20
4
RFC: Emitting empty invariant group for vtable loads
...m.org/pipermail/cfe-dev/2015-July/044227.html
My talk from LLVM Dev Meeting
http://llvm.org/devmtg/2016-11/#talk6
The problem
Clang with -fstrict-vtable-pointers decorates vtable loads with metadata
corresponding to mangled pointer type name like:
void g(A& a){
a.foo();
}
define void @_Z1gR1A(%struct.A* dereferenceable(8) %a) local_unnamed_addr #0
{
entry:
%0 = bitcast %struct.A* %a to void (%struct.A*)***
%vtable = load void (%struct.A*)**, void (%struct.A*)*** %0,
!invariant.group !7
%1 = load void (%struct.A*)*, void (%struct.A*)** %vtable
tail call void %1(%struct.A* nonnull %a)...
2017 Jan 25
4
RFC: Emitting empty invariant group for vtable loads
...<http://llvm.org/devmtg/2016-11/#talk6>
>
>
> The problem
>
> Clang with -fstrict-vtable-pointers decorates vtable loads with
> metadata corresponding to mangled pointer type name like:
>
> voidg(A& a){ a.foo();}
>
> define void at _Z1gR1A(%struct.A* dereferenceable(8) %a)
> local_unnamed_addr #0{entry: %0= bitcast %struct.A* %a to
> void(%struct.A*)*** %vtable = load void(%struct.A*)**,
> void(%struct.A*)*** %0, !invariant.group !7 %1= load
> void(%struct.A*)*, void(%struct.A*)** %vtable tail call
>...
2017 Jan 26
2
[cfe-dev] RFC: Emitting empty invariant group for vtable loads
...g/2016-11/#talk6
>>> The problem
>>>
>>> Clang with -fstrict-vtable-pointers decorates vtable loads with
>>> metadata corresponding to mangled pointer type name like:
>>>
>>> void g(A& a){ a.foo(); }
>>>
>>> define void @_Z1gR1A(%struct.A* dereferenceable(8) %a)
>>> local_unnamed_addr #0 { entry: %0 = bitcast %struct.A* %a to void (%
>>> struct.A*)*** %vtable = load void (%struct.A*)**, void (%struct.A*)***
>>> %0, !invariant.group !7 %1 = load void (%struct.A*)*, void (%struct.A*)**
>>&...
2017 Jan 28
2
[cfe-dev] RFC: Emitting empty invariant group for vtable loads
...; The problem
>>>>
>>>> Clang with -fstrict-vtable-pointers decorates vtable loads with
>>>> metadata corresponding to mangled pointer type name like:
>>>>
>>>> void g(A& a){ a.foo(); }
>>>>
>>>> define void @_Z1gR1A(%struct.A* dereferenceable(8) %a)
>>>> local_unnamed_addr #0 { entry: %0 = bitcast %struct.A* %a to void (%
>>>> struct.A*)*** %vtable = load void (%struct.A*)**, void (%struct.A*)***
>>>> %0, !invariant.group !7 %1 = load void (%struct.A*)*, void (%struct.A*)...
2017 Jan 31
0
[cfe-dev] RFC: Emitting empty invariant group for vtable loads
...th -fstrict-vtable-pointers decorates vtable
>>> loads with metadata corresponding to mangled pointer
>>> type name like:
>>>
>>> voidg(A& a){ a.foo();}
>>>
>>> define void at _Z1gR1A(%struct.A* dereferenceable(8)
>>> %a) local_unnamed_addr #0{entry: %0= bitcast
>>> %struct.A* %a to void(%struct.A*)*** %vtable = load
>>> void(%struct.A*)**, void(%struct.A*)*** %0,
>>> !invariant.g...