aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arc/arc-protos.h
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2018-01-31 11:01:34 +0100
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2018-01-31 11:01:34 +0100
commit8180c03ff035fd70c4b8b1b4276dfce460d1e2bd (patch)
tree0b0908881e939c28f55e4d767bf88e4033f57b1b /gcc/config/arc/arc-protos.h
parent2f857e1b0750d79172031951ed22e538df7299f8 (diff)
downloadgcc-8180c03ff035fd70c4b8b1b4276dfce460d1e2bd.zip
gcc-8180c03ff035fd70c4b8b1b4276dfce460d1e2bd.tar.gz
gcc-8180c03ff035fd70c4b8b1b4276dfce460d1e2bd.tar.bz2
[ARC] Add 'uncached' attribute.
The _Uncached type qualifier can be used to bypass the cache without resorting to declaring variables as volatile. gcc/ 2018-01-31 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_is_uncached_mem_p): Function proto. * config/arc/arc.c (arc_handle_uncached_attribute): New function. (arc_attribute_table): Add 'uncached' attribute. (arc_print_operand): Print '.di' flag for uncached memory accesses. (arc_in_small_data_p): Do not consider for small data the uncached types. (arc_is_uncached_mem_p): New function. * config/arc/predicates.md (compact_store_memory_operand): Check for uncached memory accesses. (nonvol_nonimm_operand): Likewise. * gcc/doc/extend.texi (ARC Type Attribute): New subsection. gcc/testsuite 2018-01-31 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/uncached.c: New test. From-SVN: r257222
Diffstat (limited to 'gcc/config/arc/arc-protos.h')
-rw-r--r--gcc/config/arc/arc-protos.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index 76b82bf..b469cfc 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -47,6 +47,7 @@ extern void arc_expand_compare_and_swap (rtx *);
extern bool compact_memory_operand_p (rtx, machine_mode, bool, bool);
extern int arc_return_address_register (unsigned int);
extern unsigned int arc_compute_function_type (struct function *);
+extern bool arc_is_uncached_mem_p (rtx);
#endif /* RTX_CODE */
extern unsigned int arc_compute_frame_size (int);