- set_insert(symtbl, &key, sizeof(key), string_hash(s, sizeof(s)-1) + tt * 17)
-
-#define INSERTENUM(tt, e) INSERT(#e, tt, e)
-#define INSERTKEYWORD(k) INSERT(#k, tt_keyword, kw_##k)
-
- INSERT("array", tt_tpo, tpo_array);
- INSERT("class", tt_tpo, tpo_class);
- INSERT("method", tt_tpo, tpo_method);
- INSERT("pointer", tt_tpo, tpo_pointer);
- INSERT("primitive", tt_tpo, tpo_primitive);
- INSERT("struct", tt_tpo, tpo_struct);
- INSERT("union", tt_tpo, tpo_union);
- INSERT("Unknown", tt_tpo, tpo_unknown);
+ set_insert(symtbl, &key, sizeof(key), firm_fnv_hash_str(s) + tt * 17)
+
+#define INSERTENUM(tt, e) INSERT(tt, #e, e)
+#define INSERTKEYWORD(k) INSERT(tt_keyword, #k, kw_##k)
+
+ INSERT(tt_tpo, "array", tpo_array);
+ INSERT(tt_tpo, "class", tpo_class);
+ INSERT(tt_tpo, "method", tpo_method);
+ INSERT(tt_tpo, "pointer", tpo_pointer);
+ INSERT(tt_tpo, "primitive", tpo_primitive);
+ INSERT(tt_tpo, "struct", tpo_struct);
+ INSERT(tt_tpo, "union", tpo_union);
+ INSERT(tt_tpo, "Unknown", tpo_unknown);
+
+ INSERT(tt_mode_sort, "auxiliary", irms_auxiliary);
+ INSERT(tt_mode_sort, "control_flow", irms_control_flow);
+ INSERT(tt_mode_sort, "memory", irms_memory);
+ INSERT(tt_mode_sort, "internal_boolean", irms_internal_boolean);
+ INSERT(tt_mode_sort, "reference", irms_reference);
+ INSERT(tt_mode_sort, "int_number", irms_int_number);
+ INSERT(tt_mode_sort, "float_number", irms_float_number);
+
+ INSERT(tt_segment, "global", IR_SEGMENT_GLOBAL);
+ INSERT(tt_segment, "thread_local", IR_SEGMENT_THREAD_LOCAL);
+ INSERT(tt_segment, "constructors", IR_SEGMENT_CONSTRUCTORS);
+ INSERT(tt_segment, "destructors", IR_SEGMENT_DESTRUCTORS);
+
+ INSERT(tt_linkage, "constant", IR_LINKAGE_CONSTANT);
+ INSERT(tt_linkage, "weak", IR_LINKAGE_WEAK);
+ INSERT(tt_linkage, "garbage_collect", IR_LINKAGE_GARBAGE_COLLECT);
+ INSERT(tt_linkage, "merge", IR_LINKAGE_MERGE);
+ INSERT(tt_linkage, "hidden_user", IR_LINKAGE_HIDDEN_USER);
+
+ INSERT(tt_visibility, "local", ir_visibility_local);
+ INSERT(tt_visibility, "external", ir_visibility_external);
+ INSERT(tt_visibility, "default", ir_visibility_default);
+ INSERT(tt_visibility, "private", ir_visibility_private);