s390.md (reload_base, ltorg): Remove.
* config/s390/s390.md (reload_base, ltorg): Remove. * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool, s390_asm_output_pool_prologue, s390_pool_start_insn): Remove. * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool, s390_asm_output_pool_prologue): Likewise. * s390.h (s390_pool_start_insn): Likewise. * s390.c (s390_output_symbolic_const): Remove support for old-style pool chunks. (s390_function_epilogue): Likewise. (s390_output_constant_pool): Likewise. Also, fix incorrect alignment for 64-bit literal pools. (print_operand_address): Remove 'y' and 'Y' format flags. * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for old-style pool chunks. (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. (ASM_OUTPUT_POOL_EPILOGUE): Remove. (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove. * s390.c (consttable_operand): New function. * s390-protos.h (consttable_operand): Declare it. * s390.h (PREDICATE_CODES): Add consttable_operand. * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di, consttable_sf, consttable_df, pool_start_31, pool_end_31, pool_start_64, pool_end_64, reload_base, reload_base2): New insns. * s390.c (struct constant, struct constant_pool): New data types. (constant_modes, gen_consttable): New variables. (s390_start_pool, s390_end_pool, s390_add_pool, s390_dump_pool, s390_free_pool): New functions. (s390_chunkify_pool): Completely reimplement literal pool overflow handling. * s390.c (s390_pool_overflow): New variable. * s390.h (s390_pool_overflow): Declare it. * s390.md (cjump, icjump): Use it to adapt length for out-of-range jumps in literal pool overflow situations. * s390.c (s390_decompose_address): Accept new-style pool chunk offsets. (s390_frame_info): Account for possible use of RETURN_REGNUM by new literal pool overflow code. (s390_emit_prologue): Likewise. From-SVN: r54500
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment