Displaying 4 results from an estimated 4 matches for "tree_valu".
Did you mean:
tree_value
2008 Feb 16
3
[LLVMdev] linux/x86-64 codegen support
...definately is rejecting the arglist in EmitBuiltinAlloca.
(try:
bool TreeToLLVM::EmitBuiltinAlloca(tree exp, Value *&Result) {
tree arglist = TREE_OPERAND(exp, 1);
if (!validate_arglist(arglist, INTEGER_TYPE, VOID_TYPE)) {
debug_tree(arglist);
return false;
}
Value *Amt = Emit(TREE_VALUE(arglist), 0);
Amt = CastToSIntType(Amt, Type::Int32Ty);
Result = Builder.CreateAlloca(Type::Int8Ty, Amt, "tmp");
return true;
}
for a pretty (?) print of the tree at that point)
Andrew
On 2/16/08, Török Edwin <edwintorok at gmail.com> wrote:
> Andrew Lenharth wrote:
>...
2008 Feb 16
0
[LLVMdev] linux/x86-64 codegen support
...n EmitBuiltinAlloca.
>
> (try:
> bool TreeToLLVM::EmitBuiltinAlloca(tree exp, Value *&Result) {
> tree arglist = TREE_OPERAND(exp, 1);
> if (!validate_arglist(arglist, INTEGER_TYPE, VOID_TYPE)) {
> debug_tree(arglist);
> return false;
> }
> Value *Amt = Emit(TREE_VALUE(arglist), 0);
> Amt = CastToSIntType(Amt, Type::Int32Ty);
> Result = Builder.CreateAlloca(Type::Int8Ty, Amt, "tmp");
> return true;
> }
> for a pretty (?) print of the tree at that point)
This is very strange. I built a cross compiler to x86_64-unknown-
linux-gnu and...
2008 Feb 16
0
[LLVMdev] linux/x86-64 codegen support
Andrew Lenharth wrote:
> Interestingly, in the .i file there are 2 __builtin_alloca, and
> EmitBuiltinAlloca is only being called once.
>
>
Hmm, here EmitBuiltinAlloca gets called twice, but it looks like
validate_arglist is rejecting the args both times.
I have 2 calls to alloca generated:
$ grep alloca x.bc|grep call
%tmp21 = call i8* @alloca( i64 %tmp20 ) nounwind
2008 Feb 16
2
[LLVMdev] linux/x86-64 codegen support
Interestingly, in the .i file there are 2 __builtin_alloca, and
EmitBuiltinAlloca is only being called once.
Andrew
On 2/16/08, Andrew Lenharth <andrewl at lenharth.org> wrote:
> libcpp/charset.c:631 turns into:
>
> %tmp16 = tail call i64 @strlen( i8* %to ) nounwind readonly
> ; <i64> [#uses=1]
> %tmp18 = tail call i64 @strlen( i8* %from ) nounwind