[www] Change URLs to HTTPS.

This changes most URLs in llvm's html files to HTTPS. Most changes were
search-and-replace with manual verification; some changes were manual.
For a few URLs, the websites were performing redirects or had changed
their anchors; I fixed those up manually. This consistently uses the
official https://wg21.link redirector. This also strips trailing
whitespace and fixes a couple of typos.

Fixes D69363.

There are a very small number of dead links for which I don't know any
replacements (they are equally dead as HTTP or HTTPS):

https://llvm.org/cmds/llvm2cpp.html
https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4
https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4
https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov
https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4
https://llvm.org/perf/db_default/v4/nts/22463
https://polly.llvm.org/documentation/memaccess.html
This commit is contained in:
Stephan T. Lavavej 2019-10-23 16:42:47 -07:00
parent d0bd3fc88b
commit 2e4f1e112d
43 changed files with 3110 additions and 3119 deletions

View File

@ -44,19 +44,19 @@ doxygen markup, but cannot yet generate documentation from it.</li>
Clang is built as a set of libraries, which means that it is possible to
implement capabilities similar to other source language tools, improving them
in various ways. Three examples are <a
href="http://distcc.samba.org/">distcc</a>, the <a
href="https://github.com/distcc">distcc</a>, the <a
href="http://delta.tigris.org/">delta testcase reduction tool</a>, and the
"indent" source reformatting tool.
distcc can be improved to scale better and be more efficient. Delta could be
faster and more efficient at reducing C-family programs if built on the clang
preprocessor. The clang-based indent replacement,
<a href="http://clang.llvm.org/docs/ClangFormat.html">clang-format</a>,
<a href="https://clang.llvm.org/docs/ClangFormat.html">clang-format</a>,
could be taught to handle simple structural rules like those in <a
href="http://llvm.org/docs/CodingStandards.html#hl_earlyexit">the LLVM coding
href="https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code">the LLVM coding
standards</a>.</li>
<li><b>Use clang libraries to extend Ragel with a JIT</b>: <a
href="http://research.cs.queensu.ca/~thurston/ragel/">Ragel</a> is a state
href="https://www.colm.net/open-source/ragel/">Ragel</a> is a state
machine compiler that lets you embed C code into state machines and generate
C code. It would be relatively easy to turn this into a JIT compiler using
LLVM.</li>

View File

@ -45,7 +45,7 @@ to solve and a proposed implementation (from the user perspective).</p>
development. Stay tuned for more information, and of course, patches
welcome!</p>
<p>See also <a href="http://llvm.org/PR4127">PR4127</a>.</p>
<p>See also <a href="https://llvm.org/PR4127">PR4127</a>.</p>
<h2>Existing Solutions and Related Work</h2>
@ -55,14 +55,14 @@ welcome!</p>
and <tt>-m64</tt> solve a small subset of the problem for specific
architectures.</li>
<li>gcc's <a href="http://www.airs.com/ian/configure/configure_8.html">multilibs</a>
<li>gcc's <a href="https://www.airs.com/ian/configure/configure_8.html">multilibs</a>
solve the part of the problem that relates to finding appropriate libraries
and include files based on particular feature support (soft float,
etc.).</li>
<li>Apple's "driver driver" supported by gcc and clang solve a subset of the
problem by supporting <tt>-arch</tt>. Apple also provides a tool chain which
supports <a href="http://en.wikipedia.org/wiki/Universal_binary">universal
supports <a href="https://en.wikipedia.org/wiki/Universal_binary">universal
binaries</a> and object files which may include data for multiple
architectures. See <a href="http://developer.apple.com/mac/library/technotes/tn2005/tn2137.html">TN2137</a>
for an example of how this is used.</li>
@ -73,7 +73,7 @@ welcome!</p>
does not match well with tools which are inherently capable of cross
compiling.</li>
<li>The Debian <a href="http://wiki.debian.org/ArmEabiPort">ArmEabiPort</a>
<li>The Debian <a href="https://wiki.debian.org/ArmEabiPort">ArmEabiPort</a>
wiki page for their work to support the ARM EABI provide an interesting
glimpse into how related issues impact the operating system distribution.</li>

View File

@ -930,9 +930,9 @@ alpha.unix.SimpleStream</span><span class="lang">
Check for misuses of stream APIs:<div class=functions>
fopen<br>
fclose</div>(demo checker, the subject of the demo
(<a href="http://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">Slides</a>
(<a href="https://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">Slides</a>
,<a href="https://youtu.be/kdxlsP5QVPw">Video</a>)
by Anna Zaks and Jordan Rose presented at the <a href="http://llvm.org/devmtg/2012-11/">
by Anna Zaks and Jordan Rose presented at the <a href="https://llvm.org/devmtg/2012-11/">
2012 LLVM Developers' Meeting).</a></div></div></a></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>

View File

@ -17,18 +17,18 @@
<h1>Source Annotations</h1>
<p>The Clang frontend supports several source-level annotations in the form of
<a href="http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html">GCC-style
<a href="https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html">GCC-style
attributes</a> and pragmas that can help make using the Clang Static Analyzer
more useful. These annotations can both help suppress false positives as well as
enhance the analyzer's ability to find bugs.</p>
<p>This page gives a practical overview of such annotations. For more technical
specifics regarding Clang-specific annotations please see the Clang's list of <a
href="http://clang.llvm.org/docs/LanguageExtensions.html">language
href="https://clang.llvm.org/docs/LanguageExtensions.html">language
extensions</a>. Details of &quot;standard&quot; GCC attributes (that Clang also
supports) can be found in the <a href="http://gcc.gnu.org/onlinedocs/gcc/">GCC
supports) can be found in the <a href="https://gcc.gnu.org/onlinedocs/gcc/">GCC
manual</a>, with the majority of the relevant attributes being in the section on
<a href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html">function
<a href="https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html">function
attributes</a>.</p>
<p>Note that attributes that are labeled <b>Clang-specific</b> are not
@ -91,7 +91,7 @@ recognized by GCC. Their use can be conditioned using preprocessor macros
<p>The analyzer recognizes the GCC attribute 'nonnull', which indicates that a
function expects that a given function parameter is not a null pointer. Specific
details of the syntax of using the 'nonnull' attribute can be found in <a
href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-g_t_0040code_007bnonnull_007d-function-attribute-2263">GCC's
href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-nonnull-function-attribute">GCC's
documentation</a>.</p>
<p>Both the Clang compiler and GCC will flag warnings for simple cases where a
@ -139,7 +139,7 @@ conventions can cause the analyzer to miss bugs or flag false positives.</p>
functions that deviate from the Cocoa and Core Foundation conventions using the
attributes described here. However, you should consider using proper naming
conventions or the <a
href="http://clang.llvm.org/docs/LanguageExtensions.html#the-objc-method-family-attribute"><tt>objc_method_family</tt></a>
href="https://clang.llvm.org/docs/LanguageExtensions.html#the-objc-method-family-attribute"><tt>objc_method_family</tt></a>
attribute, if applicable.</p>
<h4 id="attr_ns_returns_retained">Attribute 'ns_returns_retained'
@ -729,7 +729,7 @@ with a 'noreturn' attribute should never return.</p>
<p>Specific details of the syntax of using the 'noreturn' attribute can be found
in <a
href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-g_t_0040code_007bnoreturn_007d-function-attribute-2264">GCC's
href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noreturn-function-attribute">GCC's
documentation</a>.</p>
<p>Not only does the analyzer exploit this information when pruning false paths,

View File

@ -29,8 +29,8 @@ Experimental (Alpha) Checkers</a>.
<ul>
<li><a href="http://www.mobileorchard.com/bug-finding-with-clang-5-resources-to-get-you-started/">Bug Finding With Clang: 5 Resources To Get You Started</a></li>
<li><a href="http://fruitstandsoftware.com/blog/index.php/2008/08/finding-memory-leaks-with-the-llvmclang-static-analyzer/#comment-2">Finding Memory Leaks With The LLVM/Clang Static Analyzer</a></li>
<li><a href="http://www.rogueamoeba.com/utm/2008/07/14/the-clang-static-analyzer/">Under the Microscope - The Clang Static Analyzer</a></li>
<li><a href="http://www.mikeash.com/?page=pyblog/friday-qa-2009-03-06-using-the-clang-static-analyzer.html">Mike Ash - Using the Clang Static Analyzer</a></li>
<li><a href="https://weblog.rogueamoeba.com/2008/07/14/the-clang-static-analyzer/">Under the Microscope - The Clang Static Analyzer</a></li>
<li><a href="https://www.mikeash.com/pyblog/friday-qa-2009-03-06-using-the-clang-static-analyzer.html">Mike Ash - Using the Clang Static Analyzer</a></li>
</ul>
<h2 id="default_checkers">Default Checkers</h2>

View File

@ -22,13 +22,13 @@
relies on a set of checkers to implement the logic for detecting and
constructing specific bug reports. Anyone who is interested in implementing their own
checker, should check out the Building a Checker in 24 Hours talk
(<a href="http://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">slides</a>
(<a href="https://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">slides</a>
<a href="https://youtu.be/kdxlsP5QVPw">video</a>)
and refer to this page for additional information on writing a checker. The static analyzer is a
part of the Clang project, so consult <a href="http://clang.llvm.org/hacking.html">Hacking on Clang</a>
and <a href="http://llvm.org/docs/ProgrammersManual.html">LLVM Programmer's Manual</a>
part of the Clang project, so consult <a href="https://clang.llvm.org/hacking.html">Hacking on Clang</a>
and <a href="https://llvm.org/docs/ProgrammersManual.html">LLVM Programmer's Manual</a>
for developer guidelines and send your questions and proposals to
<a href=http://lists.llvm.org/mailman/listinfo/cfe-dev>cfe-dev mailing list</a>.
<a href=https://lists.llvm.org/mailman/listinfo/cfe-dev>cfe-dev mailing list</a>.
</p>
<ul>
@ -59,7 +59,7 @@ for developer guidelines and send your questions and proposals to
<h2 id=start>Getting Started</h2>
<ul>
<li>To check out the source code and build the project, follow steps 1-4 of
the <a href="http://clang.llvm.org/get_started.html">Clang Getting Started</a>
the <a href="https://clang.llvm.org/get_started.html">Clang Getting Started</a>
page.</li>
<li>The analyzer source code is located under the Clang source tree:
@ -99,19 +99,19 @@ for developer guidelines and send your questions and proposals to
the values of all the expressions in the program based on the input symbols
and the path. The execution is path sensitive and every possible path through
the program is explored. The explored execution traces are represented with
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a> object.
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a> object.
Each node of the graph is
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>,
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>,
which consists of a <tt>ProgramPoint</tt> and a <tt>ProgramState</tt>.
<p>
<a href="http://clang.llvm.org/doxygen/classclang_1_1ProgramPoint.html">ProgramPoint</a>
<a href="https://clang.llvm.org/doxygen/classclang_1_1ProgramPoint.html">ProgramPoint</a>
represents the corresponding location in the program (or the CFG).
<tt>ProgramPoint</tt> is also used to record additional information on
when/how the state was added. For example, <tt>PostPurgeDeadSymbolsKind</tt>
kind means that the state is the result of purging dead symbols - the
analyzer's equivalent of garbage collection.
<p>
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1ProgramState.html">ProgramState</a>
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1ProgramState.html">ProgramState</a>
represents abstract state of the program. It consists of:
<ul>
<li><tt>Environment</tt> - a mapping from source code expressions to symbolic
@ -137,19 +137,19 @@ for developer guidelines and send your questions and proposals to
<h3 id=values>Representing Values</h3>
<p>
During symbolic execution, <a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1SVal.html">SVal</a>
During symbolic execution, <a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1SVal.html">SVal</a>
objects are used to represent the semantic evaluation of expressions.
They can represent things like concrete
integers, symbolic values, or memory locations (which are memory regions).
They are a discriminated union of "values", symbolic and otherwise.
If a value isn't symbolic, usually that means there is no symbolic
information to track. For example, if the value was an integer, such as
<tt>42</tt>, it would be a <a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html">ConcreteInt</a>,
<tt>42</tt>, it would be a <a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html">ConcreteInt</a>,
and the checker doesn't usually need to track any state with the concrete
number. In some cases, <tt>SVal</tt> is not a symbol, but it really should be
a symbolic value. This happens when the analyzer cannot reason about something
(yet). An example is floating point numbers. In such cases, the
<tt>SVal</tt> will evaluate to <a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>.
<tt>SVal</tt> will evaluate to <a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>.
This represents a case that is outside the realm of the analyzer's reasoning
capabilities. <tt>SVals</tt> are value objects and their values can be viewed
using the <tt>.dump()</tt> method. Often they wrap persistent objects such as
@ -157,7 +157,7 @@ for developer guidelines and send your questions and proposals to
</p>
<p>
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1SymExpr.html">SymExpr</a> (symbol)
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1SymExpr.html">SymExpr</a> (symbol)
is meant to represent abstract, but named, symbolic value. Symbols represent
an actual (immutable) value. We might not know what its specific value is, but
we can associate constraints with that value as we analyze a path. For
@ -166,14 +166,14 @@ for developer guidelines and send your questions and proposals to
</p>
<p>
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1MemRegion.html">MemRegion</a> is similar to a symbol.
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1MemRegion.html">MemRegion</a> is similar to a symbol.
It is used to provide a lexicon of how to describe abstract memory. Regions can
layer on top of other regions, providing a layered approach to representing memory.
For example, a struct object on the stack might be represented by a <tt>VarRegion</tt>,
but a <tt>FieldRegion</tt> which is a subregion of the <tt>VarRegion</tt> could
be used to represent the memory associated with a specific field of that object.
So how do we represent symbolic memory regions? That's what
<a href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a>
<a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a>
is for. It is a <tt>MemRegion</tt> that has an associated symbol. Since the
symbol is unique and has a unique name; that symbol names the region.
</p>
@ -245,7 +245,7 @@ values (e.g., the number 1).
solver to model symbolic execution.</li>
<li>Consult the <a
href="http://llvm.org/bugs/buglist.cgi?query_format=advanced&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;version=trunk&amp;component=Static%20Analyzer&amp;product=clang">Bugzilla database</a>
href="https://bugs.llvm.org/buglist.cgi?query_format=advanced&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;version=trunk&amp;component=Static%20Analyzer&amp;product=clang">Bugzilla database</a>
to get some ideas for new checkers and consider starting with improving/fixing
bugs in the existing checkers.</li>
</ul>
@ -305,16 +305,16 @@ was successfully added by seeing if it appears in the list of available checkers
<h2 id=events_callbacks>Events, Callbacks, and Checker Class Structure</h2>
<p> All checkers inherit from the <tt><a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1Checker.html">
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1Checker.html">
Checker</a></tt> template class; the template parameter(s) describe the type of
events that the checker is interested in processing. The various types of events
that are available are described in the file <a
href="http://clang.llvm.org/doxygen/CheckerDocumentation_8cpp_source.html">
href="https://clang.llvm.org/doxygen/CheckerDocumentation_8cpp_source.html">
CheckerDocumentation.cpp</a>
<p> For each event type requested, a corresponding callback function must be
defined in the checker class (<a
href="http://clang.llvm.org/doxygen/CheckerDocumentation_8cpp_source.html">
href="https://clang.llvm.org/doxygen/CheckerDocumentation_8cpp_source.html">
CheckerDocumentation.cpp</a> shows the
correct function name and signature for each event type).
@ -335,13 +335,13 @@ the analyzer cannot be sure whether the file was closed or not.
</ul>
<p>These events that will be used for each of these actions are, respectively, <a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PreCall.html">PreCall</a>,
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PreCall.html">PreCall</a>,
<a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PostCall.html">PostCall</a>,
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PostCall.html">PostCall</a>,
<a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1DeadSymbols.html">DeadSymbols</a>,
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1DeadSymbols.html">DeadSymbols</a>,
and <a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PointerEscape.html">PointerEscape</a>.
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1check_1_1PointerEscape.html">PointerEscape</a>.
The high-level structure of the checker's class is thus:
<pre class="code_example">
@ -376,22 +376,22 @@ several macros designed for this purpose. They are:
<ul>
<li><a
href="http://clang.llvm.org/doxygen/ProgramStateTrait_8h.html#ae4cddb54383cd702a045d7c61b009147">REGISTER_TRAIT_WITH_PROGRAMSTATE</a>:
href="https://clang.llvm.org/doxygen/ProgramStateTrait_8h.html#ae4cddb54383cd702a045d7c61b009147">REGISTER_TRAIT_WITH_PROGRAMSTATE</a>:
Used when the state information is a single value. The methods available for
state types declared with this macro are <tt>get</tt>, <tt>set</tt>, and
<tt>remove</tt>.
<li><a
href="http://clang.llvm.org/doxygen/CheckerContext_8h.html#aa27656fa0ce65b0d9ba12eb3c02e8be9">REGISTER_LIST_WITH_PROGRAMSTATE</a>:
href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#aa27656fa0ce65b0d9ba12eb3c02e8be9">REGISTER_LIST_WITH_PROGRAMSTATE</a>:
Used when the state information is a list of values. The methods available for
state types declared with this macro are <tt>add</tt>, <tt>get</tt>,
<tt>remove</tt>, and <tt>contains</tt>.
<li><a
href="http://clang.llvm.org/doxygen/CheckerContext_8h.html#ad90f9387b94b344eaaf499afec05f4d1">REGISTER_SET_WITH_PROGRAMSTATE</a>:
href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#ad90f9387b94b344eaaf499afec05f4d1">REGISTER_SET_WITH_PROGRAMSTATE</a>:
Used when the state information is a set of values. The methods available for
state types declared with this macro are <tt>add</tt>, <tt>get</tt>,
<tt>remove</tt>, and <tt>contains</tt>.
<li><a
href="http://clang.llvm.org/doxygen/CheckerContext_8h.html#a6d1893bb8c18543337b6c363c1319fcf">REGISTER_MAP_WITH_PROGRAMSTATE</a>:
href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#a6d1893bb8c18543337b6c363c1319fcf">REGISTER_MAP_WITH_PROGRAMSTATE</a>:
Used when the state information is a map from a key to a value. The methods
available for state types declared with this macro are <tt>add</tt>,
<tt>set</tt>, <tt>get</tt>, <tt>remove</tt>, and <tt>contains</tt>.
@ -438,11 +438,11 @@ new data category; the name of this type is the name of the data category with
"Ty" appended. For <tt>REGISTER_TRAIT_WITH_PROGRAMSTATE</tt>, this will simply
be passed data type; for the other three macros, this will be a specialized
version of the <a
href="http://llvm.org/doxygen/classllvm_1_1ImmutableList.html">llvm::ImmutableList</a>,
href="https://llvm.org/doxygen/classllvm_1_1ImmutableList.html">llvm::ImmutableList</a>,
<a
href="http://llvm.org/doxygen/classllvm_1_1ImmutableSet.html">llvm::ImmutableSet</a>,
href="https://llvm.org/doxygen/classllvm_1_1ImmutableSet.html">llvm::ImmutableSet</a>,
or <a
href="http://llvm.org/doxygen/classllvm_1_1ImmutableMap.html">llvm::ImmutableMap</a>
href="https://llvm.org/doxygen/classllvm_1_1ImmutableMap.html">llvm::ImmutableMap</a>
templated class. For the <tt>ExampleDataType</tt> example above, the type
created would be equivalent to writing the declaration:
@ -465,9 +465,9 @@ analyzer core by calling the <tt>CheckerContext::addTransition</tt> function.
<p> When a checker detects a mistake in the analyzed code, it needs a way to
report it to the analyzer core so that it can be displayed. The two classes used
to construct this report are <tt><a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1BugType.html">BugType</a></tt>
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1BugType.html">BugType</a></tt>
and <tt><a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1BugReport.html">
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1BugReport.html">
BugReport</a></tt>.
<p>
@ -500,15 +500,15 @@ the program to meaningfully continue after such an error.
generated by the checker can be passed to the <tt>BugReport</tt> constructor
without additional modification. This <tt>ExplodedNode</tt> will be the one
returned by the most recent call to <a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition</a>.
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition</a>.
If no transition has been performed during the current callback, the checker should call <a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition()</a>
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition()</a>
and use the returned node for bug reporting.
<p>If analysis can not continue, then the current state should be transitioned
into a so-called <i>sink node</i>, a node from which no further analysis will be
performed. This is done by calling the <a
href="http://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#adeea33a5a2bed190210c4a2bb807a6f0">
href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#adeea33a5a2bed190210c4a2bb807a6f0">
CheckerContext::generateSink</a> function; this function is the same as the
<tt>addTransition</tt> function, but marks the state as a sink node. Like
<tt>addTransition</tt>, this returns an <tt>ExplodedNode</tt> with the updated
@ -516,7 +516,7 @@ state, which can then be passed to the <tt>BugReport</tt> constructor.
<p>
After a <tt>BugReport</tt> is created, it should be passed to the analyzer core
by calling <a href = "http://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5">CheckerContext::emitReport</a>.
by calling <a href = "https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5">CheckerContext::emitReport</a>.
<h2 id=ast>AST Visitors</h2>
Some checks might not require path-sensitivity to be effective. Simple AST walk
@ -796,9 +796,9 @@ Documentation for how the Store works</a></li>
<li><a href="https://github.com/llvm/llvm-project/blob/master/clang/docs/analyzer/IPA.txt">
Documentation about inlining</a></li>
<li> The "Building a Checker in 24 hours" presentation given at the <a
href="http://llvm.org/devmtg/2012-11">November 2012 LLVM Developer's
href="https://llvm.org/devmtg/2012-11">November 2012 LLVM Developer's
meeting</a>. Describes the construction of SimpleStreamChecker. <a
href="http://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">Slides</a>
href="https://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">Slides</a>
and <a
href="https://youtu.be/kdxlsP5QVPw">video</a>
are available.</li>
@ -807,15 +807,15 @@ are available.</li>
Artem Degrachev: Clang Static Analyzer: A Checker Developer's Guide
</a> (reading the previous items first might be a good idea)</li>
<li>The list of <a href="implicit_checks.html">Implicit Checkers</a></li>
<li> <a href="http://clang.llvm.org/doxygen">Clang doxygen</a>. Contains
<li> <a href="https://clang.llvm.org/doxygen">Clang doxygen</a>. Contains
up-to-date documentation about the APIs available in Clang. Relevant entries
have been linked throughout this page. Also of use is the
<a href="http://llvm.org/doxygen">LLVM doxygen</a>, when dealing with classes
<a href="https://llvm.org/doxygen">LLVM doxygen</a>, when dealing with classes
from LLVM.</li>
<li> The <a href="http://lists.llvm.org/mailman/listinfo/cfe-dev">
<li> The <a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">
cfe-dev mailing list</a>. This is the primary mailing list used for
discussion of Clang development (including static code analysis). The
<a href="http://lists.llvm.org/pipermail/cfe-dev">archive</a> also contains
<a href="https://lists.llvm.org/pipermail/cfe-dev">archive</a> also contains
a lot of information.</li>
</ul>

View File

@ -224,4 +224,3 @@ false positives.
</div>
</body>
</html>

View File

@ -37,7 +37,7 @@ and why.</li>
<h3>Bugzilla</h3>
<p>Please <a href="http://llvm.org/bugs/enter_bug.cgi?product=clang">file
<p>Please <a href="https://bugs.llvm.org/enter_bug.cgi?product=clang">file
bugs</a> in LLVM's Bugzilla database against the Clang <b>Static Analyzer</b>
component.</p>
@ -45,7 +45,7 @@ component.</p>
<p>If you are using the analyzer to analyze code associated with an Apple NDA
(e.g., preview versions of SDKs or seed releases of Mac OS X) please file bug
reports to Apple's <a href="http://bugreporter.apple.com">Bug Reporter</a> web
reports to Apple's <a href="https://feedbackassistant.apple.com/welcome">Feedback Assistant</a> web
site.</p>
<p>You are free to always file bugs through this website, but this option is less
@ -59,4 +59,3 @@ the analyzer has access to that bug database.</p>
</div>
</body>
</html>

View File

@ -78,7 +78,7 @@ invoked from the command line, and is intended to be run in tandem with a build
of a codebase.</p>
<p>The analyzer is 100% open source and is part of the <a
href="http://clang.llvm.org">Clang</a> project. Like the rest of Clang, the
href="https://clang.llvm.org">Clang</a> project. Like the rest of Clang, the
analyzer is implemented as a C++ library that can be used by other tools and
applications.</p>
@ -161,7 +161,7 @@ Objective-C programs that is freely available, extensible, and has a high qualit
<h3 id="Clang">Part of Clang and LLVM</h3>
<p>As its name implies, the Clang Static Analyzer is built on top of <a
href="http://clang.llvm.org">Clang</a> and <a href="http://llvm.org">LLVM</a>.
href="https://clang.llvm.org">Clang</a> and <a href="https://llvm.org">LLVM</a>.
Strictly speaking, the analyzer is part of Clang, as Clang consists of a set of
reusable C++ libraries for building powerful source-level tools. The static
analysis engine used by the Clang Static Analyzer is a Clang library, and has
@ -220,4 +220,3 @@ patches.</p>
</div>
</body>
</html>

View File

@ -39,7 +39,7 @@ weeks old.</p>
we need volunteers who are willing to help provide such regular builds.
If you wish to help contribute regular builds of the analyzer on other
platforms, please email the <a
href="http://lists.llvm.org/mailman/listinfo/cfe-dev">Clang
href="https://lists.llvm.org/mailman/listinfo/cfe-dev">Clang
Developers' mailing list</a>.</p>
<h3>Using Packaged Builds</h3>
@ -81,7 +81,7 @@ determine where to find its accompanying files.</p>
<p>For other platforms, you must build Clang and LLVM manually. To do
so, please follow the instructions for <a
href="http://clang.llvm.org/get_started.html#build">building Clang from
href="https://clang.llvm.org/get_started.html#build">building Clang from
source code</a>.<p>
<p>Once the Clang is built, you need to add the following to your path:</p>
@ -108,4 +108,3 @@ when clang is built.</p></li>
</div>
</body>
</html>

View File

@ -19,7 +19,7 @@
power. Most of the projects listed here are infrastructure-related so this list
is an addition to the <a href="potential_checkers.html">potential checkers
list</a>. If you are interested in tackling one of these, please send an email
to the <a href=http://lists.llvm.org/mailman/listinfo/cfe-dev>cfe-dev
to the <a href=https://lists.llvm.org/mailman/listinfo/cfe-dev>cfe-dev
mailing list</a> to notify other members of the community.</p>
<ul>
@ -51,7 +51,7 @@ mailing list</a> to notify other members of the community.</p>
<li><code>alpha.unix.StreamChecker</code>
<p>A SimpleStreamChecker has been presented in the Building a Checker in 24
Hours talk
(<a href="http://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">slides</a>
(<a href="https://llvm.org/devmtg/2012-11/Zaks-Rose-Checker24Hours.pdf">slides</a>
<a href="https://youtu.be/kdxlsP5QVPw">video</a>).</p>
<p>This alpha checker is an attempt to write a production grade stream checker.
@ -144,7 +144,7 @@ mailing list</a> to notify other members of the community.</p>
<p>Currently in the analyzer the value of a union is always regarded as
an unknown.
This problem was
previously <a href="http://lists.llvm.org/pipermail/cfe-dev/2017-March/052864.html">discussed</a>
previously <a href="https://lists.llvm.org/pipermail/cfe-dev/2017-March/052864.html">discussed</a>
on the mailing list, but no solution was implemented.
<p><i> (Difficulty: Medium) </i></p></p>
</li>
@ -228,4 +228,3 @@ mailing list</a> to notify other members of the community.</p>
</div>
</body>
</html>

View File

@ -30,7 +30,7 @@
memory.LeakEvalOrder</span><span class="lang">
(C, C++)</span><div class="descr">
Potential memory leaks caused by an undefined argument evaluation order.
<p>Source: <a href="http://www.boost.org/doc/libs/1_49_0/libs/smart_ptr/shared_ptr.htm#BestPractices">
<p>Source: <a href="https://www.boost.org/doc/libs/1_49_0/libs/smart_ptr/shared_ptr.htm#BestPractices">
boost docs: shared_ptr</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -92,7 +92,7 @@ memory.NegativeArraySize</span><span class="lang">
'n' is used to specify the buffer size may be negative.
<br>Note: possibly an enhancement to <span class="name">
alpha.security.MallocOverflow</span>.
<p>Source: <a href="http://cwe.mitre.org/data/definitions/20.html">CWE-20,
<p>Source: <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20,
Example 2</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -127,7 +127,7 @@ void test() {
delete[] p;
}
</pre></div></div></td>
<td class="aligned"><a href="http://reviews.llvm.org/D6178">
<td class="aligned"><a href="https://reviews.llvm.org/D6178">
D6178</a></td></tr>
</table>
@ -294,7 +294,7 @@ int test(bool cond) {
return i;
}
</pre></div></div></td>
<td class="aligned"><a href="http://llvm.org/bugs/show_bug.cgi?id=16890">PR16890</a></td></tr>
<td class="aligned"><a href="https://bugs.llvm.org/show_bug.cgi?id=16890">PR16890</a></td></tr>
<tr><td><div class="namedescr expandable"><span class="name">
deadcode.IdempotentOperations</span><span class="lang">
@ -360,7 +360,7 @@ void use(int fd) {
print("%d", count); // should not warn
}
</pre></div></div></td>
<td class="aligned"><a href="http://llvm.org/bugs/show_bug.cgi?id=18701">PR18701</a></td></tr>
<td class="aligned"><a href="https://bugs.llvm.org/show_bug.cgi?id=18701">PR18701</a></td></tr>
</table>
@ -447,7 +447,7 @@ void test() {
delete[] p;
}
</pre></div></div></td>
<td class="aligned"><a href="http://reviews.llvm.org/D8273">D8273</a></td></tr>
<td class="aligned"><a href="https://reviews.llvm.org/D8273">D8273</a></td></tr>
<tr><td><div class="namedescr expandable"><span class="name">
@ -1734,7 +1734,7 @@ different.IntegerOverflow</span><span class="lang">
Integer overflow.
<br>Note: partially handled by Clang core
(search for 'overflow in expression' warning in Clang tests).
<p>Source: <a href="http://cwe.mitre.org/data/definitions/190.html">
<p>Source: <a href="https://cwe.mitre.org/data/definitions/190.html">
CWE-190</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -1761,7 +1761,7 @@ int test() {
different.SignExtension</span><span class="lang">
(C)</span><div class="descr">
Unexpected sign extension might take place.
<p>Source: <a href="http://cwe.mitre.org/data/definitions/194.html">
<p>Source: <a href="https://cwe.mitre.org/data/definitions/194.html">
CWE-194</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -1789,7 +1789,7 @@ unsigned int test(int i) {
different.NumericTruncation</span><span class="lang">
(C)</span><div class="descr">
Numeric truncation might take place.
<p>Source: <a href="http://cwe.mitre.org/data/definitions/197.html">
<p>Source: <a href="https://cwe.mitre.org/data/definitions/197.html">
CWE-197</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -1851,7 +1851,7 @@ white space-delimited string pointed to by <code><i>lpCommandLine</code></i>.
If the executable or path name has a space in it, there is a risk that a
different executable could be run because of the way the function parses
spaces.
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx">
<p>Source: <a href="https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa#security-remarks">
MSDN: CreateProcess function, Security Remarks</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -1873,7 +1873,7 @@ WinAPI.LoadLibrary</span><span class="lang">
(C)</span><div class="descr">
The <code>SearchPath()</code> function is used to retrieve a path to a DLL for
a subsequent <code>LoadLibrary()</code> call.
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175%28v=vs.85%29.aspx">
<p>Source: <a href="https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibrarya#security-remarks">
MSDN: LoadLibrary function, Security Remarks</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>
@ -1894,7 +1894,7 @@ WinAPI.WideCharToMultiByte</span><span class="lang">
Buffer overrun while calling <code>WideCharToMultiByte()</code>. The size of
the input buffer equals the number of characters in the Unicode string, while
the size of the output buffer equals the number of bytes.
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd374130%28v=vs.85%29.aspx">
<p>Source: <a href="https://docs.microsoft.com/en-us/windows/win32/api/stringapiset/nf-stringapiset-widechartomultibyte">
MSDN: WideCharToMultiByte function</a>.</p></div></div></td>
<td><div class="exampleContainer expandable">
<div class="example"><pre>

View File

@ -380,4 +380,3 @@ $ find . | grep xcspec | grep Clang
</div>
</body>
</html>

View File

@ -381,4 +381,3 @@ full path to the compiler that Xcode is using, and use that as an argument to
</div>
</body>
</html>

View File

@ -141,4 +141,3 @@ $ sudo set-xcode-analyzer --use-xcode-clang
</div>
</body>
</html>

View File

@ -53,7 +53,7 @@
<li>GCC supports more targets than LLVM.</li>
<li>GCC supports many language extensions, some of which are not implemented
by Clang. For instance, in C mode, GCC supports
<a href="http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html">nested
<a href="https://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html">nested
functions</a> and has an
<a href="https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html">extension
allowing VLAs in structs</a>.
@ -72,8 +72,8 @@
generation. GCC is built as a monolithic static compiler, which makes
it extremely difficult to use as an API and integrate into other tools.
Further, its historic design and <a
href="http://gcc.gnu.org/ml/gcc/2007-11/msg00460.html">current</a>
<a href="http://gcc.gnu.org/ml/gcc/2004-12/msg00888.html">policy</a>
href="https://gcc.gnu.org/ml/gcc/2007-11/msg00460.html">current</a>
<a href="https://gcc.gnu.org/ml/gcc/2004-12/msg00888.html">policy</a>
makes it difficult to decouple the front-end from the rest of the
compiler. </li>
<li>Various GCC design decisions make it very difficult to reuse: its build
@ -112,7 +112,7 @@
<li><a href="compatibility.html#cxx">Clang's support for C++</a> is more
compliant than GCC's in many ways.</li>
<li>Clang supports
<a href="http://clang.llvm.org/docs/LanguageExtensions.html">many language
<a href="https://clang.llvm.org/docs/LanguageExtensions.html">many language
extensions</a>, some of which are not implemented by GCC. For instance,
Clang provides attributes for checking thread safety and extended vector
types.</li>

View File

@ -784,7 +784,7 @@ void g(X x) {
</pre>
<p>This affects some early C++11 code, including Boost's popular <a
href="http://www.boost.org/doc/libs/release/libs/smart_ptr/shared_ptr.htm"><tt>shared_ptr</tt></a>
href="https://www.boost.org/doc/libs/release/libs/smart_ptr/shared_ptr.htm"><tt>shared_ptr</tt></a>
up to version 1.47.0. The fix for Boost's <tt>shared_ptr</tt> is
<a href="https://svn.boost.org/trac/boost/changeset/73202">available here</a>.</p>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -64,7 +64,7 @@ optimizers.</p>
<p>
Select this option to run the <a
href="http://llvm.org/cmds/llvm-bcanalyzer.html">llvm-bcanalyzer</a> tool
href="https://llvm.org/docs/CommandGuide/llvm-bcanalyzer.html">llvm-bcanalyzer</a> tool
on the generated bytecode, which introspects into the format of the .bc file
itself. </p>
@ -73,11 +73,10 @@ itself. </p>
<p>
Select this option to run the <a
href="http://llvm.org/cmds/llvm2cpp.html">llvm2cpp</a> tool
href="https://llvm.org/cmds/llvm2cpp.html">llvm2cpp</a> tool
on the generated bytecode, which auto generates the C++ API calls that could
be used to create the .bc file.
</p>
</body>
</html>

View File

@ -290,7 +290,7 @@ to get bigger goals accomplished: it makes sense for everyone to work
together.</p>
<p>For more information about the LLVM/clang license, please see the <a
href="http://llvm.org/docs/DeveloperPolicy.html#license">LLVM License
href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">LLVM License
Description</a> for more information.</p>

View File

@ -28,15 +28,15 @@ to author patches.
<h2>Follow what's going on</h2>
<p>Clang is a subproject of the <a href="http://llvm.org">LLVM Project</a>, but
<p>Clang is a subproject of the <a href="https://llvm.org">LLVM Project</a>, but
has its own mailing lists because the communities have people with different
interests. The two clang lists are:</p>
<ul>
<li><a href="http://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits
<li><a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits
</a> - This list is for patch submission/discussion.</li>
<li><a href="http://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a> -
<li><a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a> -
This list is for everything else Clang related (questions and answers, design
discussions, etc).</li>
@ -45,17 +45,17 @@ discussions, etc).</li>
<p>If you are interested in clang only, these two lists should be all
you need. If you are interested in the LLVM optimizer and code generator,
please consider signing up for <a
href="http://lists.llvm.org/mailman/listinfo/llvm-dev">llvm-dev</a> and <a
href="http://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>
href="https://lists.llvm.org/mailman/listinfo/llvm-dev">llvm-dev</a> and <a
href="https://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>
as well.</p>
<p>The most common way to talk with other developers on the project is through
the <a href="http://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev mailing
the <a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev mailing
list</a>. The clang mailing list is a very friendly place and we welcome
newcomers. In addition to the cfe-dev list, a significant amount of design
discussion takes place on the <a
href="http://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits mailing
href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits mailing
list</a>. All of these lists have archives, so you can browse through previous
discussions or follow the list development on the web if you prefer.</p>

View File

@ -40,11 +40,11 @@ follows:</p>
<a href="https://llvm.org/docs/GettingStarted.html#requirements">
Getting Started with the LLVM System - Requirements</a>.</li>
<li>Note also that Python is needed for running the test suite.
Get it at: <a href="http://www.python.org/download">
http://www.python.org/download</a></li>
Get it at: <a href="https://www.python.org/downloads/">
https://www.python.org/downloads/</a></li>
<li>Standard build process uses CMake. Get it at:
<a href="http://www.cmake.org/download">
http://www.cmake.org/download</a></li>
<a href="https://cmake.org/download/">
https://cmake.org/download/</a></li>
</ul>
<li>Check out the LLVM project:

View File

@ -41,7 +41,7 @@
<!--=====================================================================-->
<p>Clang follows the
LLVM <a href="http://llvm.org/docs/CodingStandards.html">Coding
LLVM <a href="https://llvm.org/docs/CodingStandards.html">Coding
Standards</a>. When submitting patches, please take care to follow these standards
and to match the style of the code to that present in Clang (for example, in
terms of indentation, bracing, and statement spacing).</p>
@ -53,7 +53,7 @@
use <tt>llvm::errs()</tt>. Other uses of <tt>cstdio</tt> impose behavior
upon clients and block integrating Clang as a library. Libraries should
support <tt>raw_ostream</tt> based interfaces for textual
output. See <a href="http://llvm.org/docs/CodingStandards.html#ll_raw_ostream">Coding
output. See <a href="https://llvm.org/docs/CodingStandards.html#use-raw-ostream">Coding
Standards</a>.</li>
</ul>
@ -64,12 +64,12 @@
<p>Both Clang and LLVM use doxygen to provide API documentation. Their
respective web pages (generated nightly) are here:</p>
<ul>
<li><a href="http://clang.llvm.org/doxygen">Clang</a></li>
<li><a href="http://llvm.org/doxygen">LLVM</a></li>
<li><a href="https://clang.llvm.org/doxygen">Clang</a></li>
<li><a href="https://llvm.org/doxygen">LLVM</a></li>
</ul>
<p>For work on the LLVM IR generation, the LLVM assembly language
<a href="http://llvm.org/docs/LangRef.html">reference manual</a> is
<a href="https://llvm.org/docs/LangRef.html">reference manual</a> is
also useful.</p>
<!--=====================================================================-->
@ -87,7 +87,7 @@
the <tt>isConstQualified()</tt>, for example, to get one of the
qualifiers, and the <tt>getTypePtr()</tt> method to get the
wrapped <tt>Type*</tt> which you can then dump.</li>
<li>For <a href="http://lldb.llvm.org"> <tt>LLDB</tt></a> users there are
<li>For <a href="https://lldb.llvm.org"> <tt>LLDB</tt></a> users there are
data formatters for clang data structures in
<a href="https://github.com/llvm/llvm-project/blob/master/clang/utils/ClangDataFormat.py">
<tt>clang/utils/ClangDataFormat.py</tt></a>.</li>
@ -164,7 +164,7 @@
<tt>make test VG=1</tt> in the top-level clang directory.</p>
<p>For more intensive changes, running
the <a href="http://llvm.org/docs/TestingGuide.html#testsuiterun">LLVM
the <a href="https://llvm.org/docs/TestingGuide.html#quick-start">LLVM
Test Suite</a> with clang is recommended. Currently the best way to
override LLVMGCC, as in: <tt>make LLVMGCC="clang -std=gnu89"
TEST=nightly report</tt> (make sure <tt>clang</tt> is in your PATH or use the
@ -179,7 +179,7 @@
<p>Note that the test runner is based on
Python, which must be installed. Find Python at:
<a href="http://www.python.org/download/">http://www.python.org/download/</a>.
<a href="https://www.python.org/downloads/">https://www.python.org/downloads/</a>.
Download the latest stable version.</p>
<p>The GnuWin32 tools are also necessary for running the tests.
@ -197,9 +197,9 @@
<p>
Please see also
<a href="http://llvm.org/docs/GettingStartedVS.html">Getting Started
<a href="https://llvm.org/docs/GettingStartedVS.html">Getting Started
with the LLVM System using Microsoft Visual Studio</a> and
<a href="http://llvm.org/docs/CMake.html">Building LLVM with CMake</a>.
<a href="https://llvm.org/docs/CMake.html">Building LLVM with CMake</a>.
</p>
<!--=====================================================================-->
@ -278,7 +278,7 @@ Testing Time: 81.52s
<p>To return changes to the Clang team, unless you have checkin
privileges, the preferred way is to send patch files
<a href="https://llvm.org/docs/Contributing.html#how-to-submit-a-patch">using LLVM's Phabricator</a> with an explanation of what the patch is for. Clang follows <a
href="http://llvm.org/docs/DeveloperPolicy.html">LLVM's developer policy</a>.
href="https://llvm.org/docs/DeveloperPolicy.html">LLVM's developer policy</a>.
If your patch requires a wider discussion (for example, because it is an
architectural change), you can use the cfe-dev mailing list.</p>
@ -315,7 +315,7 @@ Testing Time: 81.52s
can also use <tt>-emit-llvm-bc</tt> to write an LLVM bitcode file
which can be processed by the suite of LLVM tools
like <tt>llvm-dis</tt>, <tt>llvm-nm</tt>, etc. See the LLVM
<a href="http://llvm.org/docs/CommandGuide/">Command Guide</a>
<a href="https://llvm.org/docs/CommandGuide/">Command Guide</a>
for more information.</p>
</div>

View File

@ -17,7 +17,7 @@
<p>The Clang project provides a language front-end and tooling infrastructure
for languages in the C language family (C, C++, Objective C/C++, OpenCL,
CUDA, and RenderScript) for the <a href="http://www.llvm.org/">LLVM</a>
CUDA, and RenderScript) for the <a href="https://www.llvm.org/">LLVM</a>
project. Both a GCC-compatible compiler driver (<tt>clang</tt>) and an
MSVC-compatible compiler driver (<tt>clang-cl.exe</tt>) are provided. You
can <a href="get_started.html">get and build</a> the source today.</p>

View File

@ -27,8 +27,8 @@
<dd>
<p>
<b>Site:</b>
<a href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">
http://wiki.freebsd.org/BuildingFreeBSDWithClang</a>
<a href="https://wiki.freebsd.org/BuildingFreeBSDWithClang">
https://wiki.freebsd.org/BuildingFreeBSDWithClang</a>
</p>
<p>
This is an effort to get FreeBSD to build with clang/llvm.
@ -51,9 +51,9 @@
<dd>
<p>
<b>Sites:</b><br />
<a href="http://clang.debian.net/">http://clang.debian.net/</a><br />
<a href="http://wiki.debian.org/llvm-clang">
http://wiki.debian.org/llvm-clang</a>
<a href="https://clang.debian.net/">https://clang.debian.net/</a><br />
<a href="https://wiki.debian.org/llvm-clang">
https://wiki.debian.org/llvm-clang</a>
</p>
<p>
Notes on using Clang to rebuild the whole Debian archive.
@ -97,7 +97,7 @@
<dd>
<p>
<b>Site:</b>
<a href="http://github.com/Ericsson/CodeCompass">http://github.com/Ericsson/CodeCompass</a>
<a href="https://github.com/Ericsson/CodeCompass">https://github.com/Ericsson/CodeCompass</a>
</p>
<p>
CodeCompass is an open-source, extensible code comprehension framework which uses LLVM/Clang to analyze and visualize C and C++ projects. It also supports both regex-based text search, discovering complex C/C++ language elements, with advanced navigation and visualisation.
@ -108,7 +108,7 @@
<dd>
<p>
<b>Site:</b>
<a href="http://github.com/Ericsson/CodeChecker">http://github.com/Ericsson/CodeChecker</a>
<a href="https://github.com/Ericsson/CodeChecker">https://github.com/Ericsson/CodeChecker</a>
</p>
<p>
CodeChecker is a static analysis infrastructure built on the LLVM/Clang Static Analyzer toolchain. It provides a user interface to execute analysis of C/C++ projects with Clang SA and Clang-Tidy, which outputs are then stored into a database navigable via a web application. This web application and a corresponding command-line tool supports a variety of report management and issue triaging options, such as difference view between analyses, automatic incremental analysis, marking and commenting on individual reports.

View File

@ -36,12 +36,12 @@
<b>sanitizer runtimes</b> - runtime libraries that are required to run
the code with sanitizer instrumentation. This includes runtimes for:
<ul>
<li><a href="http://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a></li>
<li><a href="http://clang.llvm.org/docs/ThreadSanitizer.html">ThreadSanitizer</a></li>
<li><a href="http://clang.llvm.org/docs/UsersManual.html#opt-fsanitize-undefined">UndefinedBehaviorSanitizer</a></li>
<li><a href="http://clang.llvm.org/docs/MemorySanitizer.html">MemorySanitizer</a></li>
<li><a href="http://clang.llvm.org/docs/LeakSanitizer.html">LeakSanitizer</a></li>
<li><a href="http://clang.llvm.org/docs/DataFlowSanitizer.html">DataFlowSanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/ThreadSanitizer.html">ThreadSanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/UsersManual.html#opt-fsanitize-undefined">UndefinedBehaviorSanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/MemorySanitizer.html">MemorySanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/LeakSanitizer.html">LeakSanitizer</a></li>
<li><a href="https://clang.llvm.org/docs/DataFlowSanitizer.html">DataFlowSanitizer</a></li>
</ul>
</li>
<li>
@ -55,7 +55,7 @@
</p>
<p>All of the code in the compiler-rt project is <a
href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a>
under the MIT license and the UIUC License (a BSD-like license).</p>
<!--=====================================================================-->
@ -63,11 +63,11 @@
<!--=====================================================================-->
<p>Currently compiler-rt is primarily used by
the <a href="http://clang.llvm.org">Clang</a>
and <a href="http://llvm.org">LLVM</a> projects as the implementation for
the <a href="https://clang.llvm.org">Clang</a>
and <a href="https://llvm.org">LLVM</a> projects as the implementation for
the runtime compiler support libraries. For more information on using
compiler-rt with Clang, please see the Clang
<a href="http://clang.llvm.org/get_started.html">Getting Started</a>
<a href="https://clang.llvm.org/get_started.html">Getting Started</a>
page.</p>
<!--=====================================================================-->
@ -81,7 +81,7 @@
</ul>
<p>Most sanitizer runtimes are supported only on Linux x86-64. See tool-specific
pages in <a href="http://clang.llvm.org/docs/index.html">Clang docs</a> for more
pages in <a href="https://clang.llvm.org/docs/index.html">Clang docs</a> for more
details.</p>
<!--=====================================================================-->
@ -116,7 +116,7 @@
cmake.
<p>To build it separately, first
<a href="http://llvm.org/docs/CMake.html#quick-start">build LLVM</a>
<a href="https://llvm.org/docs/CMake.html#quick-start">build LLVM</a>
separately to get llvm-config binary, and then run:
<ul>
@ -128,7 +128,7 @@
</ul>
<p>Tests for sanitizer runtimes are ported to
<a href="http://llvm.org/docs/CommandGuide/lit.html">llvm-lit</a> and are
<a href="https://llvm.org/docs/CommandGuide/lit.html">llvm-lit</a> and are
run by <b>make check-all</b> command in LLVM/Clang/compiler-rt build tree.</p>
<p>compiler-rt libraries are installed to the system with <b>make install</b>
@ -137,10 +137,10 @@
<p>compiler-rt doesn't have its own mailing list, if you have questions please
email the <a
href="http://lists.llvm.org/mailman/listinfo/llvm-dev">llvm-dev</a> mailing
href="https://lists.llvm.org/mailman/listinfo/llvm-dev">llvm-dev</a> mailing
list. Commits to the compiler-rt SVN module are automatically sent to the
<a
href="http://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>
href="https://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>
mailing list.</p>
</div>
</body>

View File

@ -8,7 +8,7 @@
libclc is an open source, BSD/MIT dual licensed
implementation of the library requirements of the
OpenCL C programming language, as specified by the <a
href="http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf">OpenCL
href="https://www.khronos.org/registry/OpenCL/specs/opencl-1.1.pdf">OpenCL
1.1 Specification</a>. The following sections of the specification
impose library requirements:
<ul>
@ -25,7 +25,7 @@ impose library requirements:
</p>
<p>
libclc is intended to be used with the <a href="http://clang.llvm.org/">Clang</a>
libclc is intended to be used with the <a href="https://clang.llvm.org/">Clang</a>
compiler's OpenCL frontend.
</p>
@ -47,7 +47,7 @@ support for more targets is welcome.
<h2>Mailing List</h2>
libclc-dev@lists.llvm.org (<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev">subscribe/unsubscribe</a>, <a href="http://lists.llvm.org/pipermail/libclc-dev/">archives</a>)
libclc-dev@lists.llvm.org (<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev">subscribe/unsubscribe</a>, <a href="https://lists.llvm.org/pipermail/libclc-dev/">archives</a>)
</body>
</html>

View File

@ -39,7 +39,7 @@
C++11, C++14 and above.</p>
<p>All of the code in libc++ is <a
href="https://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a>
under the MIT license and the UIUC License (a BSD-like license).</p>
<!--=====================================================================-->

View File

@ -12,7 +12,7 @@
<body>
<div id="menu">
<div>
<a href="http://llvm.org/">LLVM Home</a>
<a href="https://llvm.org/">LLVM Home</a>
</div>
<div class="submenu">
@ -23,9 +23,9 @@
<div class="submenu">
<label>Quick Links</label>
<a href="https://libcxx.llvm.org/">libc++</a>
<a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
<a href="http://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
<a href="http://llvm.org/bugs/">Bug Reports</a>
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
<a href="https://bugs.llvm.org/">Bug Reports</a>
<a href="https://github.com/llvm/llvm-project/tree/master/libcxxabi/">Browse Sources</a>
</div>
</div>
@ -39,7 +39,7 @@
C++ library.</p>
<p>All of the code in libc++abi is <a
href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a>
under the MIT license and the UIUC License (a BSD-like license).</p>
<!--=====================================================================-->
@ -48,7 +48,7 @@
<ul>
<li>Correctness as defined by the C++11 standard.</li>
<li>Provide a portable sublayer to ease the porting of <a href="http://libcxx.llvm.org/">libc++</a></li>
<li>Provide a portable sublayer to ease the porting of <a href="https://libcxx.llvm.org/">libc++</a></li>
<li>On Mac OS X, be ABI compatible with the existing low-level support.</li>
</ul>
@ -118,7 +118,7 @@
a different ABI library), this may interfere with test results.</p>
<p>Send discussions to the
(<a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p>
(<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p>
<!--=====================================================================-->
<h2>Frequently asked questions</h2>

View File

@ -12,7 +12,7 @@
<body>
<div id="menu">
<div>
<a href="http://llvm.org/">LLVM Home</a>
<a href="https://llvm.org/">LLVM Home</a>
</div>
<div class="submenu">
@ -22,9 +22,9 @@
<div class="submenu">
<label>Quick Links</label>
<a href="http://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a>
<a href="http://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a>
<a href="http://llvm.org/bugs/">Bug Reports</a>
<a href="https://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a>
<a href="https://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a>
<a href="https://bugs.llvm.org/">Bug Reports</a>
<a href="https://github.com/llvm/llvm-project/tree/master/openmp">Browse Sources</a>
</div>
</div>
@ -60,7 +60,7 @@
</p>
<p>All of the code here is <a
href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a>
under the MIT license and the UIUC License (a BSD-like license).
The LICENSE.txt file at the top of the OpenMP project contains
the license text and associated patent grants.
@ -83,19 +83,19 @@
<!--=====================================================================-->
<ul>
<li>Support for the <a href="http://www.openmp.org/mp-documents/OpenMP3.1.pdf">OpenMP
<li>Support for the <a href="https://www.openmp.org/wp-content/uploads/OpenMP3.1.pdf">OpenMP
3.1 standard (PDF)</a> has been achieved in the Clang 3.8.0
release.
</li>
<li>Support for the
<a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">OpenMP
4.0 standard (PDF)</a> and <a href="http://www.openmp.org/mp-documents/OpenMP4.5.pdf">OpenMP
<a href="https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf">OpenMP
4.0 standard (PDF)</a> and <a href="https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf">OpenMP
4.5 standard (PDF)</a> is now being implemented. (Some OpenMP 4.0
and 4.5 features are already available).
<li>High performance.</li>
<li>ABI compatibility with <a href="http://gcc.gnu.org">Gcc</a> and
<a href="http://software.intel.com/en-us/intel-compilers">Intel's
<li>ABI compatibility with <a href="https://gcc.gnu.org">Gcc</a> and
<a href="https://software.intel.com/en-us/compilers">Intel's
existing OpenMP compilers.</a>
We currently have binary compatibility with OpenMP
3.1 code compiled by gcc 4.9, however we do not have support
@ -149,7 +149,7 @@
<!--=====================================================================-->
<p>First please review our
<a href="http://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.
<a href="https://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.
<p>To check out the code, use:</p>
@ -186,7 +186,7 @@
</p>
<p>Send discussions to the
(<a href="http://lists.llvm.org/mailman/listinfo/openmp-dev">OpenMP mailing list</a>).</p>
(<a href="https://lists.llvm.org/mailman/listinfo/openmp-dev">OpenMP mailing list</a>).</p>
<!--=====================================================================-->

View File

@ -51,7 +51,7 @@ interface.</li>
<h2> Older releases</h2>
No changelog available. Please look at the <a
href="http://repo.or.cz/w/polly-mirror.git">commit history</a>.
href="https://repo.or.cz/w/polly-mirror.git">commit history</a>.
</html>
</div>

View File

@ -25,7 +25,7 @@ of four simple steps:
<pre>
mkdir polly &amp;&amp; cd polly
wget http://polly.llvm.org/polly.sh
wget https://polly.llvm.org/polly.sh
chmod +x polly.sh
./polly.sh
</pre>
@ -34,7 +34,7 @@ chmod +x polly.sh
<h3 id="source"> Get the code </h3>
<pre>
git clone http://github.com/llvm/llvm-project.git llvm_git
git clone https://github.com/llvm/llvm-project.git llvm_git
</pre>
<h3 id="build">Build Polly</h3>

View File

@ -34,7 +34,7 @@
For many users, however, it's not the existing optimizations in Polly that are
of most interest, but the new analyses and optimizations enabled by the Polly
infrastructure. At
<a href="http://polyhedral.info">polyhedral.info</a> you can get an idea of
<a href="https://polyhedral.info">polyhedral.info</a> you can get an idea of
what has already been done and what is possible in the context of polyhedral
compilation.
@ -152,7 +152,7 @@
<h4>Polly can be built without GPL licensed software</h4> After Sebastian
Pop's
and David Peixotto's (both Qualcomm) recent <a
href="http://repo.or.cz/w/isl.git/commit/60703e3ee89b9d5d4d1afb6a3f611292c0884574">commit</a>
href="https://repo.or.cz/w/isl.git/commit/60703e3ee89b9d5d4d1afb6a3f611292c0884574">commit</a>
to isl, isl's latest development version can be built with imath instead of
GMP. With both CLooG and gmp having become optional, the last obilgatory
dependency to GPL licensed software has been removed. Now Polly only depends
@ -194,7 +194,7 @@
buildbots</a> has been extended. We now have 16 new blades that track
correctness and performance when compiling the LLVM test-suite. For now five
of them are used to provide <a
href="http://llvm.org/perf/db_default/v4/nts/22463">fine granularity
href="https://llvm.org/perf/db_default/v4/nts/22463">fine granularity
reports</a> (almost per-commit)
for 'clang -O3' (no polly). We also have six machines that track different
configurations of polly.
@ -205,11 +205,11 @@
<h4>islplot released</h4>
<a href="https://github.com/tobig/islplot">islplot</a> is a library that
generates illustrations of integer sets and maps. It relies on <a
href="http://repo.or.cz/w/isl.git">isl</a> to model the integer sets and uses the <a
href="https://repo.or.cz/w/isl.git">isl</a> to model the integer sets and uses the <a
href="https://pypi.python.org/pypi/islpy">islpy</a> Python bindings to access
them. Plotting is performed with <a
href="http://matplotlib.org">matplotlib</a>. The following <a
href="http://nbviewer.ipython.org/github/tobig/islplot/blob/master/notebooks/islplot-examples.ipynb">
href="https://matplotlib.org">matplotlib</a>. The following <a
href="https://nbviewer.ipython.org/github/tobig/islplot/blob/master/notebooks/islplot-examples.ipynb">
Examples</a> show its use.
</td>
</tr>
@ -217,7 +217,7 @@
<tr><td width="120"><p>November</p></td>
<td>
<h4>Loop optimization BoF at upcoming LLVM conference</h4>
At the upcoming <a href="http://llvm.org/devmtg/2013-11/#bof5">LLVM conference
At the upcoming <a href="https://llvm.org/devmtg/2013-11/#bof5">LLVM conference
</a> there will be a loop optimization BoF discussing Polly and other high
level loop optimizers.
</td>
@ -226,8 +226,8 @@
<td>
<h4>Automatic code coverage and static analysis tests</h4>
Sylvestre Ledru set up automatic tests for <a
href="http://llvm.org/reports/coverage/">code coverage</a> and
<a href="http://llvm.org/reports/scan-build/">static analysis</a>
href="https://llvm.org/reports/coverage/">code coverage</a> and
<a href="https://llvm.org/reports/scan-build/">static analysis</a>
which run at least once a day and which include results for Polly.
<h4>Move to CLooG 0.18.1 and isl 0.12.1</h4>
With the move to an isl 0.12 version Polly can be compiled without the
@ -283,13 +283,13 @@ research tool.<br \>
<tr><td width="120"><p>February</p></td>
<td>
<p>Polly is an official LLVM project, reachable at <a
href="http://polly.llvm.org">http://polly.llvm.org</a></p>
href="https://polly.llvm.org">https://polly.llvm.org</a></p>
</td></tr>
<tr><td width="120"><p>January</p></td>
<td>
<p>Improved support for the isl scheduling optimizer</p>
Polly can now automatically optimize all <a
href="http://www.cse.ohio-state.edu/~pouchet/software/polybench/">polybench
href="https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/">polybench
2.0</a> kernels without the help of
an external optimizer. The compile time is reasonable and we can show
notable speedups for various kernels.
@ -300,7 +300,7 @@ research tool.<br \>
<tr><td width="120"><p>November</p></td>
<td>
<p>
Talk at the <a href="http://llvm.org/devmtg/2011-11/">
Talk at the <a href="https://llvm.org/devmtg/2011-11/">
LLVM Developer Meeting 2011</a></p>
New SCEV parser<br>
(Allows parameters in array subscript and max/signextend)
@ -384,7 +384,7 @@ research tool.<br \>
<tr>
<td><p> November </p></td>
<td><p>Talk at the <a
href="http://llvm.org/devmtg/2010-11/">LLVM Developer Meeting</a> </p></td>
href="https://llvm.org/devmtg/2010-11/">LLVM Developer Meeting</a> </p></td>
</tr>
<tr>

View File

@ -14,7 +14,7 @@
<h1>Performance</h1>
<p>To evaluate the performance benefits Polly currently provides we compiled the
<a href="http://www.cse.ohio-state.edu/~pouchet/software/polybench/">Polybench
<a href="https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/">Polybench
2.0</a> benchmark suite. Each benchmark was run with double precision floating
point values on an Intel Core Xeon X5670 CPU @ 2.93GHz (12 cores, 24 thread)
system. We used <a href="http://pocc.sf.net">PoCC</a> and the included <a

View File

@ -21,15 +21,15 @@
<ul>
<li><b>VoIP/SIP:</b> sip:000777polyhedral@iptel.org<br />
<a href="http://ekiga.org">Ekiga</a> is a SIP client that works well for
<a href="https://www.ekiga.org">Ekiga</a> is a SIP client that works well for
most of us.</li>
<li><b>Traditional Dailin Numbers:</b><br />
<li><b>Traditional Dial In Numbers:</b><br />
To use your normal land line phone to connect to the conference dial
one of the many available <a
href="http://www.sipbroker.com/sipbroker/action/pstnNumbers">dial in
numbers</a>. When asked for the number to connect type: <em>*011497659</em>.
<br />
Attention: Some of the dial in numbers do not work reliable. If you are not
Attention: Some of the dial in numbers do not work reliably. If you are not
asked for the number you want to connect to after a couple of seconds, just
try another one. <br/>
Some selected dial in numbers:

View File

@ -30,7 +30,7 @@
href="https://developers.google.com/open-source/gsoc/">Google Summer of
Code</a> projects. In case you are interested in a Google Summer of code
project make sure to reach out via the Polly <a
href="http://groups.google.com/group/polly-dev">mailing list</a> early to
href="https://groups.google.com/group/polly-dev">mailing list</a> early to
discuss your project proposal.
<h3>Integrate Polly with the LLVM vectorizers</h3>
@ -59,7 +59,7 @@
libraries and outperforming the code icc/gcc currently generate.
<h3>Polly support for Julia - First steps</h3>
<a href="http://julialang.org/">Julia</a> is a new matlab style programming
<a href="https://julialang.org/">Julia</a> is a new matlab style programming
language that provides C like performance for scientific computing. Even
though Julia also translates to LLVM-IR, parsing and optimizing Julia code
poses new challenges that currently prevent Polly from optimizing Julia

View File

@ -17,7 +17,7 @@
<!--*********************************************************************-->
<h2> Publications about polyhedral compilation </h2>
<a href="http://polyhedral.info/publications.html">polyhedral.info</a> has a
<a href="https://polyhedral.info/publications.html">polyhedral.info</a> has a
large list of publications related to polyhedral compilation. They are very
useful to get an idea of the latest developments in this area of compilation
as well as to understand what kind of optimizations can be built on top of
@ -41,7 +41,7 @@ Parallel Processing Letters 2012 22:04<br />
<li><em>Loopy: Programmable and Formally Verified Loop Transformations</em><br />
Kedar Namjoshi and Nimit Singhania<br />
23rd Static Analysis Symposium (SAS 2016)<br />
<a href="http://link.springer.com/chapter/10.1007/978-3-662-53413-7_19">Paper</a>
<a href="https://link.springer.com/chapter/10.1007/978-3-662-53413-7_19">Paper</a>
</li>
<li><em>Input Space Splitting for OpenCL</em><br />
Simon Moll, Johannes Doerfert and Sebastian Hack<br />
@ -102,10 +102,10 @@ Parallel Processing Letters 2012 22:04<br />
<li><em>Polly - First Successful Optimizations - How to proceed?</em><br />
Tobias Grosser, Ragesh A<br />
LLVM Developer Meeting 2011<br /><a
href="http://llvm.org/devmtg/2011-11/Grosser_PollyOptimizations.pdf">Slides</a>, <a
href="http://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov">Video
href="https://llvm.org/devmtg/2011-11/Grosser_PollyOptimizations.pdf">Slides</a>, <a
href="https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov">Video
(Computer)</a>, <a
href="http://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4">Video
href="https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4">Video
(Mobile)</a></li>
<li><em>A Framework for Automatic OpenMP Code Generation</em><br />
Raghesh A<br />
@ -133,10 +133,10 @@ Parallel Processing Letters 2012 22:04<br />
<li><em>Polly - Polyhedral Transformations for LLVM</em><br />
Tobias Grosser, Hongbin Zheng<br />
LLVM Developer Meeting 2010<br /><a
href="http://llvm.org/devmtg/2010-11/Grosser-Polly.pdf">Slides</a>, <a
href="http://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4">Video
href="https://llvm.org/devmtg/2010-11/Grosser-Polly.pdf">Slides</a>, <a
href="https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4">Video
(Computer)</a>, <a
href="http://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4">Video
href="https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4">Video
(Mobile)</a></li>
</ul>

View File

@ -151,7 +151,7 @@ Code generate PHI dependences
</td><td>
</td></tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=12398">Remove
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12398">Remove
the need for independent blocks</a>
</th><td class="done"> Done
</td><td>
@ -172,13 +172,13 @@ cornercases </th></tr>
<th> Owner </th>
</tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=10381">Derive
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=10381">Derive
optimal types (instead of always using i64)</a>
</th><td class="open"> Open
</td><td>
</td></tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=12397">Model
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12397">Model
integer wrapping</a>
</th><td align="center" class='done'> Done
</td><td> Johannes
@ -274,14 +274,14 @@ Optimizations (ongoing)</h3>
<tr>
<tr>
<th align="left"> <a
href="http://llvm.org/bugs/show_bug.cgi?id=12403">Variable-size
href="https://bugs.llvm.org/show_bug.cgi?id=12403">Variable-size
multi-dimensional arrays</a>
</th><td align="center" class='done'> Done
</td><td>Sebastian
</td></tr>
<tr>
<th align="left"> <a
href="http://llvm.org/bugs/show_bug.cgi?id=12407">Derive information for
href="https://bugs.llvm.org/show_bug.cgi?id=12407">Derive information for
the SCoP context
</a>
</th>
@ -289,7 +289,7 @@ the SCoP context
</td><td>
</td></tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=12402">Finer
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12402">Finer
grained statements</a>
</th><td align="center" class='nice'> Open
</td><td>
@ -317,7 +317,7 @@ grained statements</a>
<th> Owner </th>
</tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=12405">Polyhedral
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12405">Polyhedral
dead code elimination</a>
</th><td class="done">Done
</td><td>
@ -342,7 +342,7 @@ dead code elimination</a>
</td><td>Johannes
<tr>
<th align="left"> <a
href="http://polly.llvm.org/documentation/gpgpucodegen.html">GPGPU Code
href="https://polly.llvm.org/documentation/gpgpucodegen.html">GPGPU Code
Generation</a>
</th><td class="niceinprogress">in progress
</td><td>
@ -350,13 +350,13 @@ Yabin
</td></tr>
<tr>
<th align="left"> <a
href="http://polly.llvm.org/documentation/memaccess.html">Allow optimizers to
href="https://polly.llvm.org/documentation/memaccess.html">Allow optimizers to
change memory access functions</a>
</th><td class="done"> Done
</td><td>Johannes
</td></tr>
<tr>
<th align="left"> <a href="http://llvm.org/bugs/show_bug.cgi?id=12406">Make code
<th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12406">Make code
generation independent of the clast</a>
</th><td class="done">Done
</td><td>
@ -377,7 +377,7 @@ generation independent of the clast</a>
</td></tr>
<tr>
<th align="left"> Add <a
href="http://www.cse.ohio-state.edu/~pouchet/software/polybench/">Polybench
href="https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/">Polybench
3.2</a> to the LLVM test suite
</th><td class="done"> Done
</td><td>
@ -407,8 +407,8 @@ href="http://www.cse.ohio-state.edu/~pouchet/software/polybench/">Polybench
<th align="left"> Move to LLVM SVN
</th><td class="done" align="center">
<a
href="http://llvm.org/svn/llvm-project/polly"
>http://llvm.org/svn/llvm-project/polly</a>
href="https://llvm.org/svn/llvm-project/polly"
>https://llvm.org/svn/llvm-project/polly</a>
</td><td> Tobias
</td></tr>
@ -422,14 +422,14 @@ llvm-commits@lists.llvm.org
<th align="left"> LLVM Bugzilla category
</th><td class="done" align="center">
<a href="http://llvm.org/bugs/enter_bug.cgi?product=Projects">LLVM Bugzilla</a>
<a href="https://bugs.llvm.org/enter_bug.cgi?product=Projects">LLVM Bugzilla</a>
<br />
(Product is 'Projects', Component is 'Polly')
</td><td> Tobias
<tr>
<th align="left"> Website
</th><td class="done" align="center">
<a href="http://polly.llvm.org">http://polly.llvm.org</a>
<a href="https://polly.llvm.org">https://polly.llvm.org</a>
</td><td> Tobias
</td></tr>
<tr>