Displaying 9 results from an estimated 9 matches for "hoistable".
Did you mean:
constable
2019 Nov 03
2
InlineSpiller - hoists leave virtual registers without live intervals
...was okay to do so. When compilation broke,
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20130812/184331.htm
l further suggested that the intention is that you can... but I do not see
how a hoist can ever pass verification/compile correctly. Am I doing
something incorrectly here? Or are hoistable spills just that rare on GPU
code that it's never come up?
As a side note, compiler option "-disable-spill-hoist" (DisableHoisting) is
referenced in exactly zero places, so if anyone in a similar situation finds
this post, maybe don't bother testing with that flag just yet. :)
2014 Nov 14
6
[LLVMdev] Upcoming Changes/Additions to Scoped-NoAlias metadata
...se it is very much like @llvm.assume. And like @llvm.assume, we'll need to add logic to various passes to ignore it as appropriate so that it does not block optimizations unnecessarily. I was hoping this avoid this part of the design space, but I don't see any way around it -- only some non-hoistable instruction can model a control dependence.
With this in place, it will be possible to build a loop-aware AA interface capable of answering questions like: Does location A in some loop iteration alias with location B in any iteration (which is really what the vectorizer wants to know). This interf...
2015 Mar 16
4
[LLVMdev] possible addrspacecast problem
Given a pointer, does any addrspacecast affect the pointer's
dereferenceablity ? For example,
%pm = addrspaacecast float addrspacecast(n)* %pn to float
addrspacecast(m)*
%r = load float addrspace(m)* %pm
In another word. the question is whether the following is true ?
isDereferenceablePointer(pn) == isDereferenceablePointer(pm)
[Note that the function is defined as
2015 Mar 17
2
[LLVMdev] possible addrspacecast problem
...te that if the address
> space conversion is legal then both result and operand refer to the
> same memory location.". This brings forth two related questions:
>
> 1. what happens if you execute an "invalid" addrspacecast? Does this
> axiom make addrspacecast non-hoistable? From a quick glance at
> the code, ValueTracking seems to assume that addrspacecasts can be
> speculatively executed.
>
> 2. even if two pointers from two different address spaces point to
> the same "location", can one of them not be dereferenceable while
>...
2013 Nov 08
2
[LLVMdev] Proposal for safe-to-execute meta-data for heap accesses
...se. You can’t reason about it the way you would ordinarily reason about uses. For example:
if (%c)
%v = load %p !notrap !{ %c }
If !{ %c } were an ordinary use then you could transform this to:
if (%c)
%v = load %p !notrap !{ 1 }
But then the world breaks: it would seem that the load is hoistable to anywhere. So, we would have to come up with some special new rules for what you can do to a !{ %c } use; likely this would involve conservatively erasing the meta-data if you did *anything* to %c.
NEW PROPOSAL
The solution is to introduce meta-data that is explicit about how the safe-to-execu...
2019 Nov 05
2
InlineSpiller - hoists leave virtual registers without live intervals
...gt;
> http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20130812/184331.htm
> > l further suggested that the intention is that you can... but I do not
> see
> > how a hoist can ever pass verification/compile correctly. Am I doing
> > something incorrectly here? Or are hoistable spills just that rare on GPU
> > code that it's never come up?
>
Hi Alex,
I havn't noticed before that TII.storeRegToStackSlot is allowed to create
new virtual registers. I am surprised to know it is allowed to do that. I
am mostly working on x86 and TII.storeRegToStackSlot for x...
2013 Nov 01
0
[LLVMdev] Add a 'notrap' function attribute?
----- Original Message -----
>
>
>
> On Nov 1, 2013, at 4:48 AM, Hal Finkel < hfinkel at anl.gov > wrote:
>
>
>
> ----- Original Message -----
>
>
> Hi Nadav,
>
> On 10/31/2013 08:53 PM, Nadav Rotem wrote:
>
>
> data-parallel languages which have a completely different
> semantics. In
> OpenCL/Cuda you would want to vectorize
2013 Nov 01
3
[LLVMdev] Add a 'notrap' function attribute?
On Nov 1, 2013, at 4:48 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> Hi Nadav,
>>
>> On 10/31/2013 08:53 PM, Nadav Rotem wrote:
>>> data-parallel languages which have a completely different
>>> semantics. In
>>> OpenCL/Cuda you would want to vectorize the outermost loop, and the
>>> language
2018 Aug 03
2
GlobalISel design update and goals
> On 2 Aug 2018, at 14:50, Quentin Colombet <quentin.colombet at gmail.com> wrote:
>
> Hi Daniel,
>
> 2018-07-31 8:40 GMT-07:00 Daniel Sanders <daniel_l_sanders at apple.com>:
>>
>>
>> On 30 Jul 2018, at 16:04, Quentin Colombet via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi Amara,
>>
>> Thanks for