search for: tree_code

Displaying 20 results from an estimated 40 matches for "tree_code".

2007 Jul 17
0
[LLVMdev] Review: minor patches to llvm-gcc-4-2
...= TREE_CHAIN (t)) + DECL_GIMPLE_FORMAL_TEMP_P (t) = 0; + } #else t = 0; #endif Index: gcc/fold-const.c =================================================================== --- gcc/fold-const.c (revision 39923) +++ gcc/fold-const.c (working copy) @@ -12942,11 +12942,11 @@ { if ((TREE_CODE (exp) == INDIRECT_REF || TREE_CODE (exp) == ARRAY_REF) - && TREE_CODE (TREE_TYPE (exp)) == INTEGER_TYPE && + && TREE_CODE (TREE_TYPE (exp)) == INTEGER_TYPE /* LLVM LOCAL begin */ #if ENABLE_LLVM /* LLVM extends ARRAY_REF to allow pointers to be the b...
2008 Mar 25
2
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...uild/llvm/include -DL_powitf2 -c /home/chandlerc/code/compilers/llvm-gcc/gcc/libgcc2.c -o libgcc/./_powitf2.o cc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(!(__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64((__extension__ ({ const tree __t = (Tr);...
2009 Oct 30
2
[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
...tch to it: --- /data/LLVM/src/GCC/RELEASE_26/gcc/llvm-abi.h.jnz Thu Oct 29 00:32:52 2009 +++ /data/LLVM/src/GCC/RELEASE_26/gcc/llvm-abi.h Fri Oct 30 13:09:09 2009 @@ -529,7 +529,12 @@ HandleArgument(TREE_TYPE(type), ScalarElts); C.ExitField(); } + } else if (TREE_CODE(type) == REAL_TYPE) { + fprintf(stderr,"unhandled REAL_TYPE!\n"); + assert(0 && "unhandled REAL_TYPE!"); + abort(); } else { + fprintf(stderr,"unknown aggreate type %d\n",TREE_CODE(type)); assert(0 && "unknown aggr...
2008 Mar 27
2
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...rc at osiris ~/code/compilers/build/llvm-gcc $ ./gcc/cc1 -fpreprocessed -march=k8 testcase.i -o /dev/null foocc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(!(__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64((__extension__ ({ const tree __t = (Tr);...
2008 Mar 25
0
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...-c > /home/chandlerc/code/compilers/llvm-gcc/gcc/libgcc2.c -o > libgcc/./_powitf2.o > cc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: > const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): > Assertion `(!(__extension__ ({ const tree __t = (Tr); if > (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != > (tcc_type)) tree_class_check_failed (__t, (tcc_type), > "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, > __FUNCTION__); __t; })->type.size) || !Ty->isSized() || > !isInt64((__extension__ ({ co...
2009 Jan 09
2
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
...} } } @@ -2290,7 +2301,7 @@ Value *TreeToLLVM::EmitLoadOfLValue(tree LValue LV = EmitLV(exp); bool isVolatile = TREE_THIS_VOLATILE(exp); const Type *Ty = ConvertType(TREE_TYPE(exp)); - unsigned Alignment = expr_align(exp) / 8; + unsigned Alignment = LV.getAlignment(); if (TREE_CODE(exp) == COMPONENT_REF) if (const StructType *STy = dyn_cast<StructType>(ConvertType(TREE_TYPE(TREE_OPERAND(exp, 0))))) @@ -2963,7 +2974,7 @@ Value *TreeToLLVM::EmitMODIFY_EXPR(tree LValue LV = EmitLV(lhs); bool isVolatile = TREE_THIS_VOLATILE(lhs); - unsigned Align...
2009 Dec 04
4
[LLVMdev] r72619
...; extension. */ external_p = (DECL_INTERFACE_KNOWN (d) && DECL_REALLY_EXTERN (d)); /* In general, we do not instantiate such templates... */ if (external_p /* ... but we instantiate inline functions so that we can inline them and ... */ && ! (TREE_CODE (d) == FUNCTION_DECL && DECL_INLINE (d)) /* ... we instantiate static data members whose values are needed in integral constant expressions. */ && ! (TREE_CODE (d) == VAR_DECL && DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (d))) goto...
2007 Oct 26
2
[LLVMdev] RFC: llvm-convert.cpp Patch
...--- gcc/llvm-convert.cpp (revision 43366) +++ gcc/llvm-convert.cpp (working copy) @@ -3020,8 +3020,26 @@ Emit(TREE_OPERAND(exp, 1), LV.Ptr); EmitAggregateCopy(DestLoc, LV.Ptr, TREE_TYPE(exp), isVolatile, false, Alignment); } else if (!isVolatile && TREE_CODE(TREE_OPERAND(exp, 0))!=RESULT_DECL) { - Emit(TREE_OPERAND(exp, 1), LV.Ptr); + // At this point, Alignment is the alignment of the destination + // pointer. It may not match the alignment of the source pointer. So, we + // need to make sure that it's has at least its alignmen...
2009 Dec 04
0
[LLVMdev] r72619
...gt; external_p = (DECL_INTERFACE_KNOWN (d) && DECL_REALLY_EXTERN (d)); > /* In general, we do not instantiate such templates... */ > if (external_p > /* ... but we instantiate inline functions so that we can inline > them and ... */ > && ! (TREE_CODE (d) == FUNCTION_DECL && DECL_INLINE (d)) > /* ... we instantiate static data members whose values are > needed in integral constant expressions. */ > && ! (TREE_CODE (d) == VAR_DECL > && DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P...
2008 Mar 27
0
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
Hi Chandler, > void > foo () { > float x __attribute__ ((mode (XF))); > } nice reduction. I don't see any problem on x86-32, and I don't have access to an x86-64 box right now. Can you please open a PR for this, and also run in the debugger. When you hit the abort, use "up" to go up a stack frame or two or three, and print out the gcc types [use: call
2007 Oct 10
0
[LLVMdev] Can't bootstrap llvm-gcc-4.0 for x84_64
On Wednesday 10 October 2007 12:53, Chris Lattner wrote: > On Mon, 8 Oct 2007, Evan Cheng wrote: > > I am turning 32-bit add into 32-bit LEA on x86-64 but that's > > perfectly legal. Both > > leal (%esi,%edi), %eax > > leal (%rsi,%rdi), %eax > > are legal assembly. It's just the former requires a 67H prefix due to > > the 32-bit address size. >
2008 Mar 27
2
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...d in added symbol-file system-supplied DSO at 0x7fff0d5fe000 [Thread debugging using libthread_db enabled] foocc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(!(__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm- types.cpp", 81, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64((__extension__ ({ const tree __t = (Tr)...
2007 Oct 10
3
[LLVMdev] Can't bootstrap llvm-gcc-4.0 for x84_64
...essor requested. [x86_64-off-dbg]: Warning: 64-bit processors all have at least SSE2. [x86_64-off-dbg]: cc1: /llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp:82: const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(! (__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp", 82, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64 ((__extension__ ({ const tree __t =...
2009 Oct 30
0
[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
Hello, Juergen > With the full patch, I get the assertion of the 'unhandled REAL_TYPE!', > so I wonder what needs to be done in order to get LLVM to produce > code for 'TREE_CODE(type) == REAL_TYPE' in the 'HandleArgument' function. > > > Does anyone have an idea? And why does this only happen on SPARC? What is the value of "Ty" in your case? Just do "call Ty->dump()". -- With best regards, Anton Korobeynikov Faculty of Mathemat...
2010 Jan 07
1
[LLVMdev] "Value has wrong type!" on Bool:4 bitfield
...he GCC 4.2 testsuite) I get: $ cc1plus bitfield4.ii -emit-llvm-bc -o bitfield4.o -quiet cc1plus: /home/foad/svn/antix/toolchain/branches/w/foad/2757llvm26/toolchain/llvm/llvm-gcc/gcc/llvm-convert.cpp:999: llvm::Value* TreeToLLVM::Emit(tree_node*, const MemRef*): Assertion `(Result == 0 || (((enum tree_code) (((exp)->common.type))->common.code) == VOID_TYPE) || isa<VectorType>(ConvertType(((exp)->common.type))) || Result->getType() == ConvertType(((exp)->common.type))) && "Value has wrong type!"' failed. At this point Result is "i8 1". ConvertType(...
2007 Jan 11
1
[LLVMdev] Ada support for llvm-gcc4
Hello, Duncan. > 3-fortran.diff > Get fortran to compile: use the common stubs and rip out > the incomplete collection of dummy routines someone already put in. > With this patch, the fortran build dies at this point: > > cc1: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:367: void llvm::ScheduleDAG::AddOperand(llvm: > :MachineInstr*, llvm::SDOperand, unsigned int, const
2007 Oct 10
2
[LLVMdev] Can't bootstrap llvm-gcc-4.0 for x84_64
On Mon, 8 Oct 2007, Evan Cheng wrote: > I am turning 32-bit add into 32-bit LEA on x86-64 but that's > perfectly legal. Both > leal (%esi,%edi), %eax > leal (%rsi,%rdi), %eax > are legal assembly. It's just the former requires a 67H prefix due to > the 32-bit address size. > > This does point to a performance problem in the 3 address conversion > code (which I
2017 Apr 19
3
API to Differentiate between SSA and non SSA form
...ot have the LLVM SSA temporaries (like, %0, %1). My doubt is that whether we can extract the normal C variables from LLVM IR or is there any way to differentiate between SSA temporary and local C variable? For e.g. in GCC I can check whether a particular variable is an SSA temporary like, if(TREE_CODE(t) == SSA_NAME) return true; Basically, I want to skip all those %0, %1 temporaries. But keep all those which refer to C variables. One way to do this would be to check whether a Value has been given a name by using hasName function. But it does not work every time. For e.g. in case of...
2006 Mar 07
0
[LLVMdev] Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
...C++ > forbids > declaration of `tsi_next' with no type > ../../2006-03-02-llvm-gcc-4/gcc/llvm-convert.cpp:1312: error: `int tsi_next' This is more strange. The code likes this for me: for (tree_stmt_iterator I = tsi_start(node); !tsi_end_p(I); tsi_next(&I)) if (TREE_CODE(tsi_stmt(I)) == LABEL_EXPR) SET_DECL_LLVM(TREE_OPERAND(tsi_stmt(I), 0), 0); Is this what you have? If so, can you send me the preprocessed source file? What host compiler are you using? -Chris -- http://nondot.org/sabre/ http://llvm.org/
2004 Nov 28
1
[LLVMdev] attempt to make dummy drivers for llvm-gcc for f77, java and objc
...: llvm_dummies.c : void nothing(){} // do nothing void (*lang_expand_decl_stmt) (tree)=&nothing; void (*lang_expand_function_end) (void)=&nothing; _Bool statement_code_p[256]; // dummy data c_language_kind c_language; tree build_stmt (enum tree_code a, ... ){ return 0 ;} int stmts_are_full_exprs_p (void){ return 0;} int anon_aggr_type_p (tree a){ return 0;} void prep_stmt (tree a){} stmt_tree current_stmt_tree (void){ return 0;} Hope this made your day just a little bit nicer, mike ===== James M...