mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 20:50:41 +03:00
move cdcmp_flag to CGstate.cmp_flag (#16546)
This commit is contained in:
parent
1b2b3dd763
commit
4fd3fb0e69
3 changed files with 6 additions and 9 deletions
|
@ -226,6 +226,7 @@ struct CGstate
|
|||
con_t regcon; // register contents
|
||||
BackendPass pass;
|
||||
|
||||
int cmp_flag; // pass extra flag from cdcod() to cdcmp()
|
||||
/**********************************
|
||||
* Set value in regimmed for reg.
|
||||
* NOTE: For 16 bit generator, this is always a (targ_short) sign-extended
|
||||
|
|
|
@ -44,8 +44,6 @@ nothrow:
|
|||
|
||||
import dmd.backend.cg : segfl, stackfl;
|
||||
|
||||
__gshared int cdcmp_flag;
|
||||
|
||||
import dmd.backend.divcoeff : choose_multiplier, udiv_coefficients;
|
||||
|
||||
/*******************************
|
||||
|
@ -2346,7 +2344,7 @@ void cdcond(ref CGstate cg, ref CodeBuilder cdb,elem *e,regm_t *pretregs)
|
|||
retregs = BYTEREGS;
|
||||
}
|
||||
|
||||
cdcmp_flag = 1 | rex;
|
||||
cg.cmp_flag = 1 | rex;
|
||||
v1 = cast(targ_size_t)e21.Vllong;
|
||||
v2 = cast(targ_size_t)e22.Vllong;
|
||||
if (jop == JNC)
|
||||
|
|
|
@ -29,9 +29,11 @@ import core.stdc.string;
|
|||
|
||||
import dmd.backend.cc;
|
||||
import dmd.backend.cdef;
|
||||
import dmd.backend.cg : datafl;
|
||||
import dmd.backend.code;
|
||||
import dmd.backend.x86.code_x86;
|
||||
import dmd.backend.codebuilder;
|
||||
import dmd.backend.divcoeff : choose_multiplier, udiv_coefficients;
|
||||
import dmd.backend.mem;
|
||||
import dmd.backend.el;
|
||||
import dmd.backend.global;
|
||||
|
@ -44,10 +46,6 @@ import dmd.backend.x86.xmm;
|
|||
nothrow:
|
||||
@safe:
|
||||
|
||||
import dmd.backend.cg : datafl;
|
||||
|
||||
import dmd.backend.divcoeff : choose_multiplier, udiv_coefficients;
|
||||
|
||||
/*******************************
|
||||
* Return number of times symbol s appears in tree e.
|
||||
*/
|
||||
|
@ -2505,8 +2503,8 @@ void cdcmp(ref CGstate cg, ref CodeBuilder cdb,elem *e,regm_t *pretregs)
|
|||
|
||||
//printf("cdcmp(e = %p, pretregs = %s)\n",e,regm_str(*pretregs));
|
||||
// Collect extra parameter. This is pretty ugly...
|
||||
int flag = cdcmp_flag;
|
||||
cdcmp_flag = 0;
|
||||
int flag = cg.cmp_flag;
|
||||
cg.cmp_flag = 0;
|
||||
|
||||
elem *e1 = e.E1;
|
||||
elem *e2 = e.E2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue