Mercurial > hg > CbC > CbC_gcc
comparison gcc/target-def.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | b7f97abdc517 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
1 /* Default initializers for a generic GCC target. | 1 /* Default initializers for a generic GCC target. |
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 | 4 |
5 This program is free software; you can redistribute it and/or modify it | 5 This program is free software; you can redistribute it and/or modify it |
6 under the terms of the GNU General Public License as published by the | 6 under the terms of the GNU General Public License as published by the |
7 Free Software Foundation; either version 3, or (at your option) any | 7 Free Software Foundation; either version 3, or (at your option) any |
82 | 82 |
83 #ifndef TARGET_ASM_INTERNAL_LABEL | 83 #ifndef TARGET_ASM_INTERNAL_LABEL |
84 #define TARGET_ASM_INTERNAL_LABEL default_internal_label | 84 #define TARGET_ASM_INTERNAL_LABEL default_internal_label |
85 #endif | 85 #endif |
86 | 86 |
87 #ifndef TARGET_ARM_TTYPE | 87 #ifndef TARGET_ASM_TTYPE |
88 #define TARGET_ASM_TTYPE hook_bool_rtx_false | 88 #define TARGET_ASM_TTYPE hook_bool_rtx_false |
89 #endif | 89 #endif |
90 | 90 |
91 #ifndef TARGET_ASM_ASSEMBLE_VISIBILITY | 91 #ifndef TARGET_ASM_ASSEMBLE_VISIBILITY |
92 #define TARGET_ASM_ASSEMBLE_VISIBILITY default_assemble_visibility | 92 #define TARGET_ASM_ASSEMBLE_VISIBILITY default_assemble_visibility |
234 | 234 |
235 #ifndef TARGET_ASM_OUTPUT_DWARF_DTPREL | 235 #ifndef TARGET_ASM_OUTPUT_DWARF_DTPREL |
236 #define TARGET_ASM_OUTPUT_DWARF_DTPREL NULL | 236 #define TARGET_ASM_OUTPUT_DWARF_DTPREL NULL |
237 #endif | 237 #endif |
238 | 238 |
239 #ifndef TARGET_ASM_FINAL_POSTSCAN_INSN | |
240 #define TARGET_ASM_FINAL_POSTSCAN_INSN NULL | |
241 #endif | |
242 | |
239 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES | 243 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES |
240 #define TARGET_ASM_RECORD_GCC_SWITCHES NULL | 244 #define TARGET_ASM_RECORD_GCC_SWITCHES NULL |
241 #endif | 245 #endif |
242 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES_SECTION | 246 #ifndef TARGET_ASM_RECORD_GCC_SWITCHES_SECTION |
243 #define TARGET_ASM_RECORD_GCC_SWITCHES_SECTION ".GCC.command.line" | 247 #define TARGET_ASM_RECORD_GCC_SWITCHES_SECTION ".GCC.command.line" |
244 #endif | 248 #endif |
249 | |
250 #define TARGET_ASM_TRAMPOLINE_TEMPLATE NULL | |
245 | 251 |
246 #define TARGET_ASM_ALIGNED_INT_OP \ | 252 #define TARGET_ASM_ALIGNED_INT_OP \ |
247 {TARGET_ASM_ALIGNED_HI_OP, \ | 253 {TARGET_ASM_ALIGNED_HI_OP, \ |
248 TARGET_ASM_ALIGNED_SI_OP, \ | 254 TARGET_ASM_ALIGNED_SI_OP, \ |
249 TARGET_ASM_ALIGNED_DI_OP, \ | 255 TARGET_ASM_ALIGNED_DI_OP, \ |
289 TARGET_ASM_EXTERNAL_LIBCALL, \ | 295 TARGET_ASM_EXTERNAL_LIBCALL, \ |
290 TARGET_ASM_MARK_DECL_PRESERVED, \ | 296 TARGET_ASM_MARK_DECL_PRESERVED, \ |
291 TARGET_ASM_RECORD_GCC_SWITCHES, \ | 297 TARGET_ASM_RECORD_GCC_SWITCHES, \ |
292 TARGET_ASM_RECORD_GCC_SWITCHES_SECTION, \ | 298 TARGET_ASM_RECORD_GCC_SWITCHES_SECTION, \ |
293 TARGET_ASM_OUTPUT_ANCHOR, \ | 299 TARGET_ASM_OUTPUT_ANCHOR, \ |
294 TARGET_ASM_OUTPUT_DWARF_DTPREL} | 300 TARGET_ASM_OUTPUT_DWARF_DTPREL, \ |
301 TARGET_ASM_FINAL_POSTSCAN_INSN, \ | |
302 TARGET_ASM_TRAMPOLINE_TEMPLATE } | |
295 | 303 |
296 /* Scheduler hooks. All of these default to null pointers, which | 304 /* Scheduler hooks. All of these default to null pointers, which |
297 haifa-sched.c looks for and handles. */ | 305 haifa-sched.c looks for and handles. */ |
298 #define TARGET_SCHED_ADJUST_COST 0 | 306 #define TARGET_SCHED_ADJUST_COST 0 |
299 #define TARGET_SCHED_ADJUST_PRIORITY 0 | 307 #define TARGET_SCHED_ADJUST_PRIORITY 0 |
381 #define TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD 0 | 389 #define TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD 0 |
382 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST 0 | 390 #define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST 0 |
383 #define TARGET_VECTOR_ALIGNMENT_REACHABLE \ | 391 #define TARGET_VECTOR_ALIGNMENT_REACHABLE \ |
384 default_builtin_vector_alignment_reachable | 392 default_builtin_vector_alignment_reachable |
385 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM 0 | 393 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM 0 |
394 #define TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK \ | |
395 hook_bool_tree_tree_true | |
396 #define TARGET_SUPPORT_VECTOR_MISALIGNMENT \ | |
397 default_builtin_support_vector_misalignment | |
398 | |
386 | 399 |
387 #define TARGET_VECTORIZE \ | 400 #define TARGET_VECTORIZE \ |
388 { \ | 401 { \ |
389 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD, \ | 402 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD, \ |
390 TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION, \ | 403 TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION, \ |
391 TARGET_VECTORIZE_BUILTIN_CONVERSION, \ | 404 TARGET_VECTORIZE_BUILTIN_CONVERSION, \ |
392 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN, \ | 405 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN, \ |
393 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD, \ | 406 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD, \ |
394 TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST, \ | 407 TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST, \ |
395 TARGET_VECTOR_ALIGNMENT_REACHABLE, \ | 408 TARGET_VECTOR_ALIGNMENT_REACHABLE, \ |
396 TARGET_VECTORIZE_BUILTIN_VEC_PERM \ | 409 TARGET_VECTORIZE_BUILTIN_VEC_PERM, \ |
410 TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK, \ | |
411 TARGET_SUPPORT_VECTOR_MISALIGNMENT \ | |
397 } | 412 } |
398 | 413 |
399 #define TARGET_DEFAULT_TARGET_FLAGS 0 | 414 #define TARGET_DEFAULT_TARGET_FLAGS 0 |
415 | |
416 #define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE hook_void_void | |
400 | 417 |
401 #define TARGET_HANDLE_OPTION hook_bool_size_t_constcharptr_int_true | 418 #define TARGET_HANDLE_OPTION hook_bool_size_t_constcharptr_int_true |
402 #define TARGET_HELP NULL | 419 #define TARGET_HELP NULL |
403 | 420 |
404 /* In except.c */ | 421 /* In except.c */ |
416 #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes | 433 #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes |
417 #define TARGET_ATTRIBUTE_TABLE NULL | 434 #define TARGET_ATTRIBUTE_TABLE NULL |
418 | 435 |
419 /* In cse.c. */ | 436 /* In cse.c. */ |
420 #define TARGET_ADDRESS_COST default_address_cost | 437 #define TARGET_ADDRESS_COST default_address_cost |
438 #define TARGET_CONST_ANCHOR 0 | |
421 | 439 |
422 /* In builtins.c. */ | 440 /* In builtins.c. */ |
423 #define TARGET_INIT_BUILTINS hook_void_void | 441 #define TARGET_INIT_BUILTINS hook_void_void |
424 #define TARGET_EXPAND_BUILTIN default_expand_builtin | 442 #define TARGET_EXPAND_BUILTIN default_expand_builtin |
425 #define TARGET_RESOLVE_OVERLOADED_BUILTIN NULL | 443 #define TARGET_RESOLVE_OVERLOADED_BUILTIN NULL |
426 #define TARGET_FOLD_BUILTIN hook_tree_tree_tree_bool_null | 444 #define TARGET_FOLD_BUILTIN hook_tree_tree_tree_bool_null |
445 #define TARGET_BUILTIN_DECL NULL | |
427 | 446 |
428 /* In tree-ssa-math-opts.c */ | 447 /* In tree-ssa-math-opts.c */ |
429 #define TARGET_BUILTIN_RECIPROCAL default_builtin_reciprocal | 448 #define TARGET_BUILTIN_RECIPROCAL default_builtin_reciprocal |
430 | 449 |
431 /* In varasm.c. */ | 450 /* In varasm.c. */ |
455 | 474 |
456 #ifndef TARGET_VALID_POINTER_MODE | 475 #ifndef TARGET_VALID_POINTER_MODE |
457 #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode | 476 #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode |
458 #endif | 477 #endif |
459 | 478 |
479 #ifndef TARGET_ADDR_SPACE_POINTER_MODE | |
480 #define TARGET_ADDR_SPACE_POINTER_MODE default_addr_space_pointer_mode | |
481 #endif | |
482 | |
483 #ifndef TARGET_ADDR_SPACE_ADDRESS_MODE | |
484 #define TARGET_ADDR_SPACE_ADDRESS_MODE default_addr_space_address_mode | |
485 #endif | |
486 | |
487 #ifndef TARGET_ADDR_SPACE_VALID_POINTER_MODE | |
488 #define TARGET_ADDR_SPACE_VALID_POINTER_MODE \ | |
489 default_addr_space_valid_pointer_mode | |
490 #endif | |
491 | |
492 #ifndef TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P | |
493 #define TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P \ | |
494 default_addr_space_legitimate_address_p | |
495 #endif | |
496 | |
497 #ifndef TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS | |
498 #define TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS \ | |
499 default_addr_space_legitimize_address | |
500 #endif | |
501 | |
502 #ifndef TARGET_ADDR_SPACE_SUBSET_P | |
503 #define TARGET_ADDR_SPACE_SUBSET_P default_addr_space_subset_p | |
504 #endif | |
505 | |
506 #ifndef TARGET_ADDR_SPACE_CONVERT | |
507 #define TARGET_ADDR_SPACE_CONVERT default_addr_space_convert | |
508 #endif | |
509 | |
510 #define TARGET_ADDR_SPACE_HOOKS \ | |
511 { \ | |
512 TARGET_ADDR_SPACE_POINTER_MODE, \ | |
513 TARGET_ADDR_SPACE_ADDRESS_MODE, \ | |
514 TARGET_ADDR_SPACE_VALID_POINTER_MODE, \ | |
515 TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P, \ | |
516 TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS, \ | |
517 TARGET_ADDR_SPACE_SUBSET_P, \ | |
518 TARGET_ADDR_SPACE_CONVERT, \ | |
519 } | |
520 | |
460 #ifndef TARGET_SCALAR_MODE_SUPPORTED_P | 521 #ifndef TARGET_SCALAR_MODE_SUPPORTED_P |
461 #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p | 522 #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p |
462 #endif | 523 #endif |
463 | 524 |
464 #ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P | 525 #ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P |
471 | 532 |
472 #ifndef TARGET_VECTOR_MODE_SUPPORTED_P | 533 #ifndef TARGET_VECTOR_MODE_SUPPORTED_P |
473 #define TARGET_VECTOR_MODE_SUPPORTED_P hook_bool_mode_false | 534 #define TARGET_VECTOR_MODE_SUPPORTED_P hook_bool_mode_false |
474 #endif | 535 #endif |
475 | 536 |
476 #ifndef TARGET_VECTOR_OPAQUE_P | |
477 #define TARGET_VECTOR_OPAQUE_P hook_bool_const_tree_false | |
478 #endif | |
479 | |
480 /* In hooks.c. */ | 537 /* In hooks.c. */ |
481 #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false | 538 #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false |
482 #define TARGET_BRANCH_TARGET_REGISTER_CLASS hook_int_void_no_regs | 539 #define TARGET_BRANCH_TARGET_REGISTER_CLASS \ |
540 default_branch_target_register_class | |
483 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false | 541 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false |
542 #define TARGET_HAVE_CONDITIONAL_EXECUTION default_have_conditional_execution | |
484 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false | 543 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false |
485 #define TARGET_CANNOT_COPY_INSN_P NULL | 544 #define TARGET_CANNOT_COPY_INSN_P NULL |
486 #define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p | 545 #define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p |
487 #define TARGET_DELEGITIMIZE_ADDRESS hook_rtx_rtx_identity | 546 #define TARGET_LEGITIMIZE_ADDRESS default_legitimize_address |
547 #define TARGET_DELEGITIMIZE_ADDRESS delegitimize_mem_from_attrs | |
548 #define TARGET_LEGITIMATE_ADDRESS_P default_legitimate_address_p | |
488 #define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false | 549 #define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false |
489 #define TARGET_MIN_ANCHOR_OFFSET 0 | 550 #define TARGET_MIN_ANCHOR_OFFSET 0 |
490 #define TARGET_MAX_ANCHOR_OFFSET 0 | 551 #define TARGET_MAX_ANCHOR_OFFSET 0 |
491 #define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p | 552 #define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p |
492 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false | 553 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false |
530 #endif | 591 #endif |
531 | 592 |
532 #define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null | 593 #define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null |
533 #define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null | 594 #define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null |
534 #define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null | 595 #define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null |
596 #define TARGET_INVALID_PARAMETER_TYPE hook_constcharptr_const_tree_null | |
597 #define TARGET_INVALID_RETURN_TYPE hook_constcharptr_const_tree_null | |
598 #define TARGET_PROMOTED_TYPE hook_tree_const_tree_null | |
599 #define TARGET_CONVERT_TO_TYPE hook_tree_tree_tree_null | |
535 | 600 |
536 #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false | 601 #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false |
537 | 602 |
538 #define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible | 603 #define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible |
539 | 604 |
563 #define TARGET_STACK_PROTECT_GUARD default_stack_protect_guard | 628 #define TARGET_STACK_PROTECT_GUARD default_stack_protect_guard |
564 #define TARGET_STACK_PROTECT_FAIL default_external_stack_protect_fail | 629 #define TARGET_STACK_PROTECT_FAIL default_external_stack_protect_fail |
565 | 630 |
566 #define TARGET_ARM_EABI_UNWINDER false | 631 #define TARGET_ARM_EABI_UNWINDER false |
567 | 632 |
568 #define TARGET_PROMOTE_FUNCTION_ARGS hook_bool_const_tree_false | 633 #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode |
569 #define TARGET_PROMOTE_FUNCTION_RETURN hook_bool_const_tree_false | |
570 #define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_false | 634 #define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_false |
571 | 635 |
572 #define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null | 636 #define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null |
573 #define TARGET_RETURN_IN_MEMORY default_return_in_memory | 637 #define TARGET_RETURN_IN_MEMORY default_return_in_memory |
574 #define TARGET_RETURN_IN_MSB hook_bool_const_tree_false | 638 #define TARGET_RETURN_IN_MSB hook_bool_const_tree_false |
588 #define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size_or_pad | 652 #define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size_or_pad |
589 #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false | 653 #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false |
590 #define TARGET_ARG_PARTIAL_BYTES hook_int_CUMULATIVE_ARGS_mode_tree_bool_0 | 654 #define TARGET_ARG_PARTIAL_BYTES hook_int_CUMULATIVE_ARGS_mode_tree_bool_0 |
591 | 655 |
592 #define TARGET_FUNCTION_VALUE default_function_value | 656 #define TARGET_FUNCTION_VALUE default_function_value |
657 #define TARGET_LIBCALL_VALUE default_libcall_value | |
593 #define TARGET_INTERNAL_ARG_POINTER default_internal_arg_pointer | 658 #define TARGET_INTERNAL_ARG_POINTER default_internal_arg_pointer |
594 #define TARGET_UPDATE_STACK_BOUNDARY NULL | 659 #define TARGET_UPDATE_STACK_BOUNDARY NULL |
595 #define TARGET_GET_DRAP_RTX NULL | 660 #define TARGET_GET_DRAP_RTX NULL |
596 #define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS hook_bool_void_true | 661 #define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS hook_bool_void_true |
662 #define TARGET_STATIC_CHAIN default_static_chain | |
663 #define TARGET_TRAMPOLINE_INIT default_trampoline_init | |
664 #define TARGET_TRAMPOLINE_ADJUST_ADDRESS NULL | |
597 | 665 |
598 #define TARGET_CALLS { \ | 666 #define TARGET_CALLS { \ |
599 TARGET_PROMOTE_FUNCTION_ARGS, \ | 667 TARGET_PROMOTE_FUNCTION_MODE, \ |
600 TARGET_PROMOTE_FUNCTION_RETURN, \ | |
601 TARGET_PROMOTE_PROTOTYPES, \ | 668 TARGET_PROMOTE_PROTOTYPES, \ |
602 TARGET_STRUCT_VALUE_RTX, \ | 669 TARGET_STRUCT_VALUE_RTX, \ |
603 TARGET_RETURN_IN_MEMORY, \ | 670 TARGET_RETURN_IN_MEMORY, \ |
604 TARGET_RETURN_IN_MSB, \ | 671 TARGET_RETURN_IN_MSB, \ |
605 TARGET_PASS_BY_REFERENCE, \ | 672 TARGET_PASS_BY_REFERENCE, \ |
611 TARGET_MUST_PASS_IN_STACK, \ | 678 TARGET_MUST_PASS_IN_STACK, \ |
612 TARGET_CALLEE_COPIES, \ | 679 TARGET_CALLEE_COPIES, \ |
613 TARGET_ARG_PARTIAL_BYTES, \ | 680 TARGET_ARG_PARTIAL_BYTES, \ |
614 TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN, \ | 681 TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN, \ |
615 TARGET_FUNCTION_VALUE, \ | 682 TARGET_FUNCTION_VALUE, \ |
683 TARGET_LIBCALL_VALUE, \ | |
616 TARGET_INTERNAL_ARG_POINTER, \ | 684 TARGET_INTERNAL_ARG_POINTER, \ |
617 TARGET_UPDATE_STACK_BOUNDARY, \ | 685 TARGET_UPDATE_STACK_BOUNDARY, \ |
618 TARGET_GET_DRAP_RTX, \ | 686 TARGET_GET_DRAP_RTX, \ |
619 TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS \ | 687 TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS, \ |
688 TARGET_STATIC_CHAIN, \ | |
689 TARGET_TRAMPOLINE_INIT, \ | |
690 TARGET_TRAMPOLINE_ADJUST_ADDRESS \ | |
620 } | 691 } |
621 | 692 |
622 #ifndef TARGET_UNWIND_TABLES_DEFAULT | 693 #ifndef TARGET_UNWIND_TABLES_DEFAULT |
623 #define TARGET_UNWIND_TABLES_DEFAULT false | 694 #define TARGET_UNWIND_TABLES_DEFAULT false |
624 #endif | |
625 | |
626 #ifndef TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME | |
627 #define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME 0 | |
628 #endif | 695 #endif |
629 | 696 |
630 #ifndef TARGET_HANDLE_PRAGMA_EXTERN_PREFIX | 697 #ifndef TARGET_HANDLE_PRAGMA_EXTERN_PREFIX |
631 #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0 | 698 #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0 |
632 #endif | 699 #endif |
649 #define TARGET_INSTANTIATE_DECLS hook_void_void | 716 #define TARGET_INSTANTIATE_DECLS hook_void_void |
650 #endif | 717 #endif |
651 | 718 |
652 #ifndef TARGET_HARD_REGNO_SCRATCH_OK | 719 #ifndef TARGET_HARD_REGNO_SCRATCH_OK |
653 #define TARGET_HARD_REGNO_SCRATCH_OK default_hard_regno_scratch_ok | 720 #define TARGET_HARD_REGNO_SCRATCH_OK default_hard_regno_scratch_ok |
721 #endif | |
722 | |
723 #ifndef TARGET_CASE_VALUES_THRESHOLD | |
724 #define TARGET_CASE_VALUES_THRESHOLD default_case_values_threshold | |
725 #endif | |
726 | |
727 #ifndef TARGET_FRAME_POINTER_REQUIRED | |
728 #define TARGET_FRAME_POINTER_REQUIRED hook_bool_void_false | |
729 #endif | |
730 | |
731 #ifndef TARGET_CAN_ELIMINATE | |
732 #define TARGET_CAN_ELIMINATE hook_bool_const_int_const_int_true | |
654 #endif | 733 #endif |
655 | 734 |
656 /* C specific. */ | 735 /* C specific. */ |
657 #ifndef TARGET_C_MODE_FOR_SUFFIX | 736 #ifndef TARGET_C_MODE_FOR_SUFFIX |
658 #define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix | 737 #define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix |
808 | 887 |
809 #ifndef TARGET_OPTION_PRAGMA_PARSE | 888 #ifndef TARGET_OPTION_PRAGMA_PARSE |
810 #define TARGET_OPTION_PRAGMA_PARSE default_target_option_pragma_parse | 889 #define TARGET_OPTION_PRAGMA_PARSE default_target_option_pragma_parse |
811 #endif | 890 #endif |
812 | 891 |
813 #ifndef TARGET_OPTION_CAN_INLINE_P | 892 #ifndef TARGET_CAN_INLINE_P |
814 #define TARGET_OPTION_CAN_INLINE_P default_target_option_can_inline_p | 893 #define TARGET_CAN_INLINE_P default_target_can_inline_p |
815 #endif | 894 #endif |
816 | 895 |
817 #define TARGET_OPTION_HOOKS \ | 896 #define TARGET_OPTION_HOOKS \ |
818 { \ | 897 { \ |
819 TARGET_OPTION_VALID_ATTRIBUTE_P, \ | 898 TARGET_OPTION_VALID_ATTRIBUTE_P, \ |
820 TARGET_OPTION_SAVE, \ | 899 TARGET_OPTION_SAVE, \ |
821 TARGET_OPTION_RESTORE, \ | 900 TARGET_OPTION_RESTORE, \ |
822 TARGET_OPTION_PRINT, \ | 901 TARGET_OPTION_PRINT, \ |
823 TARGET_OPTION_PRAGMA_PARSE, \ | 902 TARGET_OPTION_PRAGMA_PARSE, \ |
824 TARGET_OPTION_CAN_INLINE_P, \ | 903 TARGET_CAN_INLINE_P, \ |
825 } | 904 } |
826 | 905 |
827 /* The whole shebang. */ | 906 /* The whole shebang. */ |
828 #define TARGET_INITIALIZER \ | 907 #define TARGET_INITIALIZER \ |
829 { \ | 908 { \ |
830 TARGET_ASM_OUT, \ | 909 TARGET_ASM_OUT, \ |
831 TARGET_SCHED, \ | 910 TARGET_SCHED, \ |
832 TARGET_VECTORIZE, \ | 911 TARGET_VECTORIZE, \ |
833 TARGET_DEFAULT_TARGET_FLAGS, \ | 912 TARGET_DEFAULT_TARGET_FLAGS, \ |
913 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE, \ | |
834 TARGET_HANDLE_OPTION, \ | 914 TARGET_HANDLE_OPTION, \ |
835 TARGET_HELP, \ | 915 TARGET_HELP, \ |
836 TARGET_EH_RETURN_FILTER_MODE, \ | 916 TARGET_EH_RETURN_FILTER_MODE, \ |
837 TARGET_LIBGCC_CMP_RETURN_MODE, \ | 917 TARGET_LIBGCC_CMP_RETURN_MODE, \ |
838 TARGET_LIBGCC_SHIFT_COUNT_MODE, \ | 918 TARGET_LIBGCC_SHIFT_COUNT_MODE, \ |
848 TARGET_DECIMAL_FLOAT_SUPPORTED_P, \ | 928 TARGET_DECIMAL_FLOAT_SUPPORTED_P, \ |
849 TARGET_FIXED_POINT_SUPPORTED_P, \ | 929 TARGET_FIXED_POINT_SUPPORTED_P, \ |
850 TARGET_ALIGN_ANON_BITFIELD, \ | 930 TARGET_ALIGN_ANON_BITFIELD, \ |
851 TARGET_NARROW_VOLATILE_BITFIELD, \ | 931 TARGET_NARROW_VOLATILE_BITFIELD, \ |
852 TARGET_INIT_BUILTINS, \ | 932 TARGET_INIT_BUILTINS, \ |
933 TARGET_BUILTIN_DECL, \ | |
853 TARGET_EXPAND_BUILTIN, \ | 934 TARGET_EXPAND_BUILTIN, \ |
854 TARGET_RESOLVE_OVERLOADED_BUILTIN, \ | 935 TARGET_RESOLVE_OVERLOADED_BUILTIN, \ |
855 TARGET_FOLD_BUILTIN, \ | 936 TARGET_FOLD_BUILTIN, \ |
856 TARGET_BUILTIN_RECIPROCAL, \ | 937 TARGET_BUILTIN_RECIPROCAL, \ |
857 TARGET_MANGLE_TYPE, \ | 938 TARGET_MANGLE_TYPE, \ |
858 TARGET_INIT_LIBFUNCS, \ | 939 TARGET_INIT_LIBFUNCS, \ |
859 TARGET_SECTION_TYPE_FLAGS, \ | 940 TARGET_SECTION_TYPE_FLAGS, \ |
860 TARGET_CANNOT_MODIFY_JUMPS_P, \ | 941 TARGET_CANNOT_MODIFY_JUMPS_P, \ |
861 TARGET_BRANCH_TARGET_REGISTER_CLASS, \ | 942 TARGET_BRANCH_TARGET_REGISTER_CLASS, \ |
862 TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED, \ | 943 TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED, \ |
944 TARGET_HAVE_CONDITIONAL_EXECUTION, \ | |
863 TARGET_CANNOT_FORCE_CONST_MEM, \ | 945 TARGET_CANNOT_FORCE_CONST_MEM, \ |
864 TARGET_CANNOT_COPY_INSN_P, \ | 946 TARGET_CANNOT_COPY_INSN_P, \ |
865 TARGET_COMMUTATIVE_P, \ | 947 TARGET_COMMUTATIVE_P, \ |
948 TARGET_LEGITIMIZE_ADDRESS, \ | |
866 TARGET_DELEGITIMIZE_ADDRESS, \ | 949 TARGET_DELEGITIMIZE_ADDRESS, \ |
950 TARGET_LEGITIMATE_ADDRESS_P, \ | |
867 TARGET_USE_BLOCKS_FOR_CONSTANT_P, \ | 951 TARGET_USE_BLOCKS_FOR_CONSTANT_P, \ |
868 TARGET_MIN_ANCHOR_OFFSET, \ | 952 TARGET_MIN_ANCHOR_OFFSET, \ |
869 TARGET_MAX_ANCHOR_OFFSET, \ | 953 TARGET_MAX_ANCHOR_OFFSET, \ |
870 TARGET_USE_ANCHORS_FOR_SYMBOL_P, \ | 954 TARGET_USE_ANCHORS_FOR_SYMBOL_P, \ |
871 TARGET_FUNCTION_OK_FOR_SIBCALL, \ | 955 TARGET_FUNCTION_OK_FOR_SIBCALL, \ |
877 TARGET_STRIP_NAME_ENCODING, \ | 961 TARGET_STRIP_NAME_ENCODING, \ |
878 TARGET_SHIFT_TRUNCATION_MASK, \ | 962 TARGET_SHIFT_TRUNCATION_MASK, \ |
879 TARGET_MIN_DIVISIONS_FOR_RECIP_MUL, \ | 963 TARGET_MIN_DIVISIONS_FOR_RECIP_MUL, \ |
880 TARGET_MODE_REP_EXTENDED, \ | 964 TARGET_MODE_REP_EXTENDED, \ |
881 TARGET_VALID_POINTER_MODE, \ | 965 TARGET_VALID_POINTER_MODE, \ |
966 TARGET_ADDR_SPACE_HOOKS, \ | |
882 TARGET_SCALAR_MODE_SUPPORTED_P, \ | 967 TARGET_SCALAR_MODE_SUPPORTED_P, \ |
883 TARGET_VECTOR_MODE_SUPPORTED_P, \ | 968 TARGET_VECTOR_MODE_SUPPORTED_P, \ |
884 TARGET_VECTOR_OPAQUE_P, \ | |
885 TARGET_RTX_COSTS, \ | 969 TARGET_RTX_COSTS, \ |
886 TARGET_ADDRESS_COST, \ | 970 TARGET_ADDRESS_COST, \ |
887 TARGET_ALLOCATE_INITIAL_VALUE, \ | 971 TARGET_ALLOCATE_INITIAL_VALUE, \ |
888 TARGET_UNSPEC_MAY_TRAP_P, \ | 972 TARGET_UNSPEC_MAY_TRAP_P, \ |
889 TARGET_DWARF_REGISTER_SPAN, \ | 973 TARGET_DWARF_REGISTER_SPAN, \ |
907 TARGET_STDARG_OPTIMIZE_HOOK, \ | 991 TARGET_STDARG_OPTIMIZE_HOOK, \ |
908 TARGET_STACK_PROTECT_GUARD, \ | 992 TARGET_STACK_PROTECT_GUARD, \ |
909 TARGET_STACK_PROTECT_FAIL, \ | 993 TARGET_STACK_PROTECT_FAIL, \ |
910 TARGET_INVALID_WITHIN_DOLOOP, \ | 994 TARGET_INVALID_WITHIN_DOLOOP, \ |
911 TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, \ | 995 TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, \ |
996 TARGET_CONST_ANCHOR, \ | |
912 TARGET_CALLS, \ | 997 TARGET_CALLS, \ |
913 TARGET_INVALID_CONVERSION, \ | 998 TARGET_INVALID_CONVERSION, \ |
914 TARGET_INVALID_UNARY_OP, \ | 999 TARGET_INVALID_UNARY_OP, \ |
915 TARGET_INVALID_BINARY_OP, \ | 1000 TARGET_INVALID_BINARY_OP, \ |
1001 TARGET_INVALID_PARAMETER_TYPE, \ | |
1002 TARGET_INVALID_RETURN_TYPE, \ | |
1003 TARGET_PROMOTED_TYPE, \ | |
1004 TARGET_CONVERT_TO_TYPE, \ | |
916 TARGET_IRA_COVER_CLASSES, \ | 1005 TARGET_IRA_COVER_CLASSES, \ |
917 TARGET_SECONDARY_RELOAD, \ | 1006 TARGET_SECONDARY_RELOAD, \ |
918 TARGET_EXPAND_TO_RTL_HOOK, \ | 1007 TARGET_EXPAND_TO_RTL_HOOK, \ |
919 TARGET_INSTANTIATE_DECLS, \ | 1008 TARGET_INSTANTIATE_DECLS, \ |
920 TARGET_HARD_REGNO_SCRATCH_OK, \ | 1009 TARGET_HARD_REGNO_SCRATCH_OK, \ |
1010 TARGET_CASE_VALUES_THRESHOLD, \ | |
1011 TARGET_FRAME_POINTER_REQUIRED, \ | |
1012 TARGET_CAN_ELIMINATE, \ | |
921 TARGET_C, \ | 1013 TARGET_C, \ |
922 TARGET_CXX, \ | 1014 TARGET_CXX, \ |
923 TARGET_EMUTLS, \ | 1015 TARGET_EMUTLS, \ |
924 TARGET_OPTION_HOOKS, \ | 1016 TARGET_OPTION_HOOKS, \ |
925 TARGET_EXTRA_LIVE_ON_ENTRY, \ | 1017 TARGET_EXTRA_LIVE_ON_ENTRY, \ |
930 TARGET_HAVE_TLS, \ | 1022 TARGET_HAVE_TLS, \ |
931 TARGET_HAVE_SRODATA_SECTION, \ | 1023 TARGET_HAVE_SRODATA_SECTION, \ |
932 TARGET_TERMINATE_DW2_EH_FRAME_INFO, \ | 1024 TARGET_TERMINATE_DW2_EH_FRAME_INFO, \ |
933 TARGET_ASM_FILE_START_APP_OFF, \ | 1025 TARGET_ASM_FILE_START_APP_OFF, \ |
934 TARGET_ASM_FILE_START_FILE_DIRECTIVE, \ | 1026 TARGET_ASM_FILE_START_FILE_DIRECTIVE, \ |
935 TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME, \ | |
936 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, \ | 1027 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, \ |
937 TARGET_RELAXED_ORDERING, \ | 1028 TARGET_RELAXED_ORDERING, \ |
938 TARGET_ARM_EABI_UNWINDER \ | 1029 TARGET_ARM_EABI_UNWINDER \ |
939 } | 1030 } |
940 | 1031 |