Skip to content

fix: SSA handled variables generated by constants ignore the variable type #55

@Zffu

Description

@Zffu

Example code:

func main() {
	var s32 test = 45
	var s32 test2 = 65

	if(test == test2) {
		test = 54
	}
}

Expected MIR:

.func_func_0_structfalse
- block_0

%block_0
	constints 65 32
	constints 45 32
	eq #0 #1
	condbr #2 2 1

%block_1
merge_blocks
- 0
- 2
	phi [b0, #0] [b2, #3]

%block_2
	constints 54 64
	ucondbr 1

Got:

.func_func_0_structfalse
- block_0

%block_0
	constints 65 64
	constints 45 64
	eq #0 #1
	condbr #2 2 1

%block_1
merge_blocks
- 0
- 2
	phi [b0, #0] [b2, #3]

%block_2
	constints 54 64
	ucondbr 1

Metadata

Metadata

Assignees

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions