Displaying 10 results from an estimated 10 matches for "derefinement".
2017 Jul 10
2
[ThinLTO] Making ThinLTO functions not fail hasExactDefinition (specifically preventing it from being derefined)
Hey all,
I'm working on adding interprocedural FunctionAttrs optimization (
http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/FunctionAttrs.cpp) to ThinLTO
so it does something similar to what LTO is doing (
https://bugs.llvm.org/show_bug.cgi?id=33648). I've hit a problem with how
the FunctionAttrs optimization expects linkage types.
In ThinLTO since the linkage type is set to External or
2017 Jul 11
2
[ThinLTO] Making ThinLTO functions not fail hasExactDefinition (specifically preventing it from being derefined)
...xternally is concerned, preventing FunctionAttrs
on them is by design and I'm not sure if there is anything in ThinLTO
to fix that (assuming that the functions are, in fact,
available_externally).
There is some background information on this issue at
https://www.playingwithpointers.com/ipo-and-derefinement.html
-- Sanjoy
>> it is unable to apply any of the functionattr optimizations that LTO can
>> (since LTO is able to convert everything to Internal). This is a problem
>> because every functionattr optimization expects an exact definition by
>> calling hasExactDefinition
&...
2018 Feb 16
3
Missing attribute inference cases
...missing in new pass manager
-- this one will get fixed in the near future
*Untrusted Declarations*
In several cases, we check hasExactDefinition before checking properties
of the function declaration (such as return type). To my knowledge,
facts on declarations are valid even in the place of derefinement. This
results in the analysis being unnecessarily conservative around external
declarations.
*AlwaysInline and hasExactDefinition*
I believe, but have not fully thought through, that it is legal to IPO
across an inexact definition boundary if a particularly callsite or
declaration is marked...
2018 Feb 16
2
Missing attribute inference cases
...y -- useful for AA
speculatable - useful for speculation, LICM, PRE, etc...
Untrusted Declarations
In several cases, we check hasExactDefinition before checking properties of
the function declaration (such as return type). To my knowledge, facts on
declarations are valid even in the place of derefinement. This results in
the analysis being unnecessarily conservative around external declarations.
AlwaysInline and hasExactDefinition
I believe, but have not fully thought through, that it is legal to IPO
across an inexact definition boundary if a particularly callsite or
declaration is marked al...
2018 Feb 17
2
Missing attribute inference cases
...E, etc...
>>
>>
>>
>> Untrusted Declarations
>>
>> In several cases, we check hasExactDefinition before checking properties of
>> the function declaration (such as return type). To my knowledge, facts on
>> declarations are valid even in the place of derefinement. This results in
>> the analysis being unnecessarily conservative around external declarations.
>>
>>
>> AlwaysInline and hasExactDefinition
>>
>> I believe, but have not fully thought through, that it is legal to IPO
>> across an inexact definition bounda...
2018 Feb 16
0
Missing attribute inference cases
...le - useful for speculation, LICM, PRE, etc...
> *Untrusted Declarations*
>
> In several cases, we check hasExactDefinition before checking
> properties of the function declaration (such as return type). To my
> knowledge, facts on declarations are valid even in the place of
> derefinement. This results in the analysis being unnecessarily
> conservative around external declarations.
>
> *AlwaysInline and hasExactDefinition*
>
> I believe, but have not fully thought through, that it is legal to IPO
> across an inexact definition boundary if a particularly callsite...
2018 Feb 16
0
Missing attribute inference cases
...useful for speculation, LICM, PRE, etc...
>
>
>
> Untrusted Declarations
>
> In several cases, we check hasExactDefinition before checking properties of
> the function declaration (such as return type). To my knowledge, facts on
> declarations are valid even in the place of derefinement. This results in
> the analysis being unnecessarily conservative around external declarations.
>
>
> AlwaysInline and hasExactDefinition
>
> I believe, but have not fully thought through, that it is legal to IPO
> across an inexact definition boundary if a particularly callsit...
2018 Feb 17
0
Missing attribute inference cases
...gt;>
>>
>> Untrusted Declarations
>>
>> In several cases, we check hasExactDefinition before checking properties
>> of
>> the function declaration (such as return type). To my knowledge, facts
>> on
>> declarations are valid even in the place of derefinement. This results
>> in
>> the analysis being unnecessarily conservative around external
>> declarations.
>>
>>
>> AlwaysInline and hasExactDefinition
>>
>> I believe, but have not fully thought through, that it is legal to IPO
>> across an inexa...
2018 Feb 19
1
Missing attribute inference cases
...; Untrusted Declarations
>>>
>>> In several cases, we check hasExactDefinition before checking
>>> properties of
>>> the function declaration (such as return type). To my knowledge,
>>> facts on
>>> declarations are valid even in the place of derefinement. This
>>> results in
>>> the analysis being unnecessarily conservative around external
>>> declarations.
>>>
>>>
>>> AlwaysInline and hasExactDefinition
>>>
>>> I believe, but have not fully thought through, that it is legal...
2018 Sep 14
5
RFC: Adding a !thread.private metadata
Problem
LLVM's memory model for NonAtomic accesses is generally fairly weak, but
explicitly disallows inserting stores that didn't occur in the original
program. This is required for any potentially shared location, but is
overkill for any memory location which is provably only accessed by a
single thread.
My particular motivating example is a single thread private field in our