nios2-protos.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* Subroutine declarations for Altera Nios II target support.
  2. Copyright (C) 2012-2015 Free Software Foundation, Inc.
  3. Contributed by Jonah Graham (jgraham@altera.com).
  4. Contributed by Mentor Graphics, Inc.
  5. This file is part of GCC.
  6. GCC is free software; you can redistribute it and/or modify it
  7. under the terms of the GNU General Public License as published
  8. by the Free Software Foundation; either version 3, or (at your
  9. option) any later version.
  10. GCC is distributed in the hope that it will be useful, but WITHOUT
  11. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  12. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  13. License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with GCC; see the file COPYING3. If not see
  16. <http://www.gnu.org/licenses/>. */
  17. #ifndef GCC_NIOS2_PROTOS_H
  18. #define GCC_NIOS2_PROTOS_H
  19. extern int nios2_initial_elimination_offset (int, int);
  20. extern int nios2_can_use_return_insn (void);
  21. extern void nios2_expand_prologue (void);
  22. extern void nios2_expand_epilogue (bool);
  23. extern void nios2_function_profiler (FILE *, int);
  24. #ifdef RTX_CODE
  25. extern int nios2_emit_move_sequence (rtx *, machine_mode);
  26. extern void nios2_emit_expensive_div (rtx *, machine_mode);
  27. extern void nios2_adjust_call_address (rtx *, rtx);
  28. extern rtx nios2_get_return_address (int);
  29. extern void nios2_set_return_address (rtx, rtx);
  30. extern bool nios2_validate_compare (machine_mode, rtx *, rtx *, rtx *);
  31. extern bool nios2_validate_fpu_compare (machine_mode, rtx *, rtx *, rtx *,
  32. bool);
  33. extern bool nios2_fpu_insn_enabled (enum n2fpu_code);
  34. extern const char * nios2_fpu_insn_asm (enum n2fpu_code);
  35. extern bool nios2_legitimate_pic_operand_p (rtx);
  36. extern bool nios2_symbol_ref_in_small_data_p (rtx);
  37. extern bool nios2_regno_ok_for_base_p (int, bool);
  38. extern bool nios2_unspec_reloc_p (rtx);
  39. #ifdef TREE_CODE
  40. #ifdef ARGS_SIZE_RTX
  41. /* expr.h defines both ARGS_SIZE_RTX and `enum direction' */
  42. extern enum direction nios2_function_arg_padding (machine_mode, const_tree);
  43. extern enum direction nios2_block_reg_padding (machine_mode, tree, int);
  44. #endif /* ARGS_SIZE_RTX */
  45. #endif /* TREE_CODE */
  46. #endif /* RTX_CODE */
  47. #endif /* GCC_NIOS2_PROTOS_H */