[LNT] r304395 - Resubmit r303853
Elad Cohen via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 1 01:09:29 PDT 2017
Author: eladcohen
Date: Thu Jun 1 03:09:29 2017
New Revision: 304395
URL: http://llvm.org/viewvc/llvm-project?rev=304395&view=rev
Log:
Resubmit r303853
[lnt][profile] Add support for X86-64 CFG view
Modified:
lnt/trunk/lnt/server/ui/static/lnt_profile.js
lnt/trunk/lnt/server/ui/templates/v4_profile.html
Modified: lnt/trunk/lnt/server/ui/static/lnt_profile.js
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/lnt_profile.js?rev=304395&r1=304394&r2=304395&view=diff
==============================================================================
--- lnt/trunk/lnt/server/ui/static/lnt_profile.js (original)
+++ lnt/trunk/lnt/server/ui/static/lnt_profile.js Thu Jun 1 03:09:29 2017
@@ -102,6 +102,16 @@ InstructionSetParser.prototype = {
// TODO: add all control-flow-changing instructions.
],
+ X86_64JumpTargetRegexps: [
+ // (regexp, noFallThru?)
+ // branch conditional:
+ [new RegExp("^\\s*j(?:(?:a)|(?:ae)|(?:b)|(?:be)|(?:c)|(?:ecxz)|(?:rcxz)|(?:e)|(?:g)|(?:ge)|(?:l)|(?:le)|(?:na)|(?:nae)|(?:nb)|(?:nbe)|(?:nc)|(?:ne)|(?:ng)|(?:nge)|(?:nl)|(?:nle)|(?:no)|(?:np)|(?:ns)|(?:nz)|(?:o)|(?:p)|(?:pe)|(?:po)|(?:s)|(?:z))\\s+([^\\s]+)"), false],
+ // branch unconditional:
+ [new RegExp("^\\s*jmp\\s+([^\\s]+)"), true],
+ // ret
+ [new RegExp("^\\s*retq"), true]
+ ],
+
getJumpTargets: function(instruction, nextInstruction, cfg) {
for(var i=0; i<this.jumpTargetRegexps.length; ++i) {
var regexp = this.jumpTargetRegexps[i][0];
@@ -497,6 +507,9 @@ Profile.prototype = {
else if (this.instructionSet == 'aarch32t32')
instructionParser = new InstructionSetParser(
InstructionSetParser.prototype.AArch32T32JumpTargetRegexps);
+ else if (this.instructionSet == 'x86_64')
+ instructionParser = new InstructionSetParser(
+ InstructionSetParser.prototype.X86_64JumpTargetRegexps);
else {
// Do not try to continue if we don't have support for
// the requested instruction set.
Modified: lnt/trunk/lnt/server/ui/templates/v4_profile.html
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_profile.html?rev=304395&r1=304394&r2=304395&view=diff
==============================================================================
--- lnt/trunk/lnt/server/ui/templates/v4_profile.html (original)
+++ lnt/trunk/lnt/server/ui/templates/v4_profile.html Thu Jun 1 03:09:29 2017
@@ -93,6 +93,7 @@
<option value="cfg-aarch64">Control-Flow Graph (AArch64)</option>
<option value="cfg-aarch32t32">Control-Flow Graph (AArch32-T32)</option>
<option value="cfg-aarch32a32">Control-Flow Graph (AArch32-A32)</option>
+ <option value="cfg-x86_64">Control-Flow Graph (X86-64)</option>
</select>
</div>
<div class="span4">
More information about the llvm-commits
mailing list