* tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
	(alloc_iv): Lower base expressions containing ADDR_EXPR.

	* gcc.dg/tree-ssa/ivopts-lower_base.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210356 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.h (rtx_def): Mark u2 as GTY ((skip)).


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210357 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* print-rtl.c (print_rtx): Guard whole '0' block with ifndef
	GENERATOR_FILE.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210358 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.def (REG): Remove middle field.
	* rtl.h (rtx_def): Add orignal_regno to u2.
	(ORIGINAL_REGNO): Use it instead of field 1.
	(REG_ATTRS): Lower field index accordingly.
	* gengtype.c (adjust_field_rtx_def): Remove handling of
	ORIGINAL_REGNO.  Move REG_ATTRS index down.
	* print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
	code that prints the REGNO.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210359 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
	(BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
	* rtl.h (rtx_def): Add insn_uid to u2 field.
	(RTX_FLAG_CHECK8): Delete in favor of...
	(RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
	(INSN_DELETED_P): Update accordingly.
	(INSN_UID): Use u2.insn_uid.
	(INSN_CHAIN_CODE_P): Define.
	(PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
	(INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
	(NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
	(NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
	(NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
	indices accordingly.
	* print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
	Update indices for insn-chain rtxes.
	* gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
	(adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
	* emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
	* caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
	* combine.c (try_combine): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210360 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.def (scratch): Fix outdated comment and remove "0" field.
	* gengtype.c (adjust_field_rtx_def): Update accordingly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210361 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.def (VAR_LOCATION): Remove "i" field.
	* rtl.h (rtx_def): Add u2.var_location_status.
	(PAT_VAR_LOCATION_STATUS): Use it.
	(gen_rtx_VAR_LOCATION): Declare.
	* gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
	* emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
	* var-tracking.c (emit_note_insn_var_location): Remove casts.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210362 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtl.def (SYMBOL_REF): Remove middle "0" field.
	* rtl.h (block_symbol): Reduce number of fields to 2.
	(rtx_def): Add u2.symbol_ref_flags.
	(SYMBOL_REF_FLAGS): Use it.
	(SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
	(SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
	* gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
	Lower index of SYMBOL_REF_DATA.
	* print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
	Print SYMBOL_REF_FLAGS at the same time.
	* genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210363 138bc75d-0d04-0410-961f-82ee72b054a4