Displaying 9 results from an estimated 9 matches for "biggar".
2008 Oct 22
9
[LLVMdev] Helping the optimizer along (__assume)
...ar->type == STRING), and have that information passed
around (esp interprocedurally at link-time) by the LLVM optimizers. It
would also greatly simplify our code generation.
I can provide a detailed example if what I'm asking is unclear...
Thanks in advance,
Paul
phpcompiler.org
--
Paul Biggar
paul.biggar at gmail.com
2008 Oct 23
0
[LLVMdev] Helping the optimizer along (__assume)
Doesn't llvm-gcc support GCC's builtin_expect?
Or does it transform it into nothing?
On Wed, Oct 22, 2008 at 6:28 PM, Paul Biggar <paul.biggar at gmail.com> wrote:
> Hi,
>
> I'm interested in whether or not there is a way of providing
> source-level annotations to help LLVM with optimizations, similar to
> VisualC++'s __assume facility
> (http://msdn.microsoft.com/en-us/library/1b3fsfxw.aspx)....
2008 Oct 22
0
[LLVMdev] Helping the optimizer along (__assume)
On Oct 22, 2008, at 3:28 PM, Paul Biggar wrote:
> As part of our PHP compiler (phpcompiler.org), it would be great to be
> able to annotate our generated C code with, for example, (var !=
> NULL), or (var->type == STRING), and have that information passed
> around (esp interprocedurally at link-time) by the LLVM optimizers....
2008 Oct 22
0
[LLVMdev] Helping the optimizer along (__assume)
On Wed, Oct 22, 2008 at 3:28 PM, Paul Biggar <paul.biggar at gmail.com> wrote:
> Hi,
>
> I'm interested in whether or not there is a way of providing
> source-level annotations to help LLVM with optimizations, similar to
> VisualC++'s __assume facility
> (http://msdn.microsoft.com/en-us/library/1b3fsfxw.aspx)....
2008 Oct 23
0
[LLVMdev] Helping the optimizer along (__assume)
> > %cond = i1 ...
> > br i1 %cond, label %always, label %never
> > never:
> > call void @llvm.abort()
> > unreachable
> >
> > At codegen time @llvm.abort() can be lowered to
> > nothing at all. I'm not saying that this is my
> > favorite solution, but it is simple.
>
> How is this different than just branching to unreachable?
2008 Oct 23
1
[LLVMdev] Helping the optimizer along (__assume)
...eave branch prediction hints, but won't remove
the branch. This would remove the branch. There was a discussion of
adding this to GCC a long time ago
(http://gcc.gnu.org/ml/gcc/2003-11/msg00324.html), but it looks like
nothing came of it, though you probably know better than me.
Paul
--
Paul Biggar
paul.biggar at gmail.com
2008 Oct 23
3
[LLVMdev] Helping the optimizer along (__assume)
On Oct 22, 2008, at 10:45 PM, Duncan Sands wrote:
>> Can't you implement __builtin_assume(cond) to codegen to something
>> like:
>>
>> %cond = i1 ...
>> br i1 %cond, label %always, label %never
>> never:
>> unreachable
>> always:
>
> The code generators will remove the branch to %never.
> I already tried this :) What would work is
2008 Oct 23
2
[LLVMdev] Helping the optimizer along (__assume)
Mike Stump wrote:
> On Oct 22, 2008, at 3:28 PM, Paul Biggar wrote:
>
>> As part of our PHP compiler (phpcompiler.org), it would be great to be
>> able to annotate our generated C code with, for example, (var !=
>> NULL), or (var->type == STRING), and have that information passed
>> around (esp interprocedurally at link-time)...
2008 Oct 23
8
[LLVMdev] Helping the optimizer along (__assume)
On 2008-10-22, at 19:24, Mike Stump wrote:
> On Oct 22, 2008, at 3:28 PM, Paul Biggar wrote:
>
>> As part of our PHP compiler (phpcompiler.org), it would be great to
>> be able to annotate our generated C code with, for example, (var !=
>> NULL), or (var->type == STRING), and have that information passed
>> around (esp interprocedurally at link-ti...