v850-protos.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /* Prototypes for v850.c functions used in the md file & elsewhere.
  2. Copyright (C) 1999-2015 Free Software Foundation, Inc.
  3. This file is part of GCC.
  4. GCC is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 3, or (at your option)
  7. any later version.
  8. GCC is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GCC; see the file COPYING3. If not see
  14. <http://www.gnu.org/licenses/>. */
  15. /* Function prototypes that cannot exist in v850.h due to dependency
  16. complications. */
  17. #ifndef GCC_V850_PROTOS_H
  18. #define GCC_V850_PROTOS_H
  19. extern void expand_prologue (void);
  20. extern void expand_epilogue (void);
  21. extern int v850_handle_pragma (int (*)(void), void (*)(int), char *);
  22. extern int compute_register_save_size (long *);
  23. extern int compute_frame_size (int, long *);
  24. extern void v850_init_expanders (void);
  25. #ifdef RTX_CODE
  26. extern rtx v850_return_addr (int);
  27. extern const char *output_move_single (rtx *);
  28. extern void notice_update_cc (rtx, rtx_insn *);
  29. extern char * construct_save_jarl (rtx);
  30. extern char * construct_restore_jr (rtx);
  31. #ifdef HAVE_MACHINE_MODES
  32. extern char * construct_dispose_instruction (rtx);
  33. extern char * construct_prepare_instruction (rtx);
  34. extern int ep_memory_operand (rtx, machine_mode, int);
  35. extern int v850_adjust_insn_length (rtx_insn *, int);
  36. extern const char * v850_gen_movdi (rtx *);
  37. extern rtx v850_gen_compare (enum rtx_code, machine_mode,
  38. rtx, rtx);
  39. extern machine_mode v850_gen_float_compare (enum rtx_code,
  40. machine_mode, rtx, rtx);
  41. extern machine_mode v850_select_cc_mode (RTX_CODE, rtx, rtx);
  42. #endif
  43. #endif /* RTX_CODE */
  44. #ifdef TREE_CODE
  45. extern int v850_interrupt_function_p (tree);
  46. extern void v850_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int);
  47. extern void v850_output_common (FILE *, tree, const char *, int, int);
  48. extern void v850_output_local (FILE *, tree, const char *, int, int);
  49. extern v850_data_area v850_get_data_area (tree);
  50. #endif
  51. extern void ghs_pragma_section (struct cpp_reader *);
  52. extern void ghs_pragma_interrupt (struct cpp_reader *);
  53. extern void ghs_pragma_starttda (struct cpp_reader *);
  54. extern void ghs_pragma_startsda (struct cpp_reader *);
  55. extern void ghs_pragma_startzda (struct cpp_reader *);
  56. extern void ghs_pragma_endtda (struct cpp_reader *);
  57. extern void ghs_pragma_endsda (struct cpp_reader *);
  58. extern void ghs_pragma_endzda (struct cpp_reader *);
  59. #endif /* ! GCC_V850_PROTOS_H */