Displaying 4 results from an estimated 4 matches for "ptrvalue".
Did you mean:
prvalue
2018 Mar 13
2
How to optimize store of constant arrays
Hi all, I have this problem:
I'm using LLVM's C++ API, mostly `IRBuilder<>` to generate code. Some of
the generated code is just storing constant data to a location provided as
a function argument. Something like
`ir_builder.CreateStore(get_default_data(), ptrValue)` where
`get_default_data()` may return a `ConstantArray` of `i8` and `ptrValue`
is a function argument. Looking at the generated assembly, it seems
inefficient, it generates a separate instruction for storing each byte
relative to the pointer. Each instruction takes several bytes, and I am
tr...
2013 Jan 02
0
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
...implified test case. Is it good?
Tobi, regarding runtime alias analysis: in KernelGen we already do it along
with runtime values substitution. For example:
<------------------ __kernelgen_main_loop_17: compile started
--------------------->
Integer args substituted:
offset = 32, ptrValue = 47248855040
offset = 40, ptrValue = 47246749696
offset = 48, ptrValue = 47247802368
offset = 16, value = 64
offset = 20, value = 64
offset = 24, value = 64
MemoryAccess to pointer: float* inttoptr (i64 47246749696 to float*)
{ Stmt__12_cloned_[i0, i1, i...
2013 Jan 02
2
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
On 01/01/2013 02:45 PM, Duncan Sands wrote:
> Hi Dmitry,
>
>>
>> In our compiler we use a modified version LLVM Polly, which is very
>> sensitive to
>> proper code generation. Among the number of limitations, the loop region
>> (enclosed by phi node on induction variable and branch) is required to
>> be free
>> of additional memory-dependent
2013 Jan 04
4
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
...> Tobi, regarding runtime alias analysis: in KernelGen we already do it
> along with runtime values substitution. For example:
>
> <------------------ __kernelgen_main_loop_17: compile started
> --------------------->
> Integer args substituted:
> offset = 32, ptrValue = 47248855040
> offset = 40, ptrValue = 47246749696
> offset = 48, ptrValue = 47247802368
> offset = 16, value = 64
> offset = 20, value = 64
> offset = 24, value = 64
> MemoryAccess to pointer: float* inttoptr (i64 47246749696 to float*)
&g...