Merge lang/memory-fence into main (gathering every branch; main's side kept on conflicts)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
9883008cd1
3 changed files with 30 additions and 6 deletions
|
|
@ -659,6 +659,10 @@ function emit_fence_table() -> void {
|
||||||
emith(" %dbit = select i1 %isdecl, i64 549755813888, i64 0\n")
|
emith(" %dbit = select i1 %isdecl, i64 549755813888, i64 0\n")
|
||||||
emith(" %v = or i64 %v0, %dbit\n")
|
emith(" %v = or i64 %v0, %dbit\n")
|
||||||
emith(" store i64 %v, ptr %ev\n")
|
emith(" store i64 %v, ptr %ev\n")
|
||||||
|
emith(" %dl = load i64, ptr @lp_dlive\n")
|
||||||
|
emith(" %dadd = select i1 %isdecl, i64 %n, i64 0\n")
|
||||||
|
emith(" %dl1 = add i64 %dl, %dadd\n")
|
||||||
|
emith(" store i64 %dl1, ptr @lp_dlive\n")
|
||||||
emith(" %tn = load i64, ptr @lp_tabn\n")
|
emith(" %tn = load i64, ptr @lp_tabn\n")
|
||||||
emith(" %tn1 = add i64 %tn, 1\n")
|
emith(" %tn1 = add i64 %tn, 1\n")
|
||||||
emith(" store i64 %tn1, ptr @lp_tabn\n")
|
emith(" store i64 %tn1, ptr @lp_tabn\n")
|
||||||
|
|
@ -973,7 +977,11 @@ function emit_fence_control() -> void {
|
||||||
emith(" %sl = load i64, ptr @lp_slive\n")
|
emith(" %sl = load i64, ptr @lp_slive\n")
|
||||||
emith(" %pr = load i64, ptr @lp_pre\n")
|
emith(" %pr = load i64, ptr @lp_pre\n")
|
||||||
emith(" %sp = load i64, ptr @lp_spre\n")
|
emith(" %sp = load i64, ptr @lp_spre\n")
|
||||||
emith(" %a = sub i64 %lv, %sl\n")
|
emith(" %a0 = sub i64 %lv, %sl\n")
|
||||||
|
emith(" %dlk = load i64, ptr @lp_dlive\n")
|
||||||
|
emith(" %sdl = load i64, ptr @lp_sdlive\n")
|
||||||
|
emith(" %ddk = sub i64 %dlk, %sdl\n")
|
||||||
|
emith(" %a = sub i64 %a0, %ddk\n")
|
||||||
emith(" %b = sub i64 %pr, %sp\n")
|
emith(" %b = sub i64 %pr, %sp\n")
|
||||||
emith(" %k = sub i64 %a, %b\n")
|
emith(" %k = sub i64 %a, %b\n")
|
||||||
emith(" call void @lp_funlock()\n")
|
emith(" call void @lp_funlock()\n")
|
||||||
|
|
@ -1735,7 +1743,11 @@ function emit_fence_frame() -> void {
|
||||||
emith(" %ml = load i64, ptr @lp_mlive\n")
|
emith(" %ml = load i64, ptr @lp_mlive\n")
|
||||||
emith(" %pr = load i64, ptr @lp_pre\n")
|
emith(" %pr = load i64, ptr @lp_pre\n")
|
||||||
emith(" %mp = load i64, ptr @lp_mpre\n")
|
emith(" %mp = load i64, ptr @lp_mpre\n")
|
||||||
emith(" %a = sub i64 %lv, %ml\n")
|
emith(" %a0 = sub i64 %lv, %ml\n")
|
||||||
|
emith(" %dln = load i64, ptr @lp_dlive\n")
|
||||||
|
emith(" %dlmk = load i64, ptr @lp_mdlive\n")
|
||||||
|
emith(" %dd = sub i64 %dln, %dlmk\n")
|
||||||
|
emith(" %a = sub i64 %a0, %dd\n")
|
||||||
emith(" %b = sub i64 %pr, %mp\n")
|
emith(" %b = sub i64 %pr, %mp\n")
|
||||||
emith(" %kept = sub i64 %a, %b\n")
|
emith(" %kept = sub i64 %a, %b\n")
|
||||||
emith(" %bad = icmp sgt i64 %kept, 0\n")
|
emith(" %bad = icmp sgt i64 %kept, 0\n")
|
||||||
|
|
|
||||||
|
|
@ -25278,6 +25278,10 @@ put:
|
||||||
%dbit = select i1 %isdecl, i64 549755813888, i64 0
|
%dbit = select i1 %isdecl, i64 549755813888, i64 0
|
||||||
%v = or i64 %v0, %dbit
|
%v = or i64 %v0, %dbit
|
||||||
store i64 %v, ptr %ev
|
store i64 %v, ptr %ev
|
||||||
|
%dl = load i64, ptr @lp_dlive
|
||||||
|
%dadd = select i1 %isdecl, i64 %n, i64 0
|
||||||
|
%dl1 = add i64 %dl, %dadd
|
||||||
|
store i64 %dl1, ptr @lp_dlive
|
||||||
%tn = load i64, ptr @lp_tabn
|
%tn = load i64, ptr @lp_tabn
|
||||||
%tn1 = add i64 %tn, 1
|
%tn1 = add i64 %tn, 1
|
||||||
store i64 %tn1, ptr @lp_tabn
|
store i64 %tn1, ptr @lp_tabn
|
||||||
|
|
@ -25590,7 +25594,11 @@ read:
|
||||||
%sl = load i64, ptr @lp_slive
|
%sl = load i64, ptr @lp_slive
|
||||||
%pr = load i64, ptr @lp_pre
|
%pr = load i64, ptr @lp_pre
|
||||||
%sp = load i64, ptr @lp_spre
|
%sp = load i64, ptr @lp_spre
|
||||||
%a = sub i64 %lv, %sl
|
%a0 = sub i64 %lv, %sl
|
||||||
|
%dlk = load i64, ptr @lp_dlive
|
||||||
|
%sdl = load i64, ptr @lp_sdlive
|
||||||
|
%ddk = sub i64 %dlk, %sdl
|
||||||
|
%a = sub i64 %a0, %ddk
|
||||||
%b = sub i64 %pr, %sp
|
%b = sub i64 %pr, %sp
|
||||||
%k = sub i64 %a, %b
|
%k = sub i64 %a, %b
|
||||||
call void @lp_funlock()
|
call void @lp_funlock()
|
||||||
|
|
@ -26348,7 +26356,11 @@ weigh:
|
||||||
%ml = load i64, ptr @lp_mlive
|
%ml = load i64, ptr @lp_mlive
|
||||||
%pr = load i64, ptr @lp_pre
|
%pr = load i64, ptr @lp_pre
|
||||||
%mp = load i64, ptr @lp_mpre
|
%mp = load i64, ptr @lp_mpre
|
||||||
%a = sub i64 %lv, %ml
|
%a0 = sub i64 %lv, %ml
|
||||||
|
%dln = load i64, ptr @lp_dlive
|
||||||
|
%dlmk = load i64, ptr @lp_mdlive
|
||||||
|
%dd = sub i64 %dln, %dlmk
|
||||||
|
%a = sub i64 %a0, %dd
|
||||||
%b = sub i64 %pr, %mp
|
%b = sub i64 %pr, %mp
|
||||||
%kept = sub i64 %a, %b
|
%kept = sub i64 %a, %b
|
||||||
%bad = icmp sgt i64 %kept, 0
|
%bad = icmp sgt i64 %kept, 0
|
||||||
|
|
@ -210895,7 +210907,7 @@ ret:
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
define void @fn_emit_fs_dir() {
|
define void @fn_emit_fs_normalize() {
|
||||||
entry:
|
entry:
|
||||||
call void @fn_emith(ptr @.str13320)
|
call void @fn_emith(ptr @.str13320)
|
||||||
call void @fn_emith(ptr @.str13321)
|
call void @fn_emith(ptr @.str13321)
|
||||||
|
|
|
||||||
|
|
@ -213982,7 +213982,7 @@ ret:
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
define void @fn_emit_fs_dir() {
|
define void @fn_emit_fs_normalize() {
|
||||||
entry:
|
entry:
|
||||||
call void @fn_emith(ptr @.str13525)
|
call void @fn_emith(ptr @.str13525)
|
||||||
call void @fn_emith(ptr @.str13526)
|
call void @fn_emith(ptr @.str13526)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue