fix build error cause gcc ssa internal error

This commit is contained in:
fanfuqiang 2018-10-29 17:42:24 +08:00
parent fe6685225b
commit fa243e94b8
4 changed files with 12 additions and 11 deletions

View File

@ -59,7 +59,6 @@ void
rap_check_will_call_passes (void* gcc_data, void* user_data)
{
//gcc_assert (current_pass);
#if 0
if (current_pass
&&
(! strcmp ((/*(struct opt_pass *)*/current_pass)->name, "inline")))
@ -67,7 +66,6 @@ rap_check_will_call_passes (void* gcc_data, void* user_data)
if (*(bool*)gcc_data)
fprintf(dump_rap_opt_statistics_fd, "[+] NOT call pass 'inline'\n");
}
#endif
return;
}
@ -77,7 +75,6 @@ rap_try_call_ipa_pta (void* gcc_data, void* user_data)
{
/* Make sure we have reach */
bool will_call_ipa_pta = false;
#if 0
//gcc_assert (current_pass);
if (current_pass
&&
@ -88,7 +85,6 @@ rap_try_call_ipa_pta (void* gcc_data, void* user_data)
*(int*)user_data = optimize;
}
//gcc_assert (init);
#endif
return;
}
@ -249,8 +245,9 @@ hl_gather_gate ()
#define NO_GATE
//#define PROPERTIES_REQUIRED PROP_gimple_any
//#define PROPERTIES_PROVIDED PROP_gimple_lcf
#define TODO_FLAGS_FINISH TODO_update_ssa_any | TODO_verify_all | TODO_dump_func | \
TODO_remove_unused_locals | TODO_cleanup_cfg | TODO_rebuild_cgraph_edges
#define TODO_FLAGS_FINISH TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | \
TODO_remove_unused_locals | TODO_update_ssa | TODO_cleanup_cfg | \
TODO_rebuild_cgraph_edges | TODO_verify_flow
#include "gcc-generate-simple_ipa-pass.h"
#undef PASS_NAME
@ -726,8 +723,9 @@ hl_cfi_gate ()
#define PASS_NAME hl_cfi
//#define PROPERTIES_REQUIRED PROP_gimple_any
//#define PROPERTIES_PROVIDED PROP_gimple_lcf
#define TODO_FLAGS_FINISH TODO_update_ssa_any | TODO_verify_all | TODO_dump_func | \
TODO_remove_unused_locals | TODO_cleanup_cfg | TODO_rebuild_cgraph_edges
#define TODO_FLAGS_FINISH TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | \
TODO_remove_unused_locals | TODO_update_ssa | TODO_cleanup_cfg | \
TODO_rebuild_cgraph_edges | TODO_verify_flow
#include "gcc-generate-simple_ipa-pass.h"
#undef PASS_NAME

View File

@ -15,8 +15,8 @@ typedef struct {
extern rap_hash_flags_t imprecise_rap_hash_flags;
//
bool require_call_hl_cfi;
bool require_call_hl_gather;
extern bool require_call_hl_cfi;
extern bool require_call_hl_gather;
extern bool report_fptr_hash;
extern bool report_runtime;
@ -39,10 +39,14 @@ gimple barrier(tree var, bool full);
bool rap_cmodel_check(void);
#if BUILDING_GCC_VERSION >= 4009
opt_pass *make_hl_gather_pass(void);
opt_pass *make_hl_cfi_pass(void);
opt_pass *make_rap_ret_pass(void);
opt_pass *make_rap_fptr_pass(void);
opt_pass *make_rap_mark_retloc_pass(void);
#else
struct opt_pass *make_hl_gather_pass(void);
struct opt_pass *make_hl_cfi_pass(void);
struct opt_pass *make_rap_ret_pass(void);
struct opt_pass *make_rap_fptr_pass(void);
struct opt_pass *make_rap_mark_retloc_pass(void);

View File

@ -631,7 +631,6 @@ __visible int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gc
PASS_INFO(hl_gather, "pta", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(hl_cfi, "hl_gather", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(rap_ret, "optimized", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(rap_ret, "optimized", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(rap_fptr, "rap_ret", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(rap_mark_retloc, "mach", 1, PASS_POS_INSERT_AFTER);
PASS_INFO(rap_unignore, "final", 1, PASS_POS_INSERT_BEFORE);

Binary file not shown.