diff options
author | Caroline Tice <cmtice@google.com> | 2016-03-16 13:56:07 -0700 |
---|---|---|
committer | Caroline Tice <cmtice@google.com> | 2016-03-16 13:56:07 -0700 |
commit | ac16f08b86701ecf70e32f4ead8db63d92603808 (patch) | |
tree | 08f5e73c8a8f3c980468347bcc0c283bc1e6d3eb /gcc-4.9/gcc/cfgloop.h | |
parent | 3a800d7d75ceba88429096186a2150a2d938334a (diff) | |
download | toolchain_gcc-ac16f08b86701ecf70e32f4ead8db63d92603808.zip toolchain_gcc-ac16f08b86701ecf70e32f4ead8db63d92603808.tar.gz toolchain_gcc-ac16f08b86701ecf70e32f4ead8db63d92603808.tar.bz2 |
GCC unification, part 2. Fix various errors from previous unificaiton.
The previous version of the unified GCC compiler (Android & ChromeOS)
caused some ChromeOS tests to fail. It also caused an Android NDK
test case to fail. This CL fixes those problems. In particular it
does the following:
- Fix some file formatting errors from previous unification patch.
- Update ChangeLog files to reflect Android backport patches.
- Find and incorporate a few missing pieces from the following backports
backports from trunk r221007, r221675, r222011, r212011, r214942,
r214957, r215012, r215016, r218115, r218733, r218746, r220491. This
involved small changes in the following files:
gcc/cfghoks.c
gcc/cfgloop.c
gcc/cfgloop.h
gcc/except.c
gcc/loop-init.c
gcc/omp-low.c
- Fix minor Android test case regression introduced in the previous
unification patch.
Change-Id: I482e3a34e3ed97c7ba609fe2954b4781f02ec617
Diffstat (limited to 'gcc-4.9/gcc/cfgloop.h')
-rw-r--r-- | gcc-4.9/gcc/cfgloop.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/cfgloop.h b/gcc-4.9/gcc/cfgloop.h index 11bfc81..ce1a689 100644 --- a/gcc-4.9/gcc/cfgloop.h +++ b/gcc-4.9/gcc/cfgloop.h @@ -203,6 +203,12 @@ struct GTY ((chain_next ("%h.next"))) loop { /* Number of iteration analysis data for RTL. */ struct niter_desc *simple_loop_desc; + + /* For sanity checking during loop fixup we record here the former + loop header for loops marked for removal. Note that this prevents + the basic-block from being collected but its index can still be + reused. */ + basic_block former_header; }; /* Flags for state of loop structure. */ @@ -345,6 +351,8 @@ struct loop * loop_version (struct loop *, void *, extern bool remove_path (edge); extern void unloop (struct loop *, bool *, bitmap); extern void scale_loop_frequencies (struct loop *, int, int); +void mark_loop_for_removal (loop_p); + /* Induction variable analysis. */ |