You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -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();
|
||||
}
|
@ -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();
|
||||
}
|
@ -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: ')'
|
||||
...
|
@ -1,186 +0,0 @@
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 7
|
||||
Column: 13
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift.CountableRange.init(uncheckedBounds:)"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(Int, Int, @thin CountableRange<Int>.Type) -> CountableRange<Int>'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 7
|
||||
Column: 12
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift.Collection<>.makeIterator()"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(@in_guaranteed CountableRange<Int>) -> IndexingIterator<CountableRange<Int>>'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 7
|
||||
Column: 9
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift.IndexingIterator.next()"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(@inout IndexingIterator<CountableRange<Int>>) -> Optional<Int>'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 8
|
||||
Column: 12
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift._allocateUninitializedArray<A>(_:)"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(Builtin.Word) -> (@owned Array<Any>, Builtin.RawPointer)'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 8
|
||||
Column: 12
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift.Array.subscript.getter"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(Int, @guaranteed Array<Int>) -> Int'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-inliner
|
||||
Name: sil.Inlined
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 7
|
||||
Column: 13
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- Callee: '"specialized Swift.CountableRange.init(uncheckedBounds:)"'
|
||||
DebugLoc:
|
||||
File: blah.swift
|
||||
Line: 6
|
||||
Column: 6
|
||||
- String: ' inlined into '
|
||||
- Caller: '"s.f()"'
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 6
|
||||
Column: 6
|
||||
- String: ' (cost = '
|
||||
- Cost: '0'
|
||||
- String: ', benefit = '
|
||||
- Benefit: '20'
|
||||
- String: ')'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-inliner
|
||||
Name: sil.Inlined
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 8
|
||||
Column: 12
|
||||
Function: 'f()'
|
||||
Args:
|
||||
- Callee: '"specialized Swift.Array.subscript.getter"'
|
||||
- String: ' inlined into '
|
||||
- Caller: '"s.f()"'
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 6
|
||||
Column: 6
|
||||
- String: ' (cost = '
|
||||
- Cost: '3'
|
||||
- String: ', benefit = '
|
||||
- Benefit: '52'
|
||||
- String: ')'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 4
|
||||
Column: 17
|
||||
Function: main
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift._allocateUninitializedArray<A>(_:)"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(Builtin.Word) -> (@owned Array<Int>, Builtin.RawPointer)'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-generic-specializer
|
||||
Name: sil.Specialized
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 4
|
||||
Column: 16
|
||||
Function: main
|
||||
Args:
|
||||
- String: 'Specialized function '
|
||||
- Function: '"Swift.Array.init(arrayLiteral:)"'
|
||||
- String: ' with type '
|
||||
- FuncType: '(@owned Array<Int>, @thin Array<Int>.Type) -> @owned Array<Int>'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-inliner
|
||||
Name: sil.Inlined
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 4
|
||||
Column: 16
|
||||
Function: main
|
||||
Args:
|
||||
- Callee: '"specialized Swift.Array.init(arrayLiteral:)"'
|
||||
- String: ' inlined into '
|
||||
- Caller: '"main"'
|
||||
- String: ' (cost = '
|
||||
- Cost: '0'
|
||||
- String: ', benefit = '
|
||||
- Benefit: '20'
|
||||
- String: ')'
|
||||
...
|
||||
--- !Passed
|
||||
Pass: sil-inliner
|
||||
Name: sil.Inlined
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 12
|
||||
Column: 1
|
||||
Function: main
|
||||
Args:
|
||||
- Callee: '"s.f()"'
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 6
|
||||
Column: 6
|
||||
- String: ' inlined into '
|
||||
- Caller: '"main"'
|
||||
- String: ' (cost = '
|
||||
- Cost: '20'
|
||||
- String: ', benefit = '
|
||||
- Benefit: '20'
|
||||
- String: ')'
|
||||
...
|
@ -1,11 +0,0 @@
|
||||
import Swift
|
||||
|
||||
var s: [Int] = [1, 2, 3, 4]
|
||||
|
||||
func f() {
|
||||
for i in 0..<4 {
|
||||
print(s[i])
|
||||
}
|
||||
}
|
||||
|
||||
f()
|
@ -1,22 +0,0 @@
|
||||
--- !Passed
|
||||
Pass: sil-inliner
|
||||
Name: sil.Inlined
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 12
|
||||
Column: 16
|
||||
Function: main
|
||||
Args:
|
||||
- Callee: '"s.• infix(_:_:)"'
|
||||
DebugLoc:
|
||||
File: s.swift
|
||||
Line: 3
|
||||
Column: 6
|
||||
- String: ' inlined into '
|
||||
- Caller: '"main"'
|
||||
- String: ' (cost = '
|
||||
- Cost: '2'
|
||||
- String: ', benefit = '
|
||||
- Benefit: '40'
|
||||
- String: ')'
|
||||
...
|
@ -1,12 +0,0 @@
|
||||
infix operator •: AdditionPrecedence
|
||||
|
||||
func • (a: Int, b: Int) -> Int {
|
||||
return a * b
|
||||
}
|
||||
|
||||
@inline(never)
|
||||
func g(a: Int) -> Int{
|
||||
return a + 1
|
||||
}
|
||||
|
||||
let i = g(a: 1 • 2)
|
@ -1,258 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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>void bar();</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L2">2</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>void foo() { bar(); }</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 </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>#include "or.h"</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>void Test(int *res, int *c, int *d, int *p, int n) {</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L7">7</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> int i;</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>#pragma clang loop vectorize(assume_safety)</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L10">10</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> for (i = 0; i < 1600; i++) {</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) </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> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</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></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L14">14</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> for (i = 0; i < 16; i++) {</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 </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> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L16">16</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> }</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> foo();</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) </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 </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> foo(); bar(); foo();</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 </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) </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 </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) </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 </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>}</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>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,215 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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>void TestH(int *res, int *c, int *d, int *p, int n) {</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L2">2</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> int i;</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>#pragma clang loop vectorize(assume_safety)</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L5">5</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> for (i = 0; i < 1600; i++) {</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) </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> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L7">7</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> }</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> for (i = 0; i < 16; i++) {</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 </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> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L11">11</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> }</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> foo();</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) </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 </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> foo(); bar(); foo();</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 </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) </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 </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) </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 </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>}</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>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,152 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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>
|
@ -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 */
|
@ -1,26 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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="s.swift.html#L12">s.swift:12:1</a></td>
|
||||
<td class="column-entry-0"></td>
|
||||
<td class="column-entry-0">main</td>
|
||||
<td class="column-entry-green">sil-inliner</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,116 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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>import Swift</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L2">2</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L3">3</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>var s: [Int] = [1, 2, 3, 4]</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L4">4</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L5">5</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>func f() {</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L6">6</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> for i in 0..<4 {</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L7">7</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> print(s[i])</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>}</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L10">10</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L11">11</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>f()</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></td>
|
||||
<td></td>
|
||||
<td class="column-entry-green">sil-inliner</td>
|
||||
<td><pre style="display:inline"></pre><span class="column-entry-yellow"> <a href="s.swift.html#L6">"s.f()"</a> inlined into "main" (cost = 20, benefit = 20) </span></td>
|
||||
<td class="column-entry-yellow">main</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,26 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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="s.swift.html#L12">s.swift:12:16</a></td>
|
||||
<td class="column-entry-0"></td>
|
||||
<td class="column-entry-0">main</td>
|
||||
<td class="column-entry-green">sil-inliner</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,123 +0,0 @@
|
||||
|
||||
<html>
|
||||
<meta charset="utf-8" />
|
||||
<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>infix operator •: AdditionPrecedence</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L2">2</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L3">3</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>func • (a: Int, b: Int) -> Int {</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L4">4</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> return a * b</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></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L7">7</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>@inline(never)</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L8">8</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>func g(a: Int) -> Int{</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L9">9</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre> return a + 1</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L10">10</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>}</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L11">11</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L12">12</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre>let i = g(a: 1 • 2)</pre></div></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="column-entry-green">sil-inliner</td>
|
||||
<td><pre style="display:inline"> </pre><span class="column-entry-yellow"> <a href="s.swift.html#L3">"s.• infix(_:_:)"</a> inlined into "main" (cost = 2, benefit = 40) </span></td>
|
||||
<td class="column-entry-yellow">main</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a name="L13">13</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="highlight"><pre></pre></div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,9 +0,0 @@
|
||||
# Since we're performing a full compare of the generate HTML files disable
|
||||
# syntax highlighting; pygments generates slightly different code with
|
||||
# different versions.
|
||||
|
||||
RUN: %opt-viewer -s %p/Inputs -o %t %p/Inputs/basic/or.yaml --no-highlight --demangler=llvm-cxxfilt
|
||||
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
|
@ -1,2 +0,0 @@
|
||||
if 'have_opt_viewer_modules' not in config.available_features:
|
||||
config.unsupported = True
|
@ -1,3 +0,0 @@
|
||||
RUN: %opt-viewer -s %p/Inputs/suppress -o %t %p/Inputs/suppress/s.opt.yaml --no-highlight --demangler=llvm-cxxfilt
|
||||
RUN: diff %p/Outputs/suppress/index.html %t/index.html
|
||||
RUN: diff %p/Outputs/suppress/s.swift.html %t/s.swift.html
|
@ -1,7 +0,0 @@
|
||||
RUN: %opt-viewer -s %p/Inputs/unicode-function-name -o %t %p/Inputs/unicode-function-name/s.opt.yaml --no-highlight --demangler=llvm-cxxfilt
|
||||
RUN: diff %p/Outputs/unicode-function-name/index.html %t/index.html
|
||||
RUN: diff %p/Outputs/unicode-function-name/s.swift.html %t/s.swift.html
|
||||
|
||||
# Also test the pygments code path without actually checking the output since
|
||||
# that may slightly vary between pygment versions
|
||||
RUN: %opt-viewer -s %p/Inputs/unicode-function-name -o %t.unused %p/Inputs/unicode-function-name/s.opt.yaml --demangler=llvm-cxxfilt
|
Reference in New Issue
Block a user