diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-09-02 13:43:56 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-09-02 13:43:56 -0700 |
commit | a6d1361de793ff3c2813011ce6e253982d7fd7f5 (patch) | |
tree | ca940034708a2d0a6a98a4ce3d6c07607dc0a365 | |
parent | f567a0bee4c6db7827291675271fd02e6842e529 (diff) |
some metadata and label fixes
-rw-r--r-- | src/analyzer.js | 5 | ||||
-rw-r--r-- | src/modules.js | 8 | ||||
-rw-r--r-- | src/settings.js | 1 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/analyzer.js b/src/analyzer.js index 3384bdea..6bee2da5 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -60,7 +60,7 @@ function analyzer(data) { if (LLVM_STYLE == 'new' && item.items[i+1].intertype !== 'label') { item.items.splice(i+1, 0, { intertype: 'label', - ident: '_entry', + ident: toNiceIdent('%0'), lineNum: subItem.lineNum + '.5' }); } @@ -579,7 +579,7 @@ function analyzer(data) { func.labelsDict[label.ident] = label; func.labelIds[label.ident] = func.labelIdCounter++; }); - func.labelIds[toNiceIdent('%entry')] = -1; // entry is always -1 + func.labelIds[toNiceIdent('%0')] = -1; // entry is always -1 func.hasPhi = false; func.hasIndirectBr = false; @@ -591,6 +591,7 @@ function analyzer(data) { var remarkableLabelId = line.value.params[i].label; func.remarkableLabels.push(remarkableLabelId); var remarkableLabel = func.labelsDict[remarkableLabelId]; + assert(remarkableLabel); var lastLine = remarkableLabel.lines.slice(-1)[0]; if (lastLine.value) { lastLine.value.currLabelId = remarkableLabelId; diff --git a/src/modules.js b/src/modules.js index 5eb0479f..f431eb94 100644 --- a/src/modules.js +++ b/src/modules.js @@ -30,11 +30,11 @@ var Debugging = { var form1 = new RegExp(/^ .*, !dbg !(\d+) *$/); var form2 = new RegExp(/^ .*, !dbg !(\d+) *; .*$/); var form3 = new RegExp(/^!(\d+) = metadata !{i32 (\d+), (?:i32 \d+|null), metadata !(\d+), .*}$/); - var form3a = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !\d+, (?:i32 \d+|null), (?:i32 \d+|null), metadata !(\d+), (?:i32 \d+|null)} ; \[ DW_TAG_lexical_block \]$/); + var form3a = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !\d+, (?:i32 \d+|null), (?:i32 \d+|null), metadata !(\d+), (?:i32 \d+|null)}.*/); var form3ab = new RegExp(/^!(\d+) = metadata !{i32 \d+, (?:i32 \d+|null), metadata !(\d+), .*$/); var form3ac = new RegExp(/^!(\d+) = metadata !{i32 \d+, (?:metadata !\d+|null), metadata !"[^"]+", metadata !(\d+)[^\[]* ; \[ DW_TAG_.*$/); var form3ad = new RegExp(/^!(\d+) = metadata !{i32 \d+, (?:i32 \d+|null), (?:i32 \d+|null), metadata !"[^"]*", metadata !"[^"]*", metadata !"[^"]*", metadata !(\d+),.*$/); - var form3b = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !"([^"]+)", metadata !"([^"]+)", (metadata !\d+|null)} ; \[ DW_TAG_file_type \]$/); + var form3b = new RegExp(/^!(\d+) = metadata !{i32 \d+, metadata !"([^"]+)", metadata !"([^"]+)", (metadata !\d+|null)}.*$/); var form3c = new RegExp(/^!(\d+) = metadata !{\w+\d* !?(\d+)[^\d].*$/); var form4 = new RegExp(/^!llvm.dbg.[\w\.]+ = .*$/); var form5 = new RegExp(/^!(\d+) = metadata !{.*$/); @@ -112,9 +112,9 @@ var Debugging = { for (var l in llvmLineToMetadata) { var m = llvmLineToMetadata[l]; this.llvmLineToSourceLine[l] = metadataToSourceLine[m]; - //dprint('starting to recurse metadata for: ' + m); + dprint('metadata', 'starting to recurse metadata for: ' + m); while (!metadataToFilename[m]) { - //dprint('recursing metadata, at: ' + m); + dprint('metadata', 'recursing metadata, at: ' + m); m = metadataToParentMetadata[m]; assert(m, 'Confused as to parent metadata for llvm #' + l + ', metadata !' + m); } diff --git a/src/settings.js b/src/settings.js index ab532e67..88887794 100644 --- a/src/settings.js +++ b/src/settings.js @@ -149,4 +149,5 @@ DEBUG_TAGS_SHOWING = []; // vars // relooping // unparsedFunctions + // metadata |