[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