Displaying 5 results from an estimated 5 matches for "make_vector".
2007 Aug 13
1
[LLVMdev] Suspicious code for X86 target
Hi,
I found some suspicious code in
X86TargetLowering::getRegClassForInlineAsmConstraint, but I don't know if
it's a bug or my poor understanding of what the code does.
This is the code in question:
(lib/Target/X86/X86ISelLowering.cpp:5064)
if (VT == MVT::i32)
return make_vector<unsigned>(X86::EAX, X86::EDX, X86::ECX, X86::EBX, 0);
else if (VT == MVT::i16)
return make_vector<unsigned>(X86::AX, X86::DX, X86::CX, X86::BX, 0);
else if (VT == MVT::i8)
return make_vector<unsigned>(X86::AL, X86::DL, X86::CL, X86::DL, 0);
In the last vector, I would exp...
2006 Dec 05
1
[LLVMdev] possible bug in X86TargetLowering::getRegClassForInlineAsmConstraint
In file lib/Target/X86/X86ISelLowering.cpp
Function X86TargetLowering::getRegClassForInlineAsmConstraint
I think the second register must be X86::BL.
else if (VT == MVT::i8)
return make_vector<unsigned>(X86::AL, X86::DL, X86::CL, X86::DL, 0);
Lauro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20061205/3aab4bc8/attachment.html>
2005 Aug 24
1
[LLVMdev] CallInst constructor interface
Hi,
Inserting a call instruction is a bit of a pain. The only way I know
how to do it is to write a bunch of code like the following:
std::vector<const Type*> formalArgs;
formalArgs.push_back(arg1->getType());
formalArgs.push_back(arg2->getType());
...
formalArgs.push_back(argn->getType());
std::vector<Value*> args;
args.push_back(arg1);
2003 Jan 28
1
[LLVMdev] Building a new struct type, etc
Hi folks,
I was just wondering if someone would be willing to tell me the best way
to make a new structure type in LLVM and get it inserted as a valid type
into a particular Module instance?
I've done the following:
vector<const Type*> types;
types.push_back(Type::UIntTy);
types.push_back(Type::UIntTy);
structType = StructType::get(types);
But
2003 May 29
0
[LLVMdev] Re: recursive structs (linked list)
...eck
structural equality of types. Naturally, this makes things interesting
when it comes to building recursive structures. :)
The trick to it is to use an Opaque type like so:
// ST1 === struct ST1;
OpaqueType *ST1 = OpaqueType::get();
// ST2 === { int, ST1* }
StructType *ST2 = StructType::get(make_vector(Type::IntTy,
PointerType::get(ST1), 0));
// ST1 === ST2, delete ST1
ST1->refineAbstractTypeTo(ST2);