Displaying 4 results from an estimated 4 matches for "vtable_a".
Did you mean:
table_a
2018 Mar 19
4
RFC: Devirtualization v2
...ally legal optimization in LLVM and we
surely still want to do it. In C++ however, If you replaced b with a inside
the if statement’s body, then you would introduce UB. The problem arises
because after changing %b to %a in LLVM, the load from virtual pointer can
be devirtualized to different type. %vtable_a = load %a,
!invariant.group;;;; %a == %b%bool = icmp %a, %bbr %bool, %if, %afterif:;
if this will be changed to %a, then the optimizer will be able to replace ;
%vtable_b with %vtable_a%vtable_b = load %b, !invariant.groupFor other
corner cases check out appendix.SolutionThe proposed solution is to...
2018 Mar 28
0
[cfe-dev] RFC: Devirtualization v2
...ptimization in LLVM and we surely still want to do it. In C++ however, If you replaced b with a inside the if statement’s body, then you would introduce UB. The problem arises because after changing %b to %a in LLVM, the load from virtual pointer can be devirtualized to different type.
>
> %vtable_a = load %a, !invariant.group
> ;;;
> ; %a == %b
> %bool = icmp %a, %b
> br %bool, %if, %after
> if:
> ; if this will be changed to %a, then the optimizer will be able to replace
> ; %vtable_b with %vtable_a
> %vtable_b = load %b, !invariant.group
>
> For other corner...
2018 Mar 29
2
[cfe-dev] RFC: Devirtualization v2
...ion in LLVM and we
> surely still want to do it. In C++ however, If you replaced b with a inside
> the if statement’s body, then you would introduce UB. The problem arises
> because after changing %b to %a in LLVM, the load from virtual pointer can
> be devirtualized to different type. %vtable_a = load %a,
> !invariant.group;;;; %a == %b%bool = icmp %a, %bbr %bool, %if, %afterif:;
> if this will be changed to %a, then the optimizer will be able to replace ;
> %vtable_b with %vtable_a%vtable_b = load %b, !invariant.groupFor other
> corner cases check out appendix.SolutionThe pro...
2016 Jan 28
8
Proposal: virtual constant propagation
Hi all,
I'd like to make the following proposal to implement an optimization called
virtual constant propagation.
==Introduction==
After enabling control flow integrity protection in Chromium, we have
observed an unacceptable performance regression in certain critical layout
microbenchmarks. Profiling [0] revealed that the cause of the regression was
a large number of virtual calls, each