This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] New tests
- From: law at redhat dot com
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 30 May 2003 16:09:18 -0600
- Subject: [tree-ssa] New tests
- Reply-to: law at redhat dot com
These test two bugs found while working on the tree-ssa code.
The first shows a case where Diego's hack to avoid overlapping
lifetimes fails, thus leading to an abort during the out of SSA
translation.
The second shows a case where a commutative expression was not
commonized due to operand order differences. This also led to
a case where we created overlapping lifetimes and aborted.
I've checked these into the branch.
typedef struct rs6000_stack {
int first_gp_reg_save;
} rs6000_stack_t;
extern char regs_ever_live[113];
extern rs6000_stack_t *rs6000_stack_info (void);
void
rs6000_emit_prologue (int i, rs6000_stack_t *info)
{
if (regs_ever_live[info->first_gp_reg_save + i] || i+info->first_gp_reg_save)
gen_rtx_REG (info->first_gp_reg_save + i);
}
union tree_node;
typedef union tree_node *tree;
struct tree_common
{
tree type;
unsigned lang_flag_0 : 1;
};
union tree_node
{
struct tree_common common;
};
static void
java_check_regular_methods (tree class_decl)
{
int saw_constructor = class_decl->common.type->common.lang_flag_0;
tree class = class_decl->common.type;
for (;;)
{
if (class)
if (class_decl->common.type)
bar (class);
}
}