search for: biggar

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...