|
| 1 | +2018-01-14 H.J. Lu < [email protected]> |
| 2 | + |
| 3 | + * config/i386/i386-opts.h (indirect_branch): New. |
| 4 | + * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. |
| 5 | + * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone |
| 6 | + with local indirect jump when converting indirect call and jump. |
| 7 | + (ix86_set_indirect_branch_type): New. |
| 8 | + (ix86_set_current_function): Call ix86_set_indirect_branch_type. |
| 9 | + (indirectlabelno): New. |
| 10 | + (indirect_thunk_needed): Likewise. |
| 11 | + (indirect_thunk_bnd_needed): Likewise. |
| 12 | + (indirect_thunks_used): Likewise. |
| 13 | + (indirect_thunks_bnd_used): Likewise. |
| 14 | + (INDIRECT_LABEL): Likewise. |
| 15 | + (indirect_thunk_name): Likewise. |
| 16 | + (output_indirect_thunk): Likewise. |
| 17 | + (output_indirect_thunk_function): Likewise. |
| 18 | + (ix86_output_indirect_branch): Likewise. |
| 19 | + (ix86_output_indirect_jmp): Likewise. |
| 20 | + (ix86_code_end): Call output_indirect_thunk_function if needed. |
| 21 | + (ix86_output_call_insn): Call ix86_output_indirect_branch if |
| 22 | + needed. |
| 23 | + (ix86_handle_fndecl_attribute): Handle indirect_branch. |
| 24 | + (ix86_attribute_table): Add indirect_branch. |
| 25 | + * config/i386/i386.h (machine_function): Add indirect_branch_type |
| 26 | + and has_local_indirect_jump. |
| 27 | + * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump |
| 28 | + to true. |
| 29 | + (tablejump): Likewise. |
| 30 | + (*indirect_jump): Use ix86_output_indirect_jmp. |
| 31 | + (*tablejump_1): Likewise. |
| 32 | + (simple_return_indirect_internal): Likewise. |
| 33 | + * config/i386/i386.opt (mindirect-branch=): New option. |
| 34 | + (indirect_branch): New. |
| 35 | + (keep): Likewise. |
| 36 | + (thunk): Likewise. |
| 37 | + (thunk-inline): Likewise. |
| 38 | + (thunk-extern): Likewise. |
| 39 | + * doc/extend.texi: Document indirect_branch function attribute. |
| 40 | + * doc/invoke.texi: Document -mindirect-branch= option. |
| 41 | + |
1 | 42 | 2018-01-14 Jan Hubicka < [email protected]> |
2 | 43 |
|
3 | 44 | PR ipa/83051 |
|
0 commit comments