use super::RuntimeDecl;
pub(super) static DECLS: &[RuntimeDecl] = &[
RuntimeDecl {
decl: "declare ptr @patch_seq_add(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_subtract(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_multiply(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_divide(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_modulo(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_eq(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_lt(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_gt(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_lte(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_gte(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_neq(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_and(ptr)",
category: Some("; Boolean operations"),
},
RuntimeDecl {
decl: "declare ptr @patch_seq_or(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_not(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_band(ptr)",
category: Some("; Bitwise operations"),
},
RuntimeDecl {
decl: "declare ptr @patch_seq_bor(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_bxor(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_bnot(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_shl(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_shr(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_popcount(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_clz(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_ctz(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare ptr @patch_seq_int_bits(ptr)",
category: None,
},
RuntimeDecl {
decl: "declare i64 @llvm.ctpop.i64(i64)",
category: None,
},
RuntimeDecl {
decl: "declare i64 @llvm.ctlz.i64(i64, i1)",
category: None,
},
RuntimeDecl {
decl: "declare i64 @llvm.cttz.i64(i64, i1)",
category: None,
},
RuntimeDecl {
decl: "declare void @llvm.memmove.p0.p0.i64(ptr, ptr, i64, i1)",
category: None,
},
RuntimeDecl {
decl: "declare void @llvm.trap() noreturn nounwind",
category: None,
},
];
pub(super) static SYMBOLS: &[(&str, &str)] = &[
("i.add", "patch_seq_add"),
("i.subtract", "patch_seq_subtract"),
("i.multiply", "patch_seq_multiply"),
("i.divide", "patch_seq_divide"),
("i.modulo", "patch_seq_modulo"),
("i.+", "patch_seq_add"),
("i.-", "patch_seq_subtract"),
("i.*", "patch_seq_multiply"),
("i./", "patch_seq_divide"),
("i.%", "patch_seq_modulo"),
("i.=", "patch_seq_eq"),
("i.<", "patch_seq_lt"),
("i.>", "patch_seq_gt"),
("i.<=", "patch_seq_lte"),
("i.>=", "patch_seq_gte"),
("i.<>", "patch_seq_neq"),
("i.eq", "patch_seq_eq"),
("i.lt", "patch_seq_lt"),
("i.gt", "patch_seq_gt"),
("i.lte", "patch_seq_lte"),
("i.gte", "patch_seq_gte"),
("i.neq", "patch_seq_neq"),
("and", "patch_seq_and"),
("or", "patch_seq_or"),
("not", "patch_seq_not"),
("band", "patch_seq_band"),
("bor", "patch_seq_bor"),
("bxor", "patch_seq_bxor"),
("bnot", "patch_seq_bnot"),
("shl", "patch_seq_shl"),
("shr", "patch_seq_shr"),
("popcount", "patch_seq_popcount"),
("clz", "patch_seq_clz"),
("ctz", "patch_seq_ctz"),
("int-bits", "patch_seq_int_bits"),
];