diff options
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/xtensa-isa.c | 9 | ||||
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/xtensa-isa-internal.h | 1 | ||||
-rw-r--r-- | include/xtensa-isa.h | 13 |
5 files changed, 32 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ed41ba20194..eb1b7186f58 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2004-11-12 Bob Wilson <bob.wilson@acm.org> + + * xtensa-isa.c (xtensa_interface_class_id): New. + 2004-11-11 Bob Wilson <bob.wilson@acm.org> * elf32-xtensa.c (property_table_compare): Remove assertion about diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c index 30ad80cfd6b..f5fa3c2111c 100644 --- a/bfd/xtensa-isa.c +++ b/bfd/xtensa-isa.c @@ -1677,6 +1677,15 @@ xtensa_interface_has_side_effect (xtensa_isa isa, xtensa_interface intf) return 0; } + +int +xtensa_interface_class_id (xtensa_isa isa, xtensa_interface intf) +{ + xtensa_isa_internal *intisa = (xtensa_isa_internal *) isa; + CHECK_INTERFACE (intisa, intf, XTENSA_UNDEFINED); + return intisa->interfaces[intf].class_id; +} + /* Functional Units. */ diff --git a/include/ChangeLog b/include/ChangeLog index 7ee396b1916..de51a8fbb2d 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2004-11-12 Bob Wilson <bob.wilson@acm.org> + + * xtensa-isa-internal.h (xtensa_interface_internal): Add class_id. + * xtensa-isa.h (xtensa_interface_class_id): New prototype. + 2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com> Vineet Sharma <vineets@noida.hcltech.com> diff --git a/include/xtensa-isa-internal.h b/include/xtensa-isa-internal.h index 50ac4781c37..44e53f95b30 100644 --- a/include/xtensa-isa-internal.h +++ b/include/xtensa-isa-internal.h @@ -131,6 +131,7 @@ typedef struct xtensa_interface_internal_struct const char *name; /* Interface name. */ int num_bits; /* Width of the interface. */ uint32 flags; /* See XTENSA_INTERFACE_* flags. */ + int class_id; /* Class of related interfaces. */ char inout; /* "i" or "o". */ } xtensa_interface_internal; diff --git a/include/xtensa-isa.h b/include/xtensa-isa.h index 2dc11b924c0..025e3175075 100644 --- a/include/xtensa-isa.h +++ b/include/xtensa-isa.h @@ -755,6 +755,19 @@ xtensa_interface_inout (xtensa_isa isa, xtensa_interface intf); extern int xtensa_interface_has_side_effect (xtensa_isa isa, xtensa_interface intf); + +/* Some interfaces may be related such that accessing one interface + has side effects on a set of related interfaces. The interfaces + are partitioned into equivalence classes of related interfaces, and + each class is assigned a unique identifier number. This function + returns the class identifier for an interface, or XTENSA_UNDEFINED + on error. These identifiers can be compared to determine if two + interfaces are related; the specific values of the identifiers have + no particular meaning otherwise. */ + +extern int +xtensa_interface_class_id (xtensa_isa isa, xtensa_interface intf); + /* Functional Units. */ |