Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Bindings/OCaml/core.ml
Show First 20 Lines • Show All 238 Lines • ▼ Show 20 Lines | let test_constants () = | ||||
(* CHECK: @const_neg = global i64 sub | (* CHECK: @const_neg = global i64 sub | ||||
* CHECK: @const_nsw_neg = global i64 sub nsw | * CHECK: @const_nsw_neg = global i64 sub nsw | ||||
* CHECK: @const_nuw_neg = global i64 sub nuw | * CHECK: @const_nuw_neg = global i64 sub nuw | ||||
* CHECK: @const_fneg = global double fneg | * CHECK: @const_fneg = global double fneg | ||||
* CHECK: @const_not = global i64 xor | * CHECK: @const_not = global i64 xor | ||||
* CHECK: @const_add = global i64 add | * CHECK: @const_add = global i64 add | ||||
* CHECK: @const_nsw_add = global i64 add nsw | * CHECK: @const_nsw_add = global i64 add nsw | ||||
* CHECK: @const_nuw_add = global i64 add nuw | * CHECK: @const_nuw_add = global i64 add nuw | ||||
* CHECK: @const_fadd = global double fadd | |||||
* CHECK: @const_sub = global i64 sub | * CHECK: @const_sub = global i64 sub | ||||
* CHECK: @const_nsw_sub = global i64 sub nsw | * CHECK: @const_nsw_sub = global i64 sub nsw | ||||
* CHECK: @const_nuw_sub = global i64 sub nuw | * CHECK: @const_nuw_sub = global i64 sub nuw | ||||
* CHECK: @const_fsub = global double fsub | |||||
* CHECK: @const_mul = global i64 mul | * CHECK: @const_mul = global i64 mul | ||||
* CHECK: @const_nsw_mul = global i64 mul nsw | * CHECK: @const_nsw_mul = global i64 mul nsw | ||||
* CHECK: @const_nuw_mul = global i64 mul nuw | * CHECK: @const_nuw_mul = global i64 mul nuw | ||||
* CHECK: @const_fmul = global double fmul | |||||
* CHECK: @const_fdiv = global double fdiv | |||||
* CHECK: @const_frem = global double frem | |||||
* CHECK: @const_and = global i64 and | * CHECK: @const_and = global i64 and | ||||
* CHECK: @const_or = global i64 or | * CHECK: @const_or = global i64 or | ||||
* CHECK: @const_xor = global i64 xor | * CHECK: @const_xor = global i64 xor | ||||
* CHECK: @const_icmp = global i1 icmp sle | * CHECK: @const_icmp = global i1 icmp sle | ||||
* CHECK: @const_fcmp = global i1 fcmp ole | * CHECK: @const_fcmp = global i1 fcmp ole | ||||
*) | *) | ||||
let void_ptr = pointer_type i8_type in | let void_ptr = pointer_type i8_type in | ||||
let five = const_int i64_type 5 in | let five = const_int i64_type 5 in | ||||
let ffive = const_uitofp five double_type in | let ffive = const_uitofp five double_type in | ||||
let foldbomb_gv = define_global "FoldBomb" (const_null i8_type) m in | let foldbomb_gv = define_global "FoldBomb" (const_null i8_type) m in | ||||
let foldbomb = const_ptrtoint foldbomb_gv i64_type in | let foldbomb = const_ptrtoint foldbomb_gv i64_type in | ||||
let ffoldbomb = const_uitofp foldbomb double_type in | let ffoldbomb = const_uitofp foldbomb double_type in | ||||
ignore (define_global "const_neg" (const_neg foldbomb) m); | ignore (define_global "const_neg" (const_neg foldbomb) m); | ||||
ignore (define_global "const_nsw_neg" (const_nsw_neg foldbomb) m); | ignore (define_global "const_nsw_neg" (const_nsw_neg foldbomb) m); | ||||
ignore (define_global "const_nuw_neg" (const_nuw_neg foldbomb) m); | ignore (define_global "const_nuw_neg" (const_nuw_neg foldbomb) m); | ||||
ignore (define_global "const_fneg" (const_fneg ffoldbomb) m); | ignore (define_global "const_fneg" (const_fneg ffoldbomb) m); | ||||
ignore (define_global "const_not" (const_not foldbomb) m); | ignore (define_global "const_not" (const_not foldbomb) m); | ||||
ignore (define_global "const_add" (const_add foldbomb five) m); | ignore (define_global "const_add" (const_add foldbomb five) m); | ||||
ignore (define_global "const_nsw_add" (const_nsw_add foldbomb five) m); | ignore (define_global "const_nsw_add" (const_nsw_add foldbomb five) m); | ||||
ignore (define_global "const_nuw_add" (const_nuw_add foldbomb five) m); | ignore (define_global "const_nuw_add" (const_nuw_add foldbomb five) m); | ||||
ignore (define_global "const_fadd" (const_fadd ffoldbomb ffive) m); | |||||
ignore (define_global "const_sub" (const_sub foldbomb five) m); | ignore (define_global "const_sub" (const_sub foldbomb five) m); | ||||
ignore (define_global "const_nsw_sub" (const_nsw_sub foldbomb five) m); | ignore (define_global "const_nsw_sub" (const_nsw_sub foldbomb five) m); | ||||
ignore (define_global "const_nuw_sub" (const_nuw_sub foldbomb five) m); | ignore (define_global "const_nuw_sub" (const_nuw_sub foldbomb five) m); | ||||
ignore (define_global "const_fsub" (const_fsub ffoldbomb ffive) m); | |||||
ignore (define_global "const_mul" (const_mul foldbomb five) m); | ignore (define_global "const_mul" (const_mul foldbomb five) m); | ||||
ignore (define_global "const_nsw_mul" (const_nsw_mul foldbomb five) m); | ignore (define_global "const_nsw_mul" (const_nsw_mul foldbomb five) m); | ||||
ignore (define_global "const_nuw_mul" (const_nuw_mul foldbomb five) m); | ignore (define_global "const_nuw_mul" (const_nuw_mul foldbomb five) m); | ||||
ignore (define_global "const_fmul" (const_fmul ffoldbomb ffive) m); | |||||
ignore (define_global "const_fdiv" (const_fdiv ffoldbomb ffive) m); | |||||
ignore (define_global "const_frem" (const_frem ffoldbomb ffive) m); | |||||
ignore (define_global "const_and" (const_and foldbomb five) m); | ignore (define_global "const_and" (const_and foldbomb five) m); | ||||
ignore (define_global "const_or" (const_or foldbomb five) m); | ignore (define_global "const_or" (const_or foldbomb five) m); | ||||
ignore (define_global "const_xor" (const_xor foldbomb five) m); | ignore (define_global "const_xor" (const_xor foldbomb five) m); | ||||
ignore (define_global "const_icmp" (const_icmp Icmp.Sle foldbomb five) m); | ignore (define_global "const_icmp" (const_icmp Icmp.Sle foldbomb five) m); | ||||
ignore (define_global "const_fcmp" (const_fcmp Fcmp.Ole ffoldbomb ffive) m); | ignore (define_global "const_fcmp" (const_fcmp Fcmp.Ole ffoldbomb ffive) m); | ||||
group "constant casts"; | group "constant casts"; | ||||
(* CHECK: const_trunc{{.*}}trunc | (* CHECK: const_trunc{{.*}}trunc | ||||
▲ Show 20 Lines • Show All 1,238 Lines • Show Last 20 Lines |