Displaying 8 results from an estimated 8 matches for "ltovisibility".
2018 Jan 26
1
RFC: Using link-time optimization to eliminate retpolines
...measurable loss of performance.
>
> We can regain some of those benefits if we know that the set of
> possible branch targets is fixed (this is sometimes known to be the
> case when using whole-program devirtualization or CFI -- see
> https://clang.llvm.org/docs/LTOVisibility.html
> <https://clang.llvm.org/docs/LTOVisibility.html>). In that case, we
> can construct a so-called “branch funnel” that selects one of the
> possible targets by performing a binary search on an address
> associated with the indirect branch (for virtual calls, t...
2018 Jan 24
3
RFC: Using link-time optimization to eliminate retpolines
...ts
of benign speculation, which can lead to a measurable loss of performance.
We can regain some of those benefits if we know that the set of possible
branch targets is fixed (this is sometimes known to be the case when using
whole-program devirtualization or CFI -- see
https://clang.llvm.org/docs/LTOVisibility.html). In that case, we can
construct a so-called “branch funnel” that selects one of the possible
targets by performing a binary search on an address associated with the
indirect branch (for virtual calls, this is the address of the vtable, and
for indirect calls via a function pointer, this is th...
2018 Jan 26
0
RFC: Using link-time optimization to eliminate retpolines
...which can lead to a measurable loss of performance.
>
> We can regain some of those benefits if we know that the set of possible
> branch targets is fixed (this is sometimes known to be the case when using
> whole-program devirtualization or CFI -- see https://clang.llvm.org/docs/
> LTOVisibility.html). In that case, we can construct a so-called “branch
> funnel” that selects one of the possible targets by performing a binary
> search on an address associated with the indirect branch (for virtual
> calls, this is the address of the vtable, and for indirect calls via a
> function...
2020 Apr 02
3
RFC: dynamic_cast optimization in LTO
<font face="Verdana,Arial,Helvetica,sans-serif" size="2"> <span><div>Hi,<br>There was a mention of optimizing away C++ dynamic_casts in LTO in this presentation: <a href="https://www.youtube.com/watch?v=Fd3afoM3UOE&t=1306" target="_blank">https://www.youtube.com/watch?v=Fd3afoM3UOE&t=1306</a><br>I
2016 Oct 26
2
RFC: a more detailed design for ThinLTO + vcall CFI
...vcalls working under
ThinLTO. Most of this has been prototyped, so the design does appear to be
sound. For context on how CFI currently works under regular LTO, please
read:
http://llvm.org/docs/TypeMetadata.html
http://clang.llvm.org/docs/ControlFlowIntegrityDesign.html
http://clang.llvm.org/docs/LTOVisibility.html
==== Summary extensions ====
The combined summary index would be extended to include a mapping from type
identifiers to "resolutions". The resolution would control what type of
code we generate to create a CFI check for that type identifier. Here are
the resolutions that we would s...
2019 Dec 11
5
RFC: Safe Whole Program Devirtualization Enablement
...ation is supported for LTO (both regular and Thin)
via the -fwhole-program-vtables option. However, it can only be safely
applied to classes for which LTO can analyze the entire class hierarchy,
and therefore is restricted to those classes with hidden LTO visibility.
See https://clang.llvm.org/docs/LTOVisibility.html for more information.
The LTO visibility of a class is derived at compile time from the class’s
symbol visibility. Generally, only classes that are internal at the source
level (e.g. declared in an anonymous namespace) receive hidden LTO
visibility. Compiling with -fvisibility=hidden tells th...
2016 Oct 28
0
RFC: a more detailed design for ThinLTO + vcall CFI
...Most of this has been prototyped, so the design does appear
> to be sound. For context on how CFI currently works under regular LTO,
> please read:
>
> http://llvm.org/docs/TypeMetadata.html
> http://clang.llvm.org/docs/ControlFlowIntegrityDesign.html
> http://clang.llvm.org/docs/LTOVisibility.html
>
> ==== Summary extensions ====
>
> The combined summary index would be extended to include a mapping from
> type identifiers to "resolutions". The resolution would control what type
> of code we generate to create a CFI check for that type identifier. Here
> ar...
2020 Aug 05
2
Debugging a potential bug when generating wasm32
Hi,
Sorry if you've seen this message before on llvm.discourse.group or elsewhere --
I've been trying to get to the bottom of this for a while now and asked about
this in a few different platforms before.
I'm currently trying to debug a bug in a LLVM-generated Wasm code. The bug could
be in the code that generates LLVM (rustc) or in the LLVM, I'm not sure yet.
LLVM IR and Wasm