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(" %v = or i64 %v0, %dbit\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(" %tn1 = add i64 %tn, 1\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(" %pr = load i64, ptr @lp_pre\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(" %k = sub i64 %a, %b\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(" %pr = load i64, ptr @lp_pre\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(" %kept = sub i64 %a, %b\n")
|
||||
emith(" %bad = icmp sgt i64 %kept, 0\n")
|
||||
|
|
|
|||
|
|
@ -25278,6 +25278,10 @@ put:
|
|||
%dbit = select i1 %isdecl, i64 549755813888, i64 0
|
||||
%v = or i64 %v0, %dbit
|
||||
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
|
||||
%tn1 = add i64 %tn, 1
|
||||
store i64 %tn1, ptr @lp_tabn
|
||||
|
|
@ -25590,7 +25594,11 @@ read:
|
|||
%sl = load i64, ptr @lp_slive
|
||||
%pr = load i64, ptr @lp_pre
|
||||
%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
|
||||
%k = sub i64 %a, %b
|
||||
call void @lp_funlock()
|
||||
|
|
@ -26348,7 +26356,11 @@ weigh:
|
|||
%ml = load i64, ptr @lp_mlive
|
||||
%pr = load i64, ptr @lp_pre
|
||||
%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
|
||||
%kept = sub i64 %a, %b
|
||||
%bad = icmp sgt i64 %kept, 0
|
||||
|
|
@ -210895,7 +210907,7 @@ ret:
|
|||
ret void
|
||||
}
|
||||
|
||||
define void @fn_emit_fs_dir() {
|
||||
define void @fn_emit_fs_normalize() {
|
||||
entry:
|
||||
call void @fn_emith(ptr @.str13320)
|
||||
call void @fn_emith(ptr @.str13321)
|
||||
|
|
|
|||
|
|
@ -213982,7 +213982,7 @@ ret:
|
|||
ret void
|
||||
}
|
||||
|
||||
define void @fn_emit_fs_dir() {
|
||||
define void @fn_emit_fs_normalize() {
|
||||
entry:
|
||||
call void @fn_emith(ptr @.str13525)
|
||||
call void @fn_emith(ptr @.str13526)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue