1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Revert "Add opt-viewer testing"

This reverts commit r319073.

Bot fails with a mismatch that looks like pygments-generated HTML.

llvm-svn: 319146
This commit is contained in:
Adam Nemet 2017-11-28 06:22:29 +00:00
parent d3c6f1549a
commit b6f770f3e1
12 changed files with 0 additions and 1152 deletions

View File

@ -628,34 +628,3 @@ else()
endif()
string(REPLACE " " ";" LLVM_BINDINGS_LIST "${LLVM_BINDINGS}")
function(find_python_module module)
string(TOUPPER ${module} module_upper)
set(FOUND_VAR PY_${module_upper}_FOUND)
execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" "import ${module}"
RESULT_VARIABLE status
ERROR_QUIET)
if(status)
set(${FOUND_VAR} 0 PARENT_SCOPE)
message(STATUS "Could NOT find Python module ${module}")
else()
set(${FOUND_VAR} 1 PARENT_SCOPE)
message(STATUS "Found Python module ${module}")
endif()
endfunction()
set (PYTHON_MODULES
pygments
yaml
)
foreach(module ${PYTHON_MODULES})
find_python_module(${module})
endforeach()
if(PY_PYGMENTS_FOUND AND PY_YAML_FOUND)
set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
else()
set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
endif()

View File

@ -123,7 +123,6 @@ if config.have_ocamlopt:
ocamlopt_command = '%s ocamlopt -cclib -L%s -cclib -Wl,-rpath,%s %s' % (
config.ocamlfind_executable, config.llvm_lib_dir, config.llvm_lib_dir, config.ocaml_flags)
opt_viewer_cmd = '%s %s/tools/opt-viewer/opt-viewer.py' % (sys.executable, config.llvm_src_root)
tools = [
ToolSubst('%lli', FindTool('lli'), post='.', extra_args=lli_args),
@ -133,7 +132,6 @@ tools = [
ToolSubst('%ld64', ld64_cmd, unresolved='ignore'),
ToolSubst('%ocamlc', ocamlc_command, unresolved='ignore'),
ToolSubst('%ocamlopt', ocamlopt_command, unresolved='ignore'),
ToolSubst('%opt-viewer', opt_viewer_cmd),
]
# FIXME: Why do we have both `lli` and `%lli` that do slightly different things?
@ -288,6 +286,3 @@ if config.have_libxar:
if config.llvm_libxml2_enabled == '1':
config.available_features.add('libxml2')
if config.have_opt_viewer_modules:
config.available_features.add('have_opt_viewer_modules')

View File

@ -43,7 +43,6 @@ config.link_llvm_dylib = @LLVM_LINK_LLVM_DYLIB@
config.llvm_libxml2_enabled = "@LLVM_LIBXML2_ENABLED@"
config.llvm_host_triple = '@LLVM_HOST_TRIPLE@'
config.host_arch = "@HOST_ARCH@"
config.have_opt_viewer_modules = @LLVM_HAVE_OPT_VIEWER_MODULES@
# Support substitution of the tools_dir with user parameters. This is
# used when we can't determine the tool dir at configuration time.

View File

@ -1,21 +0,0 @@
void bar();
void foo() { bar(); }
#include "or.h"
void Test(int *res, int *c, int *d, int *p, int n) {
int i;
#pragma clang loop vectorize(assume_safety)
for (i = 0; i < 1600; i++) {
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
}
for (i = 0; i < 16; i++) {
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
}
foo();
foo(); bar(); foo();
}

View File

@ -1,16 +0,0 @@
void TestH(int *res, int *c, int *d, int *p, int n) {
int i;
#pragma clang loop vectorize(assume_safety)
for (i = 0; i < 1600; i++) {
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
}
for (i = 0; i < 16; i++) {
res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
}
foo();
foo(); bar(); foo();
}

View File

@ -1,227 +0,0 @@
--- !Missed
Pass: inline
Name: NoDefinition
DebugLoc: { File: basic/or.c, Line: 2, Column: 14 }
Function: foo
Args:
- Callee: bar
- String: ' will not be inlined into '
- Caller: foo
- String: ' because its definition is unavailable'
...
--- !Missed
Pass: inline
Name: NoDefinition
DebugLoc: { File: basic/or.h, Line: 15, Column: 10 }
Function: TestH
Args:
- Callee: bar
- String: ' will not be inlined into '
- Caller: TestH
- String: ' because its definition is unavailable'
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.h, Line: 13, Column: 3 }
Function: TestH
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: TestH
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.h, Line: 13, Column: 3 }
Function: TestH
Args:
- Callee: foo
- String: ' inlined into '
- Caller: TestH
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.h, Line: 15, Column: 3 }
Function: TestH
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: TestH
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.h, Line: 15, Column: 3 }
Function: TestH
Args:
- Callee: foo
- String: ' inlined into '
- Caller: TestH
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.h, Line: 15, Column: 17 }
Function: TestH
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: TestH
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.h, Line: 15, Column: 17 }
Function: TestH
Args:
- Callee: foo
- String: ' inlined into '
- Caller: TestH
...
--- !Passed
Pass: loop-unroll
Name: FullyUnrolled
DebugLoc: { File: basic/or.h, Line: 9, Column: 3 }
Function: TestH
Args:
- String: 'completely unrolled loop with '
- UnrollCount: '16'
- String: ' iterations'
...
--- !Missed
Pass: inline
Name: NoDefinition
DebugLoc: { File: basic/or.c, Line: 20, Column: 10 }
Function: Test
Args:
- Callee: bar
- String: ' will not be inlined into '
- Caller: Test
- String: ' because its definition is unavailable'
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.c, Line: 18, Column: 3 }
Function: Test
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: Test
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.c, Line: 18, Column: 3 }
Function: Test
Args:
- Callee: foo
- String: ' inlined into '
- Caller: Test
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.c, Line: 20, Column: 3 }
Function: Test
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: Test
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.c, Line: 20, Column: 3 }
Function: Test
Args:
- Callee: foo
- String: ' inlined into '
- Caller: Test
...
--- !Analysis
Pass: inline
Name: CanBeInlined
DebugLoc: { File: basic/or.c, Line: 20, Column: 17 }
Function: Test
Args:
- Callee: foo
- String: ' can be inlined into '
- Caller: Test
- String: ' with cost='
- Cost: '30'
- String: ' (threshold='
- Threshold: '412'
- String: ')'
...
--- !Passed
Pass: inline
Name: Inlined
DebugLoc: { File: basic/or.c, Line: 20, Column: 17 }
Function: Test
Args:
- Callee: foo
- String: ' inlined into '
- Caller: Test
...
--- !Passed
Pass: loop-unroll
Name: FullyUnrolled
DebugLoc: { File: basic/or.c, Line: 14, Column: 3 }
Function: Test
Args:
- String: 'completely unrolled loop with '
- UnrollCount: '16'
- String: ' iterations'
...
--- !Passed
Pass: loop-vectorize
Name: Vectorized
DebugLoc: { File: basic/or.h, Line: 5, Column: 3 }
Function: TestH
Args:
- String: 'vectorized loop (vectorization width: '
- VectorizationFactor: '4'
- String: ', interleaved count: '
- InterleaveCount: '2'
- String: ')'
...
--- !Passed
Pass: loop-vectorize
Name: Vectorized
DebugLoc: { File: basic/or.c, Line: 10, Column: 3 }
Function: Test
Args:
- String: 'vectorized loop (vectorization width: '
- VectorizationFactor: '4'
- String: ', interleaved count: '
- InterleaveCount: '2'
- String: ')'
...

View File

@ -1,264 +0,0 @@
<html>
<head>
<link rel='stylesheet' type='text/css' href='style.css'>
</head>
<body>
<div class="centered">
<table class="source">
<thead>
<tr>
<th style="width: 2%">Line</td>
<th style="width: 3%">Hotness</td>
<th style="width: 10%">Optimization</td>
<th style="width: 70%">Source</td>
<th style="width: 15%">Inline Context</td>
</tr>
</thead>
<tbody>
<tr>
<td><a name="L1">1</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">bar</span><span class="p">();</span></pre></div></td>
</tr>
<tr>
<td><a name="L2">2</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{</span> <span class="n">bar</span><span class="p">();</span> <span class="p">}</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-red">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into foo because its definition is unavailable&nbsp;</span></td>
<td class="column-entry-yellow">foo</td>
</tr>
<tr>
<td><a name="L3">3</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L4">4</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="cp">#include</span> <span class="cpf">&quot;or.h&quot;</span><span class="cp"></span></pre></div></td>
</tr>
<tr>
<td><a name="L5">5</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L6">6</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="kt">void</span> <span class="nf">Test</span><span class="p">(</span><span class="kt">int</span> <span class="o">*</span><span class="n">res</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">c</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">d</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">p</span><span class="p">,</span> <span class="kt">int</span> <span class="n">n</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td><a name="L7">7</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span></pre></div></td>
</tr>
<tr>
<td><a name="L8">8</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L9">9</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="cp">#pragma clang loop vectorize(assume_safety)</span></pre></div></td>
</tr>
<tr>
<td><a name="L10">10</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">1600</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">loop-vectorize</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> vectorized loop (vectorization width: 4, interleaved count: 2)&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td><a name="L11">11</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="o">?</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">:</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">];</span></pre></div></td>
</tr>
<tr>
<td><a name="L12">12</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L13">13</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L14">14</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">16</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">loop-unroll</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> completely unrolled loop with 16 iterations&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td><a name="L15">15</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="o">?</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">:</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">];</span></pre></div></td>
</tr>
<tr>
<td><a name="L16">16</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L17">17</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L18">18</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">foo</span><span class="p">();</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td><a name="L19">19</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L20">20</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">foo</span><span class="p">();</span> <span class="n">bar</span><span class="p">();</span> <span class="n">foo</span><span class="p">();</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-red">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into Test because its definition is unavailable&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
<td class="column-entry-yellow">Test</td>
</tr>
<tr>
<td><a name="L21">21</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L22">22</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L23">23</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,221 +0,0 @@
<html>
<head>
<link rel='stylesheet' type='text/css' href='style.css'>
</head>
<body>
<div class="centered">
<table class="source">
<thead>
<tr>
<th style="width: 2%">Line</td>
<th style="width: 3%">Hotness</td>
<th style="width: 10%">Optimization</td>
<th style="width: 70%">Source</td>
<th style="width: 15%">Inline Context</td>
</tr>
</thead>
<tbody>
<tr>
<td><a name="L1">1</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">TestH</span><span class="p">(</span><span class="kt">int</span> <span class="o">*</span><span class="n">res</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">c</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">d</span><span class="p">,</span> <span class="kt">int</span> <span class="o">*</span><span class="n">p</span><span class="p">,</span> <span class="kt">int</span> <span class="n">n</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td><a name="L2">2</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span></pre></div></td>
</tr>
<tr>
<td><a name="L3">3</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L4">4</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="cp">#pragma clang loop vectorize(assume_safety)</span></pre></div></td>
</tr>
<tr>
<td><a name="L5">5</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">1600</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">loop-vectorize</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> vectorized loop (vectorization width: 4, interleaved count: 2)&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td><a name="L6">6</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="o">?</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">:</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">];</span></pre></div></td>
</tr>
<tr>
<td><a name="L7">7</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L8">8</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L9">9</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">16</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">loop-unroll</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> completely unrolled loop with 16 iterations&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td><a name="L10">10</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="o">?</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">:</span> <span class="n">res</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">];</span></pre></div></td>
</tr>
<tr>
<td><a name="L11">11</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L12">12</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L13">13</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">foo</span><span class="p">();</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td><a name="L14">14</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L15">15</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre> <span class="n">foo</span><span class="p">();</span> <span class="n">bar</span><span class="p">();</span> <span class="n">foo</span><span class="p">();</span></pre></div></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-red">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into TestH because its definition is unavailable&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-white">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412)&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="column-entry-green">inline</td>
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH&nbsp;</span></td>
<td class="column-entry-yellow">TestH</td>
</tr>
<tr>
<td><a name="L16">16</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre><span class="p">}</span></pre></div></td>
</tr>
<tr>
<td><a name="L17">17</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
<tr>
<td><a name="L18">18</a></td>
<td></td>
<td></td>
<td><div class="highlight"><pre></pre></div></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,151 +0,0 @@
<html>
<head>
<link rel='stylesheet' type='text/css' href='style.css'>
</head>
<body>
<div class="centered">
<table>
<tr>
<td>Source Location</td>
<td>Hotness</td>
<td>Function</td>
<td>Pass</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.c.html#L2">basic/or.c:2:14</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">foo</td>
<td class="column-entry-red">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.c.html#L10">basic/or.c:10:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">Test</td>
<td class="column-entry-green">loop-vectorize</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.c.html#L14">basic/or.c:14:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">Test</td>
<td class="column-entry-green">loop-unroll</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.c.html#L18">basic/or.c:18:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">Test</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.c.html#L18">basic/or.c:18:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">Test</td>
<td class="column-entry-green">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.c.html#L20">basic/or.c:20:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">Test</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.c.html#L20">basic/or.c:20:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">Test</td>
<td class="column-entry-green">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.c.html#L20">basic/or.c:20:10</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">Test</td>
<td class="column-entry-red">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.c.html#L20">basic/or.c:20:17</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">Test</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.c.html#L20">basic/or.c:20:17</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">Test</td>
<td class="column-entry-green">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.h.html#L5">basic/or.h:5:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">TestH</td>
<td class="column-entry-green">loop-vectorize</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.h.html#L9">basic/or.h:9:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">TestH</td>
<td class="column-entry-green">loop-unroll</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.h.html#L13">basic/or.h:13:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">TestH</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.h.html#L13">basic/or.h:13:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">TestH</td>
<td class="column-entry-green">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.h.html#L15">basic/or.h:15:3</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">TestH</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.h.html#L15">basic/or.h:15:3</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">TestH</td>
<td class="column-entry-green">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.h.html#L15">basic/or.h:15:10</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">TestH</td>
<td class="column-entry-red">inline</td>
</tr>
<tr>
<td class="column-entry-1"><a href="basic_or.h.html#L15">basic/or.h:15:17</a></td>
<td class="column-entry-1"></td>
<td class="column-entry-1">TestH</td>
<td class="column-entry-white">inline</td>
</tr>
<tr>
<td class="column-entry-0"><a href="basic_or.h.html#L15">basic/or.h:15:17</a></td>
<td class="column-entry-0"></td>
<td class="column-entry-0">TestH</td>
<td class="column-entry-green">inline</td>
</tr>
</table>
</body>
</html>

View File

@ -1,208 +0,0 @@
.source {
table-layout: fixed;
width: 100%;
white-space: nowrap;
}
.source td {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.red {
background-color: #ffd0d0;
}
.cyan {
background-color: cyan;
}
body {
font-family: -apple-system, sans-serif;
}
pre {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.source-name-title {
padding: 5px 10px;
border-bottom: 1px solid #dbdbdb;
background-color: #eee;
line-height: 35px;
}
.centered {
display: table;
margin-left: left;
margin-right: auto;
border: 1px solid #dbdbdb;
border-radius: 3px;
}
.expansion-view {
background-color: rgba(0, 0, 0, 0);
margin-left: 0px;
margin-top: 5px;
margin-right: 5px;
margin-bottom: 5px;
border: 1px solid #dbdbdb;
border-radius: 3px;
}
table {
border-collapse: collapse;
}
.light-row {
background: #ffffff;
border: 1px solid #dbdbdb;
}
.column-entry {
text-align: right;
}
.column-entry-left {
text-align: left;
}
.column-entry-white {
text-align: right;
background-color: #ffffff;
}
.column-entry-red {
text-align: right;
background-color: #ffd0d0;
}
.column-entry-green {
text-align: right;
background-color: #d0ffd0;
}
.column-entry-yellow {
text-align: left;
background-color: #ffe1a6;
}
.column-entry-0 {
background-color: #ffffff;
}
.column-entry-1 {
background-color: #eeeeee;
}
.line-number {
text-align: right;
color: #aaa;
}
.covered-line {
text-align: right;
color: #0080ff;
}
.uncovered-line {
text-align: right;
color: #ff3300;
}
.tooltip {
position: relative;
display: inline;
background-color: #b3e6ff;
text-decoration: none;
}
.tooltip span.tooltip-content {
position: absolute;
width: 100px;
margin-left: -50px;
color: #FFFFFF;
background: #000000;
height: 30px;
line-height: 30px;
text-align: center;
visibility: hidden;
border-radius: 6px;
}
.tooltip span.tooltip-content:after {
content: '';
position: absolute;
top: 100%;
left: 50%;
margin-left: -8px;
width: 0; height: 0;
border-top: 8px solid #000000;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
}
:hover.tooltip span.tooltip-content {
visibility: visible;
opacity: 0.8;
bottom: 30px;
left: 50%;
z-index: 999;
}
th, td {
vertical-align: top;
padding: 2px 5px;
border-collapse: collapse;
border-right: solid 1px #eee;
border-left: solid 1px #eee;
}
td:first-child {
border-left: none;
}
td:last-child {
border-right: none;
}
/* Generated with pygmentize -S colorful -f html >> style.css */
.hll { background-color: #ffffcc }
.c { color: #888888 } /* Comment */
.err { color: #FF0000; background-color: #FFAAAA } /* Error */
.k { color: #008800; font-weight: bold } /* Keyword */
.o { color: #333333 } /* Operator */
.ch { color: #888888 } /* Comment.Hashbang */
.cm { color: #888888 } /* Comment.Multiline */
.cp { color: #557799 } /* Comment.Preproc */
.cpf { color: #888888 } /* Comment.PreprocFile */
.c1 { color: #888888 } /* Comment.Single */
.cs { color: #cc0000; font-weight: bold } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
.kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.kt { color: #333399; font-weight: bold } /* Keyword.Type */
.m { color: #6600EE; font-weight: bold } /* Literal.Number */
.s { background-color: #fff0f0 } /* Literal.String */
.na { color: #0000CC } /* Name.Attribute */
.nb { color: #007020 } /* Name.Builtin */
.nc { color: #BB0066; font-weight: bold } /* Name.Class */
.no { color: #003366; font-weight: bold } /* Name.Constant */
.nd { color: #555555; font-weight: bold } /* Name.Decorator */
.ni { color: #880000; font-weight: bold } /* Name.Entity */
.ne { color: #FF0000; font-weight: bold } /* Name.Exception */
.nf { color: #0066BB; font-weight: bold } /* Name.Function */
.nl { color: #997700; font-weight: bold } /* Name.Label */
.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.nt { color: #007700 } /* Name.Tag */
.nv { color: #996633 } /* Name.Variable */
.ow { color: #000000; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
.mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
.mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
.mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
.sb { background-color: #fff0f0 } /* Literal.String.Backtick */
.sc { color: #0044DD } /* Literal.String.Char */
.sd { color: #DD4422 } /* Literal.String.Doc */
.s2 { background-color: #fff0f0 } /* Literal.String.Double */
.se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
.sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
.si { background-color: #eeeeee } /* Literal.String.Interpol */
.sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
.sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
.s1 { background-color: #fff0f0 } /* Literal.String.Single */
.ss { color: #AA6600 } /* Literal.String.Symbol */
.bp { color: #007020 } /* Name.Builtin.Pseudo */
.vc { color: #336699 } /* Name.Variable.Class */
.vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
.vi { color: #3333BB } /* Name.Variable.Instance */
.il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */

View File

@ -1,5 +0,0 @@
RUN: %opt-viewer -s %p/Inputs -o %t %p/Inputs/basic/or.yaml
RUN: diff %p/Outputs/basic/index.html %t/index.html
RUN: diff %p/Outputs/basic/basic_or.h.html %t/basic_or.h.html
RUN: diff %p/Outputs/basic/basic_or.c.html %t/basic_or.c.html
RUN: ls %t/style.css

View File

@ -1,2 +0,0 @@
if 'have_opt_viewer_modules' not in config.available_features:
config.unsupported = True