Displaying 20 results from an estimated 56 matches for "eltod".
Did you mean:
elod
2013 Aug 20
3
[LLVMdev] Failure to optimize vector select
On Aug 19, 2013, at 18:47 , Eugene Toder <eltoder at gmail.com> wrote:
> Have you tried running SLP vectorizer pass (-vectorize-slp)?
Yes. That was the first thing i tried, and it didn't do anything. I was looking the vectorizer, but then I saw some things that made me wonder if it was even supposed to do this
2010 Aug 08
2
[LLVMdev] Usage of pointers to elements of a std::vector that might be reallocated
Oh yes you're right, I missed that :) But the point still hold.
Amaury Pouly
2010/8/8 Eugene Toder <eltoder at gmail.com>
> > Not only this code does not compile with NDEBUG set
>
> I may be missing something, but why does it not compile with -DNDEBUG?
> assert() macro expands to noop when NDEBUG is set.
>
> Eugene
>
> On Sun, Aug 8, 2010 at 2:19 PM, Amaury Pouly <amau...
2010 Aug 08
0
[LLVMdev] Usage of pointers to elements of a std::vector that might be reallocated
...possible) or use a container that doesn't
reallocate on insert.
Eugene
On Sun, Aug 8, 2010 at 3:11 PM, Amaury Pouly <amaury.pouly at gmail.com> wrote:
> Oh yes you're right, I missed that :) But the point still hold.
>
> Amaury Pouly
>
>
> 2010/8/8 Eugene Toder <eltoder at gmail.com>
>>
>> > Not only this code does not compile with NDEBUG set
>>
>> I may be missing something, but why does it not compile with -DNDEBUG?
>> assert() macro expands to noop when NDEBUG is set.
>>
>> Eugene
>>
>> On Sun, Aug 8...
2010 Jun 17
1
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On 15 June 2010 23:08, Eugene Toder <eltoder at gmail.com> wrote:
> Subsections is a very good idea. You can even do without
> post-processing by using carefully crafted section names, e.g.
>
> __attribute__((section(".text,\"ax\", at progbits\n\t.subsection 1 #")))
> void foo()
> {
> }
There is...
2010 Jul 07
4
[LLVMdev] LLVM-C headers: create native library
> The clang driver generally uses an installed gcc to do the assemble
> and link steps at the moment.
gcc? I thought it uses binutils.
Eugene
2010 Jul 07
0
[LLVMdev] LLVM-C headers: create native library
On Wed, Jul 7, 2010 at 1:55 PM, Eugene Toder <eltoder at gmail.com> wrote:
>> The clang driver generally uses an installed gcc to do the assemble
>> and link steps at the moment.
>
> gcc? I thought it uses binutils.
It does. But clang uses the gcc driver to invoke the binutils tools
anyway. Presumably it's easier that way...
2013 Aug 20
0
[LLVMdev] Failure to optimize vector select
Can you send the IR of the function ?
On Aug 20, 2013, at 8:36 AM, Matt Arsenault <arsenm2 at gmail.com> wrote:
>
> On Aug 19, 2013, at 18:47 , Eugene Toder <eltoder at gmail.com> wrote:
>
>> Have you tried running SLP vectorizer pass (-vectorize-slp)?
> Yes. That was the first thing i tried, and it didn't do anything. I was looking the vectorizer, but then I saw some things that made me wonder if it was even supposed to do this
> _____...
2010 Jul 18
2
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
...e.g. a load. Isn't a read-only call effectively just a series of loads
from a memory-dependence perspective?
In other words, why does this code fragment return
MemDepResult::getClobber() instead of MemDepResult::getDef() for a read-only
call?
On Sat, Jul 17, 2010 at 6:18 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Since isLoad == false means we're looking at a store, what this does
> is making the store *p depend on the load *p. This is correct -- you
> can't move store before load, otherwise load will start returning a
> different value.
>
> Eugene
>...
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
...a read-only call effectively just a series of loads
> from a memory-dependence perspective?
> In other words, why does this code fragment return
> MemDepResult::getClobber() instead of MemDepResult::getDef() for a read-only
> call?
> On Sat, Jul 17, 2010 at 6:18 PM, Eugene Toder <eltoder at gmail.com> wrote:
>>
>> Since isLoad == false means we're looking at a store, what this does
>> is making the store *p depend on the load *p. This is correct -- you
>> can't move store before load, otherwise load will start returning a
>> different valu...
2010 Apr 18
1
[LLVMdev] create two Twine object
On Sun, Apr 18, 2010 at 4:36 AM, Eugene Toder <eltoder at gmail.com> wrote:
> According to documentation Twines should be used only for temporary
> values and not stored, so allocating the in heap sounds wrong.
Yes, in general you should never be naming Twine directly, except in
the case where you need to make a Twine for an integer. All ot...
2010 Jun 09
2
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
...t any changes to LLVM, so
the main points for having a direct support for side-tables in LLVM is
1) Not relying on external tool
2) Optimizer issues
Eugene
On Tue, Jun 8, 2010 at 10:35 PM, Andrew Lenharth <andrewl at lenharth.org> wrote:
> On Tue, Jun 8, 2010 at 4:15 PM, Eugene Toder <eltoder at gmail.com> wrote:
>> Let me point out that projects using standard toolchain (e.g.
>> binutils) can already reorder code and data pretty much arbitrary
>> using sections and linker scripts.
>> I think it's still attractive to have reordering in LLVM to be
>>...
2010 Jun 09
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Wed, Jun 9, 2010 at 4:16 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Yes, the global structure is constant. This is indeed a side-table.
> Overriding section of global to be in text is simple -- LLVM already
> supports section attribute on globals and functions. However we also
> need a specific ordering in text.
> With som...
2010 Jun 15
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
Subsections is a very good idea. You can even do without
post-processing by using carefully crafted section names, e.g.
__attribute__((section(".text,\"ax\", at progbits\n\t.subsection 1 #")))
void foo()
{
}
(Note that you need ".subsection n" commands on ELF targets and
".section name, n" commands on COFF targets; seems that the latter was
supported on
2010 Sep 26
0
[LLVMdev] LLVM Exception Handling
On 26 September 2010 13:08, Eugene Toder <eltoder at gmail.com> wrote:
> %s = invoke i32 @v(i32 %o) to label %ok
> unwind %x to label %catch
> ok:
> ret i32 %s
>
> catch:
> %type = call i32 @exception_type(i8* %x)
> %r = icmp eq i32 %type, 255 ; 255 is DivisionByZeroException type
> br i1 %r,...
2010 Jun 08
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Tue, Jun 8, 2010 at 4:15 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Let me point out that projects using standard toolchain (e.g.
> binutils) can already reorder code and data pretty much arbitrary
> using sections and linker scripts.
> I think it's still attractive to have reordering in LLVM to be
> independent from e...
2010 Sep 26
4
[LLVMdev] LLVM Exception Handling
I may me wrong, but I think Nathan used ints for demonstration
purposes only. unwind always takes i8* argument that ideally should be
a pointer to exception structure, variable %x in invoke is also typed
i8*, it's not "untyped". Probably more llvm-ish syntax would be
unwind i8* %x to label %catch
to show the type explicitly.
However throwing a pointer to a structure raises
2010 Aug 09
3
[LLVMdev] llvm "iword" type
That and the possibility of differently sized pointers made me
hesitate to dive into implementing this. I guess nailing it down to
be the platform equivalent of size_t would be sensible here.
On Mon, Aug 9, 2010 at 1:37 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Small nitpick: size_t is not guaranteed to be large enough to hold a
> pointer (only an array index, which can be less; though such platforms
> are pretty exotic now). [u]intptr_t are the types.
>
> Eugene
>
> On Mon, Aug 9, 2010 at 5:44 PM, Joshua W...
2010 Jun 08
2
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
Let me point out that projects using standard toolchain (e.g.
binutils) can already reorder code and data pretty much arbitrary
using sections and linker scripts.
I think it's still attractive to have reordering in LLVM to be
independent from external toolchain. This will allow reordering in JIT
and other interesting things.
I agree with John that special global with ordered list looks like
2010 Jun 04
1
[LLVMdev] Is there a "callback optimization"?
On Fri, Jun 4, 2010 at 1:35 PM, Eugene Toder <eltoder at gmail.com> wrote:
> It should be relatively simple to write a pass that turns each call
> that has constant argument(s) into a call to specialized version of
> the callee. To devirtualize C++ calls it needs to be smarter, since
> the argument is not a constant, but a pointer to...
2013 Aug 20
2
[LLVMdev] Failure to optimize vector select
Hi,
I've found a case I would expect would optimize easily, but it doesn't. A simple implementation of vector select:
float4 simple_select(float4 a, float4 b, int4 c)
{
float4 result;
result.x = c.x ? a.x : b.x;
result.y = c.y ? a.y : b.y;
result.z = c.z ? a.z : b.z;
result.w = c.w ? a.w : b.w;
return result;
}
I would expect this would be optimized to
%bool