Index: Features.html =================================================================== --- Features.html +++ Features.html @@ -62,7 +62,7 @@ profile-driven, and some simple loop optimizations.
Description of the project: LLVM functions can be tagged with several attributes such as the function only reads memory, or the function cannot throw exceptions. These attributes are used by many optimizations when deciding if a particular transformation is valid or not. Functions attributes can be either given by the frontend or be inferred by LLVM.
+
Description of the project: LLVM functions can be tagged with several attributes such as the function only reads memory, or the function cannot throw exceptions. These attributes are used by many optimizations when deciding if a particular transformation is valid or not. Functions attributes can be either given by the frontend or be inferred by LLVM.
The goal of this project is to improve current function attributes inference algorithms, and to infer attributes that are not inferred right now. This will be accomplished via intra- and/or inter-procedural analyses. See this email for a list of oportunities for improvement.
Confirmed Mentor: Nuno Lopes
Desirable skills: Intermediate knowledge of C++. Optional familiarity with static analysis/abstract interpretation.
@@ -548,7 +548,7 @@Description of the project: ThinLTO is a cool new technology to perform Link-Time Optimization (see - this talk for more info). It is fairly new + this talk for more info). It is fairly new and there are multiple improvements about cross-module optimizations that can be made there.
@@ -591,7 +591,7 @@Description of the project: - See this talk + See this talk for a starting point. Please take a look at the list of enhancements and bugs in @@ -623,7 +623,7 @@ After instruction selection LLVM uses the MI (Machine Instruction) representation for programs. We recently added support for reading and writing this representation to disk - (http://llvm.org/docs/MIRLangRef.html). Usage of this format for writing + (https://llvm.org/docs/MIRLangRef.html). Usage of this format for writing tests is growing and so is the desire to improve the format, tools and workflow. Improvements would be welcome: @@ -989,7 +989,7 @@
Confirmed Mentor: Tobias Grosser
Confirmed Mentor: Tobias Grosser
Find benchmarks either using our test results or on your own,
+href="https://llvm.org/nightlytest/">test results or on your own,
where LLVM code generators do not produce optimal code or where another
compiler produces better code. Try to minimize the test case that demonstrates
the issue. Then, either submit a
@@ -1263,11 +1263,11 @@
The
+ The
LNT perf database has some nice features like detect moving average,
standard deviations, variations, etc. But the report page give too much emphasis
on the individual variation (where noise can be higher than signal), eg.
-
+
this case. The first part of the project would be to create an analysis tool that would
@@ -1300,7 +1300,7 @@
The
+ The
LLVM Coverage Report has a nice interface to show what source lines are
covered by the tests, but it doesn't mentions which tests, which revision and
what architecture is covered. Wiki
page with overview; design doc, and user manual. You can download
- llvm-tv from LLVM SVN (http://llvm.org/svn/llvm-project/television/trunk).
@@ -1400,7 +1400,7 @@
This page has only brief entries. Some of these projects are described in more detail on the - "Projects Using LLVM" page. + "Projects Using LLVM" page.
Select the target you want to output code for. Generally a target uses the -llc tool to output machine assembly +llc tool to output machine assembly code. However, a few special targets exists:
Select this option to run the llvm-bcanalyzer tool +href="https://llvm.org/cmds/llvm-bcanalyzer.html">llvm-bcanalyzer tool on the generated bytecode, which introspects into the format of the .bc file itself.
Index: demo/index.cgi =================================================================== --- demo/index.cgi +++ demo/index.cgi @@ -125,7 +125,7 @@We already have a central database that stores benchmarking numbers, produced for 2 boards, see -perf's +perf's page. However, it seems no-one monitors the produced results, nor is it easy to derive from those numbers if a particular patch really introduced a significant regression.
Index: devmtg/2015-04/index.html =================================================================== --- devmtg/2015-04/index.html +++ devmtg/2015-04/index.html @@ -66,99 +66,99 @@Video HD | Video SD | Slides | Talk | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Video HD | -Video SD | +Video HD | +Video SD | Introduction Andy Thomason |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Keynote: C Concurrency: Still Tricky Francesco Zappa Nardelli |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | ThinLTO: A Fine-Grained Demand-Driven Infrastructure Teresa Johnson and Xinliang David Li |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Supporting the new IBM z13 mainframe and its SIMD vector unit Ulrich Weigand |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Loop fusion amid complex control flow Ramshankar Ramanarayanan and Dibyendu Das |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | T-EMU 2.0: The Next Generation LLVM Based Micro-Processor Emulator Mattias Holm |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Templight: A Clang Extension for Debugging and Profiling C++ Template Metaprograms Zoltan Porkolab |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | LLPE: High accurate partial evaluation for LLVM IR Christopher Smowton |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Keynote: LLVM meets the truly alien: the Mill CPU architecture in a multi-target tool chain Ivan Godard |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | A high-level implementation of software pipelining in LLVM Roel Jordans and David Moloney |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | PSLP: Padded SLP Automatic Vectorization Vasileios Porpodas, Alberto Magni and Timothy Jones |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Vectorization Of Control Flow Using New Masked Vector Intrinsics Elena Demikhovsky |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Why should I use LLDB? Deepak Panickal and Ewan Crawford |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | LLILC: LLVM as a code generator for the CoreCLR Andrew Ayers |
@@ -165,22 +165,22 @@
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Industrial Experiences with the Clang Static Analysis Toolset Daniel Krupp, Gyorgy Orban, Gabor Horvath and Bence Babati |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | C++ on the web: ponies for developers without pwn'ing users Jf Bastien |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video HD | -Video SD | +Video HD | +Video SD | Slides | Challenges of mixed-width vector code generation and static scheduling in LLVM Erkan Diken, Pierre-Andre Saulais, Martin J. O'Riordan and David Moloney |
@@ -190,8 +190,8 @@
Media | Talk | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
LLVM for the future of Supercomputing - Keynote - - [more] - [pdf] + [more] + [pdf] [video] | Weak Memory Concurrency in C/C++11 and LLVM - Keynote - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Adventures in Fuzzing Instruction Selection - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | ARM Code Size Optimisations - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
AVX-512 Mask Registers Code Generation Challenges in LLVM - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | Clank: Java-port of C/C++ compiler frontend - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
CodeCompass: An Open Software Comprehension Framework - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | Cross Translational Unit Analysis in Clang Static Analyzer: Prototype and Measurements - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Delivering Sample-based PGO for PlayStation(R)4 (and the impact on optimized debugging) - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | Effective Compilation of Higher-Order Programs - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Expressing high level optimizations within LLVM - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | Formalizing the Concurrency Semantics of an LLVM Fragment - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Introducing VPlan to the Loop Vectorizer - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | LLVM performance optimization for z Systems - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
LLVMTuner: An Autotuning framework for LLVM - Technical Talk - - [more] + [more] [video] | Path Invariance Based Partial Loop Un-switching - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Register Allocation and Instruction Scheduling in Unison - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | SPIR-V infrastructure and its place in the LLVM ecosystem - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Using LLVM for Safety-Critical Applications - Technical Talk - - [more] + [more] [video] | Using LLVM in a scalable, high-available, in-memory database server - Technical Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
XLA: Accelerated Linear Algebra - Technical Talk - - [more] + [more] [video] | Automated Combination of Tolerance and Control Flow Integrity Countermeasures against Multiple Fault Attacks - SRC - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Bringing Next Generation C++ to GPUs: The LLVM-based PACXX Approach - SRC - - [more] - [pdf] + [more] + [pdf] [video] | Data Reuse Analysis for Automated Synthesis of Custom Instructions in Sliding Window Applications - SRC - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
ELF GOT Problems? CFI Can Help. - SRC - - [more] + [more] | LifeJacket: Verifying Precise Floating-Point Optimizations in LLVM - SRC - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
Software Prefetching for Indirect Memory Accesses - SRC - - [more] - [pdf] + [more] + [pdf] [video] | ClrFreqPrinter: A Tool for Frequency Annotated Control Flow Graphs Generation - Lightning Talk - - [more] - [pdf] + [more] + [pdf] [web] [video] | @@ -417,14 +417,14 @@|||||||||||
DIVA (Debug Information Visual Analyzer) - Lightning Talk - - [more] - [pdf] + [more] + [pdf] [video] | Generalized API checkers for the Clang Static Analyzer - Lightning Talk - - [more] - [pdf] + [more] + [pdf] [video] | |||||||||||
LibreOffice loves LLVM - Lightning Talk - - [more] - [pdf] + [more] + [pdf] [video] | LLVM AMDGPU for High Performance Computing: are we competitive yet? - Lightning Talk - - [more] - [pdf] + [more] + [pdf] [web] [video] | @@ -446,76 +446,76 @@|||||||||||
Simple C++ reflection with a Clang plugin - Lightning Talk - - [more] + [more] [video] | Alternative Backend Design - BoF - - [more] + [more] | |||||||||||
Clangd: A new Language Server Protocol implementation leveraging Clang - BoF - - [more] - [pdf] + [more] + [pdf] | GlobalISel - BoF - - [more] + [more] | |||||||||||
LLVM Foundation - BoF - - [more] + [more] | A Source-to-Source Vectorizer for the Connex SIMD Accelerator - Poster - - [more] + [more] | |||||||||||
AnyDSL: A Compiler-Framework for Domain-Specific Libraries (DSLs) - Poster - - [more] - [pdf] + [more] + [pdf] | Binary Instrumentation of ELF Objects on ARM - Poster - - [more] + [more] | |||||||||||
CodeCompass: An Open Software Comprehension Framework - Poster - - [more] + [more] | Hydra LLVM: Instruction Selection with Threads - Poster - - [more] - [pdf] + [more] + [pdf] | |||||||||||
Intelligent selection of compiler options to optimize compile time and performance - Poster - - [more] - [pdf] + [more] + [pdf] | LLVM-based silent stores optimization to reduce energy consumption on STT-RAM cache memory - Poster - - [more] + [more] | |||||||||||
Modeling Universal Instruction Selection - Poster - - [more] + [more] | Preparing LLVM for the Future of Supercomputing - Poster - - [more] + [more] |
Apple |
- + | |||||||||||
Apple | @@ -557,8 +557,8 @@
- | + | + | |||||
- | - | + | + | + | |
ARM | @@ -714,7 +714,7 @@