Handbook
Glossary
##box-displaced-alien
Basic block instructions
Prev:
##box-alien
Next:
##box-long-long
Vocabulary
compiler
.
cfg
.
instructions
Definition
IN:
compiler.cfg.instructions
TUPLE:
##box-displaced-alien
<
foldable-insn
dst displacement base temp base-class insn#
;
Methods
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##box-displaced-alien
>avail-insn-defs
[
]
change-dst
drop
;
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##box-displaced-alien
>avail-insn-temps
[
]
change-temp
drop
;
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##box-displaced-alien
>avail-insn-uses
[
dup
>avail-vreg
or*
]
change-displacement
[
dup
>avail-vreg
or*
]
change-base
drop
;
USING:
accessors
arrays
compiler.cfg.gvn.expressions
compiler.cfg.gvn.graph
compiler.cfg.instructions
kernel
sequences.private
;
M:
##box-displaced-alien
>expr
\
##box-displaced-alien
swap
[
displacement>>
vreg>vn
]
keep
[
base>>
vreg>vn
]
keep
[
base-class>>
]
keep
drop
4
f
<array>
3
swap
[
set-array-nth
]
keep
2
swap
[
set-array-nth
]
keep
1
swap
[
set-array-nth
]
keep
0
swap
[
set-array-nth
]
keep
;
USING:
accessors
arrays
compiler.cfg.instructions
compiler.cfg.value-numbering.expressions
compiler.cfg.value-numbering.graph
kernel
sequences.private
;
M:
##box-displaced-alien
>expr
\
##box-displaced-alien
swap
[
displacement>>
vreg>vn
]
keep
[
base>>
vreg>vn
]
keep
[
base-class>>
]
keep
drop
4
f
<array>
3
swap
[
set-array-nth
]
keep
2
swap
[
set-array-nth
]
keep
1
swap
[
set-array-nth
]
keep
0
swap
[
set-array-nth
]
keep
;
USING:
compiler.cfg.gc-checks.private
compiler.cfg.instructions
kernel
layouts
;
M:
##box-displaced-alien
allocation-size*
drop
5
cells
;
USING:
accessors
compiler.cfg.alias-analysis
compiler.cfg.instructions
generic
kernel
namespaces
;
M:
##box-displaced-alien
analyze-aliases
[
M\
##box-displaced-alien
analyze-aliases
(call-next-method)
]
[
base>>
heap-ac
get
merge-acs
]
bi
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##box-displaced-alien
assign-insn-defs
[
vreg>reg
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##box-displaced-alien
assign-insn-temps
[
vreg>reg
]
change-temp
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##box-displaced-alien
assign-insn-uses
[
vreg>reg
]
change-displacement
[
vreg>reg
]
change-base
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##box-displaced-alien
convert-insn-defs
[
converted-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##box-displaced-alien
convert-insn-temps
[
]
change-temp
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##box-displaced-alien
convert-insn-uses
[
converted-value
]
change-displacement
[
converted-value
]
change-base
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##box-displaced-alien
defs-vreg-reps
drop
{
tagged-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##box-displaced-alien
defs-vregs
dst>>
1array
;
USING:
accessors
compiler.cfg.instructions
compiler.codegen
cpu.architecture
kernel
;
M:
##box-displaced-alien
generate-insn
[
dst>>
]
keep
[
displacement>>
]
keep
[
base>>
]
keep
[
temp>>
]
keep
[
base-class>>
]
keep
drop
%box-displaced-alien
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##box-displaced-alien
rename-insn-defs
[
rename-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.renaming
kernel
;
M:
##box-displaced-alien
rename-insn-temps
[
drop
next-vreg
]
change-temp
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##box-displaced-alien
rename-insn-uses
[
rename-value
]
change-displacement
[
rename-value
]
change-base
drop
;
USING:
accessors
compiler.cfg.gvn.graph
compiler.cfg.gvn.math
compiler.cfg.gvn.rewrite
compiler.cfg.instructions
compiler.cfg.utilities
kernel
;
M:
##box-displaced-alien
rewrite
dup
displacement>>
vreg>insn
zero-insn?
[
[
dst>>
]
[
base>>
]
bi
<copy>
]
[
drop
f
]
if
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.utilities
compiler.cfg.value-numbering.graph
compiler.cfg.value-numbering.math
compiler.cfg.value-numbering.rewrite
kernel
;
M:
##box-displaced-alien
rewrite
dup
displacement>>
vreg>insn
zero-insn?
[
[
dst>>
]
[
base>>
]
bi
<copy>
]
[
drop
f
]
if
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##box-displaced-alien
ssa-rename-insn-defs
[
gen-name
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##box-displaced-alien
ssa-rename-insn-temps
[
]
change-temp
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##box-displaced-alien
ssa-rename-insn-uses
[
top-name
]
change-displacement
[
top-name
]
change-base
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##box-displaced-alien
temp-vreg-reps
drop
{
int-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##box-displaced-alien
temp-vregs
temp>>
1array
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##box-displaced-alien
uses-vreg-reps
drop
{
int-rep
tagged-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
kernel
;
M:
##box-displaced-alien
uses-vregs
[
displacement>>
]
[
base>>
]
bi
2array
;