mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-28 18:30:06 +00:00
Rename to non_temporaral_*
This commit is contained in:
@@ -4021,7 +4021,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
|
||||
|
||||
case BuiltinProc_volatile_store:
|
||||
case BuiltinProc_unaligned_store:
|
||||
case BuiltinProc_nontemporal_store:
|
||||
case BuiltinProc_non_temporal_store:
|
||||
case BuiltinProc_atomic_store:
|
||||
{
|
||||
Type *elem = nullptr;
|
||||
@@ -4069,7 +4069,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
|
||||
|
||||
case BuiltinProc_volatile_load:
|
||||
case BuiltinProc_unaligned_load:
|
||||
case BuiltinProc_nontemporal_load:
|
||||
case BuiltinProc_non_temporal_load:
|
||||
case BuiltinProc_atomic_load:
|
||||
{
|
||||
Type *elem = nullptr;
|
||||
|
||||
@@ -80,8 +80,8 @@ enum BuiltinProcId {
|
||||
|
||||
BuiltinProc_unaligned_store,
|
||||
BuiltinProc_unaligned_load,
|
||||
BuiltinProc_nontemporal_store,
|
||||
BuiltinProc_nontemporal_load,
|
||||
BuiltinProc_non_temporal_store,
|
||||
BuiltinProc_non_temporal_load,
|
||||
|
||||
BuiltinProc_prefetch_read_instruction,
|
||||
BuiltinProc_prefetch_read_data,
|
||||
@@ -369,8 +369,8 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
|
||||
|
||||
{STR_LIT("unaligned_store"), 2, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("unaligned_load"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("nontemporal_store"), 2, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("nontemporal_load"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("non_temporal_store"), 2, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("non_temporal_load"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
|
||||
{STR_LIT("prefetch_read_instruction"), 2, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("prefetch_read_data"), 2, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
|
||||
|
||||
@@ -2111,7 +2111,7 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
|
||||
return {};
|
||||
|
||||
case BuiltinProc_volatile_store:
|
||||
case BuiltinProc_nontemporal_store:
|
||||
case BuiltinProc_non_temporal_store:
|
||||
case BuiltinProc_atomic_store:
|
||||
case BuiltinProc_atomic_store_explicit: {
|
||||
lbValue dst = lb_build_expr(p, ce->args[0]);
|
||||
@@ -2121,8 +2121,8 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
|
||||
LLVMValueRef instr = LLVMBuildStore(p->builder, val.value, dst.value);
|
||||
switch (id) {
|
||||
case BuiltinProc_volatile_store: LLVMSetVolatile(instr, true); break;
|
||||
case BuiltinProc_nontemporal_store:
|
||||
// TODO(bill): BuiltinProc_nontemporal_store
|
||||
case BuiltinProc_non_temporal_store:
|
||||
// TODO(bill): BuiltinProc_non_temporal_store
|
||||
break;
|
||||
case BuiltinProc_atomic_store: LLVMSetOrdering(instr, LLVMAtomicOrderingSequentiallyConsistent); break;
|
||||
case BuiltinProc_atomic_store_explicit: LLVMSetOrdering(instr, llvm_atomic_ordering_from_odin(ce->args[2])); break;
|
||||
@@ -2134,7 +2134,7 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
|
||||
}
|
||||
|
||||
case BuiltinProc_volatile_load:
|
||||
case BuiltinProc_nontemporal_load:
|
||||
case BuiltinProc_non_temporal_load:
|
||||
case BuiltinProc_atomic_load:
|
||||
case BuiltinProc_atomic_load_explicit: {
|
||||
lbValue dst = lb_build_expr(p, ce->args[0]);
|
||||
@@ -2142,8 +2142,8 @@ lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValue const &tv,
|
||||
LLVMValueRef instr = LLVMBuildLoad(p->builder, dst.value, "");
|
||||
switch (id) {
|
||||
case BuiltinProc_volatile_load: LLVMSetVolatile(instr, true); break;
|
||||
case BuiltinProc_nontemporal_load:
|
||||
// TODO(bill): BuiltinProc_nontemporal_load
|
||||
case BuiltinProc_non_temporal_load:
|
||||
// TODO(bill): BuiltinProc_non_temporal_load
|
||||
break;
|
||||
case BuiltinProc_atomic_load: LLVMSetOrdering(instr, LLVMAtomicOrderingSequentiallyConsistent); break;
|
||||
case BuiltinProc_atomic_load_explicit: LLVMSetOrdering(instr, llvm_atomic_ordering_from_odin(ce->args[1])); break;
|
||||
|
||||
Reference in New Issue
Block a user