nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge: nitcorn: FileServer default file
[nit.git]
/
src
/
ssa.nit
diff --git
a/src/ssa.nit
b/src/ssa.nit
index
135ccd6
..
dbaac2e
100644
(file)
--- a/
src/ssa.nit
+++ b/
src/ssa.nit
@@
-1076,7
+1076,7
@@
redef class AWhileExpr
old_block.link(block)
self.n_expr.generate_basic_blocks(ssa, old_block)
old_block.link(block)
self.n_expr.generate_basic_blocks(ssa, old_block)
- var inside_block = self.n_block.generate_basic_blocks(ssa, block)
+ self.n_block.generate_basic_blocks(ssa, block)
# Link the inside of the block to the previous block
block.link_special(old_block)
# Link the inside of the block to the previous block
block.link_special(old_block)
@@
-1117,15
+1117,17
@@
redef class AForExpr
# The beginning of the block is the first instruction
var block = new BasicBlock
# The beginning of the block is the first instruction
var block = new BasicBlock
- block.first = self.n_expr
+ block.first = self.n_groups.first.n_expr
block.last = self.n_block.as(not null)
block.last = self.n_block.as(not null)
- # Visit the test of the if
- self.n_expr.generate_basic_blocks(ssa, block)
+ for g in n_groups do
+ # Visit the test of the if
+ g.n_expr.generate_basic_blocks(ssa, block)
- # Collect the variables declared in the for
- for v in variables do
- ssa.propdef.variables.add(v)
+ # Collect the variables declared in the for
+ for v in g.variables do
+ ssa.propdef.variables.add(v)
+ end
end
old_block.link(block)
end
old_block.link(block)