X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_hl.c;h=38d1e4b168be9745c274f570f312acbbe3b0f3aa;hb=e78f164c3a0654b8567ff0fcba69b3ca68f07ab5;hp=c7df2782b166f52cfcb8b2733f7e4fe909d7f82f;hpb=5e69555e427ecbdf77e61198963e40ff0eb570e9;p=libfirm diff --git a/ir/lower/lower_hl.c b/ir/lower/lower_hl.c index c7df2782b..38d1e4b16 100644 --- a/ir/lower/lower_hl.c +++ b/ir/lower/lower_hl.c @@ -506,6 +506,20 @@ static void lower_bitfields_stores(ir_node *store) { set_Store_ptr(store, ptr); } /* lower_bitfields_stores */ +/** + * Lowers unaligned Loads. + */ +static void lower_unaligned_Load(ir_node *load) { + /* NYI */ +} + +/** + * Lowers unaligned Stores + */ +static void lower_unaligned_Store(ir_node *store) { + /* NYI */ +} + /** * lowers IR-nodes, called from walker */ @@ -518,6 +532,14 @@ static void lower_irnode(ir_node *irn, void *env) { case iro_SymConst: lower_symconst(irn); break; + case iro_Load: + if (env != NULL && get_Load_align(irn) == align_non_aligned) + lower_unaligned_Load(irn); + break; + case iro_Store: + if (env != NULL && get_Store_align(irn) == align_non_aligned) + lower_unaligned_Store(irn); + break; default: break; } @@ -563,7 +585,7 @@ void lower_highlevel(void) { /* First step: lower bitfield access: must be run as long as Sels still exists. */ irg_walk_graph(irg, NULL, lower_bf_access, NULL); - /* Finally: lower SymConst-Size and Sel nodes. */ + /* Finally: lower SymConst-Size and Sel nodes, unaligned Load/Stores. */ irg_walk_graph(irg, NULL, lower_irnode, NULL); set_irg_phase_low(irg);