Displaying 20 results from an estimated 40000 matches similar to: "[LLVMdev] LLVMBuilder/LLVMFoldingBuilder -> IRBuilder"
2008 Apr 10
3
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Duncan Sands wrote:
>> Another option that was discussed in #llvm is to nuke LLVMBuilder and
>> rename LLVMFoldingBuilder to LLVMBuilder. If this was the case, I'd
>> argue for a flag in the Builder that could retain the old non-folding
>> functionality for debugging purposes.
>>
>
> this plan sounds good to me. However it's not clear to me how
2008 Apr 10
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Dominic Hamon wrote:
> Duncan Sands wrote:
>>> Another option that was discussed in #llvm is to nuke LLVMBuilder
>>> and rename LLVMFoldingBuilder to LLVMBuilder. If this was the case,
>>> I'd argue for a flag in the Builder that could retain the old
>>> non-folding functionality for debugging purposes.
>>>
>>
>> this plan
2008 Apr 11
4
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Hi Dominic,
+//===-- llvm/Support/IRBuilder.h - Builder for LLVM Instrs -----*- C++ -*-===//
is this line the right length? It seems shorter than the similar lines below like
this one:
+//===----------------------------------------------------------------------===//
+ GetElementPtrInst *CreateStructGEP(Value *Ptr, unsigned Idx,
+ const char *Name =
2008 Apr 03
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Hi,
> Another option that was discussed in #llvm is to nuke LLVMBuilder and
> rename LLVMFoldingBuilder to LLVMBuilder. If this was the case, I'd
> argue for a flag in the Builder that could retain the old non-folding
> functionality for debugging purposes.
this plan sounds good to me. However it's not clear to me how useful a
debug flag would really be.
Ciao,
Duncan.
2008 Apr 02
4
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Hello llvm dev peeps
I would like to use an LLVMBuilder pointer as a base pointer to
reference either an LLVMBuilder or an LLVMFoldingBuilder. As the methods
in the Folding builder have the same names as the base class, I thought
about submitting a patch whereby the base class methods would become
virtual. However, the base class methods return specific types while the
Folding builder, for
2008 Apr 04
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
On Apr 2, 2008, at 9:54 AM, Dominic Hamon wrote:
> Hello llvm dev peeps
>
> I would like to use an LLVMBuilder pointer as a base pointer to
> reference either an LLVMBuilder or an LLVMFoldingBuilder. As the
> methods
> in the Folding builder have the same names as the base class, I
> thought
> about submitting a patch whereby the base class methods would become
>
2008 Apr 12
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Duncan Sands wrote:
> + GetElementPtrInst *CreateStructGEP(Value *Ptr, unsigned Idx,
> + const char *Name = "") {
> + llvm::Value *Idxs[] = {
> + ConstantInt::get(llvm::Type::Int32Ty, 0),
> + ConstantInt::get(llvm::Type::Int32Ty, Idx)
> + };
> + return Insert(GetElementPtrInst::Create(Ptr, Idxs, Idxs+2, Name));
2008 Apr 11
2
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
On Apr 10, 2008, at 7:05 AM, Dominic Hamon wrote:
> Dominic Hamon wrote:
>> Duncan Sands wrote:
>>>> Another option that was discussed in #llvm is to nuke LLVMBuilder
>>>> and rename LLVMFoldingBuilder to LLVMBuilder. If this was the
>>>> case, I'd argue for a flag in the Builder that could retain the
>>>> old non-folding
2008 Apr 04
2
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
Am Donnerstag, den 03.04.2008, 19:29 -0700 schrieb Chris Lattner:
> On Apr 2, 2008, at 9:54 AM, Dominic Hamon wrote:
>
> > Would it be reasonable for me to submit a patch whereby [...] the
> > LLVMFoldingBuilder methods become virtual overrides of the base
> > class methods?
>
> No, please don't do this. The idea of llvmbuilder is that it is a
>
2008 Apr 04
0
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
On Fri, 4 Apr 2008, Joachim Durchholz wrote:
>> No, please don't do this. The idea of llvmbuilder is that it is a
>> "free" wrapper around the other existing API calls. Making the
>> methods virtual would make them much more expensive.
>
> Wouldn't the class of the objects be known at compile time in most
> cases? This is essentially just a case of
2008 Apr 04
0
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
In general, the C++ compiler does NOT know the type of the leaf class
when performing a virtual method invocation. In particular, a parameter
(including "this") alleging to be a Foo* (Foo being some class) may
actually be any subclass of Foo, so unless the compiler can trace the
value flow all the way from the instantiation, it can't tell.
The necessary tracing is (a) hard, (b)
2008 Apr 04
4
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
Am Freitag, den 04.04.2008, 11:19 -0700 schrieb Chris Lattner:
> On Fri, 4 Apr 2008, Joachim Durchholz wrote:
> >> No, please don't do this. The idea of llvmbuilder is that it is a
> >> "free" wrapper around the other existing API calls. Making the
> >> methods virtual would make them much more expensive.
> >
> > Wouldn't the class of
2008 Apr 13
2
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
> Please find _attached_ the update patches with all requested changes.
Applied - thanks!
Ciao,
Duncan.
2008 Apr 13
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
On Apr 12, 2008, at 11:28 PM, Duncan Sands wrote:
>> Please find _attached_ the update patches with all requested changes.
>
> Applied - thanks!
>
In the future, can all major API changes please be checked in after
giving some warning to the community? For example, send a separate
email title "API Change" and then give some sort of warning as to when
it will go in
2007 Dec 17
0
[LLVMdev] Elsa and LLVM and LLVM submissions
I used &Idx[0]. In future, please avoid tabs in your patch.
I applied your patch.
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071217/056403.html
-
Devang
On Dec 17, 2007, at 2:57 AM, Richard Pennington wrote:
> Devang Patel wrote:
>> On Dec 15, 2007, at 12:15 PM, Richard Pennington wrote:
>>> I got the current version of LLVM via svn yesterday and
2008 Apr 04
0
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
On Fri, 4 Apr 2008, Joachim Durchholz wrote:
>> Please verify that this actually happens in practice with llvm-gcc and
>> gcc.
>
> If that's already the case (which I'll gladly believe), where does the
> performance overhead for virtual functions come from?
> (Just curious.)
I don't understand what you're asking. Please rephrase.
-Chris
--
2008 Apr 04
0
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
On Apr 4, 2008, at 3:59 PM, Joachim Durchholz wrote:
>
> I'm not sure how hard (a) really is. It's being done in other
> imperative
> OO languages, and quite successful there (the SmartEiffel folks have
> reported they can eliminate the vtable lookup in about 90% of call
> sites,
Are those the folks that don't do separate compilation or dynamic
libraries? :-)
2008 Apr 11
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
On Apr 11, 2008, at 02:19, Chris Lattner wrote:
> On Apr 10, 2008, at 7:05 AM, Dominic Hamon wrote:
>
>> And there were. updated patches attached.
>
> Looking good. One big comment: Please attach patches to email
> instead of including them inline.
Thunderbird and Mail are once again conspiring against Chris. The fix
is to make Thunderbird attach attachments instead of
2008 Apr 04
2
[LLVMdev] Virtual methods (was: LLVMBuilder vs LLVMFoldingBuilder)
Am Freitag, den 04.04.2008, 15:19 -0400 schrieb Jonathan S. Shapiro:
> In general, the C++ compiler does NOT know the type of the leaf class
> when performing a virtual method invocation. In particular, a parameter
> (including "this") alleging to be a Foo* (Foo being some class) may
> actually be any subclass of Foo, so unless the compiler can trace the
> value flow all
2007 Dec 17
2
[LLVMdev] Elsa and LLVM and LLVM submissions
Devang Patel wrote:
> On Dec 15, 2007, at 12:15 PM, Richard Pennington wrote:
>
>> I got the current version of LLVM via svn yesterday and modified my
>> code to
>> use the LLVMFoldingBuilder. Very nice!
>>
>> My question is this: I noticed that the folding builder doesn't fold
>> some
>> operations, e.g. casts. Is there some reason why? If