On 06/16/2015 11:20 AM, Andrew MacLeod wrote:
cgraph.h requires hard-reg-set.h in order to compile simply because the
cgraph_rtl_info structure contains a HARD_REG_SET element.
All accesses to this structure are already handled by returning a
pointer to the structure within the cgraph_node. By moving the
defintion of struct cgraph_rtl_info into rtl.h and maintaining a pointer
to it instead of the structure within cgraph_node, the compilation
requirement on hard-reg-set.h can be completely removed when including
cgraph.h. This will hopefully help prevent bringing hard-reg-set and
tm.h into a number of source files.
The structure in rtl.h is protected by checking for HARD_CONST (which
many other things in rtl.h do). This is mostly so generator files won't
trip over them. 2 source files needed adjustment because they didn't
include hard-reg-set.h before rtl.h. I guess they never referenced the
other things protected by HARD_CONST in the file. This ordering issue
should shortly be resolved by an include grouping.
Bootstraps on x86_64-unknown-linux-gnu with no new regressions. Also
passes all the targets in config-list.mk
OK for trunk?
OK.
jeff