diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-08-05 15:46:02 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-08-05 15:46:02 +0000 |
commit | d1427a17a7d98f096ee0b199ef8caf993c8f2e0e (patch) | |
tree | e2b87b455362f2a157c821a15173804ce016cdac /gcc/gensupport.c | |
parent | ba0ee63dfe37e08aef608039525304e919c18187 (diff) | |
download | gcc-d1427a17a7d98f096ee0b199ef8caf993c8f2e0e.zip gcc-d1427a17a7d98f096ee0b199ef8caf993c8f2e0e.tar.gz gcc-d1427a17a7d98f096ee0b199ef8caf993c8f2e0e.tar.bz2 |
gensupport.h (get_c_test): Declare.
gcc/
* gensupport.h (get_c_test): Declare.
* gensupport.c (get_c_test): New function.
* genconditions.c (main): Use it.
* genrecog.c (validate_pattern): Likewise.
(match_pattern_1): Likewise. Remove c_test argument.
(match_pattern): Update accordingly and remove c_test argument.
(main): Update accordingly.
From-SVN: r226634
Diffstat (limited to 'gcc/gensupport.c')
-rw-r--r-- | gcc/gensupport.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/gensupport.c b/gcc/gensupport.c index 714af03..6870058 100644 --- a/gcc/gensupport.c +++ b/gcc/gensupport.c @@ -2610,6 +2610,29 @@ get_num_insn_codes () return sequence_num; } +/* Return the C test that says whether definition rtx DEF can be used, + or "" if it can be used unconditionally. */ + +const char * +get_c_test (rtx x) +{ + switch (GET_CODE (x)) + { + case DEFINE_INSN: + case DEFINE_EXPAND: + case DEFINE_SUBST: + return XSTR (x, 2); + + case DEFINE_SPLIT: + case DEFINE_PEEPHOLE: + case DEFINE_PEEPHOLE2: + return XSTR (x, 1); + + default: + return ""; + } +} + /* Helper functions for insn elision. */ /* Compute a hash function of a c_test structure, which is keyed |