search for: derefinement

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