I will add to this as I go along when I see things which may be missing.
API
Instructions
TB_API void tb_inst_memzero(TB_Function* f, TB_Node* dst, TB_Node* val, TB_Node* count, TB_CharUnits align, bool is_volatile) {
tb_inst_memset(f, dst, tb_inst_uint(f, TB_TYPE_I8, 0), count, align, is_volatile);
}
"Intrinsics"
IR Debugging
Debug Information
Questions
- Does
tb_inst_set_region_name require that the name passed is in unique to that function or does Tilde handle this?
- How to get the previous instruction?—i.e. of a region
I will add to this as I go along when I see things which may be missing.
API
const char*also take a length where possibleptrdiff_tis -1, it's NUL terminatedf16typeu16internally or whateverTB_Node*(useful in some instructions that require an explicit alignment)Instructions
allocaequivalenttb_inst_ptris missingtb_inst_sint/tb_inst_uintfor types >64 bits (e.g. 128-bits)tb_inst_memmoveTB_(SHL|SHR|SAR) with slightly different to C semanticsx<<2==(x<<1)<<1TB_BSWAPwork with floatsTB_MULPAIRTB_ArithmeticBehaviormaybe?wasm.memory.growwasm.memory.sizewasm.memory.atomic.wait32wasm.memory.atomic.notifytb_inst_memzerohelper?"Intrinsics"
cpu_relaxpauseon amd64isbon arm64x86_cpuidx86_xgetbvIR Debugging
Debug Information
Questions
tb_inst_set_region_namerequire that the name passed is in unique to that function or does Tilde handle this?