Displaying 6 results from an estimated 6 matches for "iterator_category".
2008 Jul 23
0
[LLVMdev] GEP::getIndexValid() with other iterators
...ed NumIdx);
-
template<typename InputIterator>
static const Type *getIndexedType(const Type *Ptr,
InputIterator IdxBegin,
@@ -508,6 +505,13 @@
typename std::iterator_traits<InputIterator>::
iterator_category());
}
+
+ static const Type *getIndexedType(const Type *Ptr,
+ Value* const *Idx, unsigned NumIdx);
+
+ static const Type *getIndexedType(const Type *Ptr,
+ uint64_t const *Idx, unsigned NumIdx);
+
static const Type *ge...
2008 Jul 23
2
[LLVMdev] GEP::getIndexValid() with other iterators
On Jul 22, 2008, at 11:54 PM, Matthijs Kooijman wrote:
> Hi Chris,
>
>
>> I'd prefer to not turn this into a template. Why not just define a
>> version that takes an array of uint64_t's or something like that?
> because I want to be able to pass in iterators. I could define a
> version that
> takes std<uint64_t>::iterators, but next thing we know, we
2007 Jul 03
0
[LLVMdev] API design
On Tuesday 03 July 2007 10:58, David Greene wrote:
> > Here's a different suggestion that cloning all the code. Instead of
> > doing that, why not add a new (templated) CallInst ctor, one which is
> > very trivial. Then you could put the conditional code in it (to detect
> > an empty range) and call into the non-inline stuff we already have.
> >
> > It
2007 Jul 03
4
[LLVMdev] API design
On Tuesday 03 July 2007 00:44, Chris Lattner wrote:
> On Mon, 2 Jul 2007, David A. Greene wrote:
> >>> - Changing the API
> >>> a) Template it to take two iterators. This causes code size bloat.
> >
> > This seems like the right solution to me. Unless llvm is running on
> > extremely limited memory embedded systems, the extra code space
> >
2007 Jul 04
1
[LLVMdev] API design (and Boost and tr1)
...ype>(cast<PointerType>(Func->getType())
->getElementType())->getReturnType(),
Instruction::Call, 0, 0, InsertBefore) {
init(Func, ArgBegin, ArgEnd, Name,
typename std::iterator_traits<InputIterator>::iterator_category());
}
init() is the function that actually does the checking of the iterators for
an empty range.
This required that I pull in is_base_and_derived, remove_pointer, is_same and
remove_cv from Boost. boost::is_class already exists in Support/type_traits.h
so there is precedent for this.
Now, so...
2007 Jul 03
4
[LLVMdev] API design
On Monday 02 July 2007 16:26, Chris Lattner wrote:
> On Sun, 1 Jul 2007, Nick Lewycky wrote:
> > I've been running LLVM with _GLIBCXX_DEBUG (extra checks) turned on to
> > see what would happen, and it's been a complete disaster.
Well, that's a bit harsh, isn't it? It's finding bugs, just like it's
supposed to. :)
I believe I've started to run into