Start a very simple GVN pass (#79)
* Skeleton simple_gvn pass. * Basic testing infrastructure for simple-gvn. * Add can_load and can_store flags to instructions. * Move the replace_values function into the DataFlowGraph. * Make InstructionData derive from Hash, PartialEq, and Eq. * Make EntityList's hash and eq functions panic. * Change Ieee32 and Ieee64 to store u32 and u64, respectively.
This commit is contained in:
committed by
Jakob Stoklund Olesen
parent
0c7b2c7b68
commit
dc809628f4
11
filetests/simple_gvn/basic.cton
Normal file
11
filetests/simple_gvn/basic.cton
Normal file
@@ -0,0 +1,11 @@
|
||||
test simple-gvn
|
||||
|
||||
function simple_redundancy(i32, i32) -> i32 {
|
||||
ebb0(v0: i32, v1: i32):
|
||||
v2 = iadd v0, v1
|
||||
v3 = iadd v0, v1
|
||||
; check: v3 -> v2
|
||||
v4 = imul v2, v3
|
||||
; check: v4 = imul $v2, $v3
|
||||
return v4
|
||||
}
|
||||
Reference in New Issue
Block a user