Displaying 7 results from an estimated 7 matches for "isintorintvector".
Did you mean:
isintorintvectorty
2010 Jul 13
1
[LLVMdev] The question of sext instruction implementation
...Sign extend a constant to another type. The bit size of CST must
be smaller or equal to the bit size of TYPE. Both types must be
integers.
But in the code of llvm-2.6, the judge condition just allow smaller to
the bit size of TYPE as the following :
case Instruction::SExt:
return SrcTy->isIntOrIntVector() &&
DstTy->isIntOrIntVector()&& SrcBitSize < DstBitSize;
So I feel confused the difference about the documentation and implementation.
Thanks
MK
----------------------------------------
www.skyeye.org
2008 May 17
0
[LLVMdev] More info, was Help needed after hiatus
...ALLOC( i32 %4 )
> br label %return
>
> return: ; preds = %entry
> ret void
> }
BTW, It's usually better to file a bug for this sort of thing.
The issue is around InstructionCombining:2507:
// W*X + Y*Z --> W * (X+Z) iff W == Y
if (I.getType()->isIntOrIntVector()) {
Value *W, *X, *Y, *Z;
if (match(LHS, m_Mul(m_Value(W), m_Value(X))) &&
match(RHS, m_Mul(m_Value(Y), m_Value(Z)))) {
The issue starts with the lines:
add i32 %2, 2 ; <i32>:3 [#uses=1]
mul i32 %3, ptrtoint (i32* getelementptr (i32* null, i...
2008 May 17
2
[LLVMdev] More info, was Help needed after hiatus
Hi,
I know my last question was very vague (i.e. "It stopped working, what
went wrong?"), so here is a little more concrete example:
If I run the optimizer (opt) on this code snippet with -std-compile-opts
the optimizer hangs.
; ModuleID = 'test.ubc'
target datalayout =
2010 Apr 22
1
[LLVMdev] 2.7 release notes
...s.html.old 2010-04-22 09:43:42.000000000 +0200
> +++ ReleaseNotes.html 2010-04-22 10:27:22.000000000 +0200
> @@ -862,6 +862,18 @@
> <tt>isFPOrFPVector</tt> and <tt>isFPOrFPVector</tt> methods have been renamed
> <tt>isIntegerTy</tt>, <tt>isIntOrIntVectorTy</tt>, <tt>isFloatingPointTy</tt>,
> <tt>isFPOrFPVectorTy</tt> and <tt>isFPOrFPVectorTy</tt> respectively.</li>
> +
> +<li><tt>llvm::Instruction::clone()</tt> no longer takes argument.</li>
> +<li><tt>...
2008 Mar 15
0
[LLVMdev] improving the ocaml binding's type safety
...const_add x y, there are
several conditions that would be interesting for the type checker to
verify:
(* Easy; is encoded in the C++ type system. *)
isa<Constant>(x) && isa<Constant>(y)
(* Harder; assertions in C++. *)
x->getType() == y->getType()
x->getType()->isIntOrIntVector() || x->getType()->isFPOrFPVector()
I was very impressed that Bryan made build_call statically type check!
Still, there are also some problems that I don't think are tractable.
Consider param 1 f. Even if the type checker knows the type of f via
something like `Function of ('a v...
2008 Mar 15
4
[LLVMdev] improving the ocaml binding's type safety
I was talking to Gordon on #llvm earlier, and he challenged me with
coming up with a way to improve the ocaml binding's type safety. We
can't go letting haskell beat us now, can we? I think I got an easy
solution with phantom types.
For those who don't know what the problem is, the ocaml bindings share
one type between whole class branches (like values). This means we
need to downcast
2008 May 14
3
[LLVMdev] Help needed after hiatus
Hi,
I've restarted my Elsa/LLVM project after three months of having real
life intrude. I upgraded my LLVM source to the current trunk. I had to
make a few changes to my source, e.g. LLVMFoldingBuilder became
IRBuilder and several instances of "new" became "Create".
Now, a test case that previously succeeded fails. I run the following
script:
#!/bin/sh
if [ 1 -ne 0 ]