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)=¬hing;
void (*lang_expand_function_end) (void)=¬hing;
_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...