tclquadcode

Check-in [0e3f87c0ab]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:One more bug in retrograde type inference
Timelines: family | ancestors | descendants | both | kbk-free-values
Files: files | file ages | folders
SHA1:0e3f87c0ab1f1dd193fce25865bb503fc7096f1d
User & Date: kbk 2015-03-09 02:16:29
Context
2015-03-14
17:04
Merge lifetime management instruction generation. check-in: 11539b38e2 user: dkf tags: trunk
2015-03-09
02:42
Try to restore retrograde type inference - second attempt Closed-Leaf check-in: f68b06d6b1 user: kbk tags: llvm-integration-memory-part2
02:16
One more bug in retrograde type inference Closed-Leaf check-in: 0e3f87c0ab user: kbk tags: kbk-free-values
01:53
Make retrograde type inference hack work again. check-in: dc00e24c34 user: kbk tags: kbk-free-values
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to quadcode.tcl.

2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338

proc assignParameterTypes {vtypesVar quads} {
    upvar 1 $vtypesVar vtypes

    # set all parameter types to 'void'

    dict for {v type} $vtypes {
	if {[lindex $v 0] eq {var} && [lindex $v 2] == -1} {
	    dict set vtypes $v $dataType::VOID
	}
    }

    # constrain all parameter types according to how they are used in the
    # three address code








|







2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338

proc assignParameterTypes {vtypesVar quads} {
    upvar 1 $vtypesVar vtypes

    # set all parameter types to 'void'

    dict for {v type} $vtypes {
	if {[lindex $v 0] eq {var} && [llength $v] < 3} {
	    dict set vtypes $v $dataType::VOID
	}
    }

    # constrain all parameter types according to how they are used in the
    # three address code