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.
- 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.
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.
Description of the project: Clang has a newly implemented autocompletion feature which details can be found at LLVM blog. We would like to improve this by adding more flags to autocompletion, supporting more shells (currently it supports only bash) and exporting this feature to other projects such as llvm-opt. Accepted student will be working on Clang Driver, LLVM Options and shell scripts. +
Description of the project: Clang has a newly implemented autocompletion feature which details can be found at LLVM blog. We would like to improve this by adding more flags to autocompletion, supporting more shells (currently it supports only bash) and exporting this feature to other projects such as llvm-opt. Accepted student will be working on Clang Driver, LLVM Options and shell scripts.
Expected Results: Autocompletion working on bash and zsh, support llvm-opt options.
@@ -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 + (http://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: @@ -820,7 +820,7 @@ This check should be easier to write in clang-tidy than in Clang Static Analyzer, specially because that we don't care about inlining (as long as it doesn't modify pointer). More details in the - Bugzilla feature + Bugzilla feature request
Confirmed Mentor: Alexander Kornienko, Piotr Padlewski
@@ -955,7 +955,7 @@Confirmed Mentor: Tobias Grosser
Confirmed Mentor: Tobias Grosser
If you are thinking about tackling one of these projects, please send a mail -to the LLVM +to the LLVM Developer's mailing list, so that we know the project is being worked on. Additionally this is a good way to get more information about a specific project or to suggest other projects to add to this page. @@ -1058,8 +1058,8 @@
The projects in this page are open-ended. More specific projects are -filed as unassigned enhancements in the -LLVM bug tracker. See the list of currently outstanding issues if you wish to help improve LLVM.
+filed as unassigned enhancements in the +LLVM bug tracker. See the list of currently outstanding issues if you wish to help improve LLVM. @@ -1076,9 +1076,9 @@ see their "Open projects" page:-The LLVM bug tracker occasionally +The LLVM bug tracker occasionally has "code-cleanup" bugs filed in it. + class="llvm.org_link" href="https://bugs.llvm.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=code-cleanup&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0=">"code-cleanup" bugs filed in it. Taking one of these and fixing it is a good way to get your feet wet in the LLVM code and discover how some of its components work. Some of these include some major IR redesign work, which is high-impact because it can simplify a lot @@ -1172,15 +1172,15 @@ Some specific ones that would be great to have:
Additionally, there are performance improvements in LLVM that need to get fixed. These are marked with the slow-compile keyword. Use -this Bugzilla query +this Bugzilla query to find them.
We are always looking for new testcases and benchmarks for use with LLVM. In particular, it is useful to try compiling your favorite C source code with LLVM. If it doesn't compile, try to figure out why or report it to the llvm-bugs list. If you +class="llvm.org_link" href="https://lists.llvm.org/pipermail/llvm-bugs/">llvm-bugs
list. If you get the program to compile, it would be extremely useful to convert the build system to be compatible with the LLVM Programs testsuite so that we can check it into SVN and the automated tester can use it to track progress of the @@ -1243,10 +1243,10 @@Find benchmarks either using our test results or on your own, +href="/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 +the issue. Then, either submit a bug with your testcase and the code that LLVM produces vs. the code that it should produce, or even better, see if you can improve the code generator and submit a patch. The basic idea is that it's generally quite easy @@ -1332,9 +1332,9 @@
Dragonegg integrates the LLVM optimizers and code generator with the GCC parsers. This allows LLVM to compile Ada, Fortran, and other languages supported by the GCC compiler frontends, and access to C features not supported by Clang. -See dragonegg webpage. +See dragonegg webpage.
@@ -102,7 +102,7 @@Current MREs are monolithic. Extending them to propose new features or reusing them to execute new languages is difficult. VMKit is a library that eases the development of new MREs and the process of experimenting with new mechanisms inside MREs. VMKit provides the basic components of MREs: a JIT compiler, a GC, and a thread manager. - See vmkit webpage. + See vmkit webpage.
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.
LLVM is distributed under the University of Illinois Open Source License, an OSI-approved +
LLVM is distributed under the University of Illinois Open Source License, an OSI-approved license.
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="/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 @@ -18,7 +18,7 @@ my $LOGFILE = "$ROOT/log.txt"; my $FORM_URL = 'index.cgi'; my $MAILADDR = 'sabre@nondot.org'; -my $CONTACT_ADDRESS = 'Questions or comments? Email the LLVM-dev mailing list.'; +my $CONTACT_ADDRESS = 'Questions or comments? Email the LLVM-dev mailing list.'; my $LOGO_IMAGE_URL = '../img/DragonSmall.png'; my $TIMEOUTAMOUNT = 20; Index: devmtg/2007-05/index.html =================================================================== --- devmtg/2007-05/index.html +++ devmtg/2007-05/index.html @@ -9,7 +9,7 @@The meeting serves as a forum for both LLVM -and Clang developers and users to get acquainted, lea +and Clang developers and users to get acquainted, lea rn how LLVM is used, and exchange ideas about LLVM and its (potential) applications. More broadly, we believe the event will be of particular interest to the following people:
Index: devmtg/2010-11/index.html =================================================================== --- devmtg/2010-11/index.html +++ devmtg/2010-11/index.html @@ -20,7 +20,7 @@The meeting serves as a forum for LLVM, -Clang, LLDB and +Clang, LLDB and other LLVM project developers and users to get acquainted, learn how LLVM is used, and exchange ideas about LLVM and its (potential) applications. More broadly, we believe the event will be of particular interest to the following people:
@@ -34,7 +34,7 @@ and interesting ways.-We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting: +We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting:
Index: devmtg/2011-11/index.html =================================================================== --- devmtg/2011-11/index.html +++ devmtg/2011-11/index.html @@ -24,7 +24,7 @@
We are eager to find companies to help cover travel expenses for speakers needing assistance. If your company is interested, please contact dkipping@qualcomm.com.
The meeting serves as a forum for LLVM, -Clang, LLDB and +Clang, LLDB and other LLVM project developers and users to get acquainted, learn how LLVM is used, and exchange ideas about LLVM and its (potential) applications. More broadly, we believe the event will be of particular interest to the following people:
@@ -38,7 +38,7 @@ and interesting ways.-We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting. +We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting.
Index: devmtg/2012-11/index.html =================================================================== --- devmtg/2012-11/index.html +++ devmtg/2012-11/index.html @@ -19,7 +19,7 @@The meeting served as a forum for LLVM, -Clang, LLDB and +Clang, LLDB and other LLVM project developers and users to get acquainted, learn how LLVM is used, and exchange ideas about LLVM and its (potential) applications. More broadly, we believe the event will be of particular interest to the following people:
@@ -33,7 +33,7 @@ and interesting ways-We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting. +We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting.
For information on the conference venue, your travels and accommodation, - please check our Venue & + please check our Venue & Accommodation page.
Keep in mind that the paper submission deadline is the 27th January! The - same deadline holds for our student research + same deadline holds for our student research competition that features an NVIDIA Titan X (Pascal) GPU as a first prize!
@@ -189,7 +189,7 @@- All students (including PhD students) are eligible! Please see the guideline + All students (including PhD students) are eligible! Please see the guideline for details and send the application as well as questions to the LLVM Foundation Board of Directors (board@llvm.org).
@@ -187,7 +187,7 @@LLVM for the future of Supercomputing - - [pdf] + [pdf] [video]
@@ -224,7 +224,7 @@
Weak Memory Concurrency in C/C++11 and LLVM - - [pdf] + [pdf] [video]
@@ -256,7 +256,7 @@
Adventures in Fuzzing Instruction Selection - - [pdf] + [pdf] [video]
@@ -300,7 +300,7 @@
ARM Code Size Optimisations - - [pdf] + [pdf] [video]
@@ -326,7 +326,7 @@
AVX-512 Mask Registers Code Generation Challenges in LLVM - - [pdf] + [pdf] [video]
@@ -358,7 +358,7 @@
Clank: Java-port of C/C++ compiler frontend - - [pdf] + [pdf] [video]
@@ -402,7 +402,7 @@
CodeCompass: An Open Software Comprehension Framework - - [pdf] + [pdf] [video]
@@ -446,7 +446,7 @@
Cross Translational Unit Analysis in Clang Static Analyzer: Prototype and Measurements - - [pdf] + [pdf] [video]
@@ -484,7 +484,7 @@
Delivering Sample-based PGO for PlayStation(R)4 (and the impact on optimized debugging) - - [pdf] + [pdf] [video]
@@ -540,7 +540,7 @@
Effective Compilation of Higher-Order Programs - - [pdf] + [pdf] [video]
@@ -566,7 +566,7 @@
Expressing high level optimizations within LLVM - - [pdf] + [pdf] [video]
@@ -598,7 +598,7 @@
Formalizing the Concurrency Semantics of an LLVM Fragment - - [pdf] + [pdf] [video]
@@ -630,7 +630,7 @@
Introducing VPlan to the Loop Vectorizer - - [pdf] + [pdf] [video]
@@ -656,7 +656,7 @@
LLVM performance optimization for z Systems - - [pdf] + [pdf] [video]
@@ -725,7 +725,7 @@
Path Invariance Based Partial Loop Un-switching - - [pdf] + [pdf] [video]
@@ -769,7 +769,7 @@
Register Allocation and Instruction Scheduling in Unison - - [pdf] + [pdf] [video]
@@ -801,7 +801,7 @@
SPIR-V infrastructure and its place in the LLVM ecosystem - - [pdf] + [pdf] [video]
@@ -858,7 +858,7 @@
Using LLVM in a scalable, high-available, in-memory database server - - [pdf] + [pdf] [video]
@@ -993,7 +993,7 @@
Automated Combination of Tolerance and Control Flow Integrity Countermeasures against Multiple Fault Attacks - - [pdf] + [pdf] [video]
@@ -1037,7 +1037,7 @@
Bringing Next Generation C++ to GPUs: The LLVM-based PACXX Approach - - [pdf] + [pdf] [video]
@@ -1075,7 +1075,7 @@
Data Reuse Analysis for Automated Synthesis of Custom Instructions in Sliding Window Applications - - [pdf] + [pdf] [video]
@@ -1149,7 +1149,7 @@
LifeJacket: Verifying Precise Floating-Point Optimizations in LLVM - - [pdf] + [pdf] [video]
@@ -1181,7 +1181,7 @@
Software Prefetching for Indirect Memory Accesses - - [pdf] + [pdf] [video]
@@ -1219,7 +1219,7 @@
ClrFreqPrinter: A Tool for Frequency Annotated Control Flow Graphs Generation - - [pdf] + [pdf] [web] [video]
@@ -1246,7 +1246,7 @@DIVA (Debug Information Visual Analyzer) - - [pdf] + [pdf] [video]
@@ -1272,7 +1272,7 @@
Generalized API checkers for the Clang Static Analyzer - - [pdf] + [pdf] [video]
@@ -1298,7 +1298,7 @@
LibreOffice loves LLVM - - [pdf] + [pdf] [video]
@@ -1336,7 +1336,7 @@
LLVM AMDGPU for High Performance Computing: are we competitive yet? - [pdf] + [pdf] [web] [video]
@@ -1418,7 +1418,7 @@Clangd: A new Language Server Protocol implementation leveraging Clang - - [pdf] + [pdf]
Etherpad
Clangd is a new tool developed as part of clang-tools-extra. It aims at implementing the Language Server Protocol, a protocol that provides
IDEs and code editors all the language "smartness". Work in this area is only just beginning however there is already a large interest surrounding it. This BoF session will be a nice opportunity for the attendees to get to know each other as well as discuss several topics that will help make this tool a success.
Possible agenda/topics:
- Introductions
- Goals and scope of Clangd
- Existing language server implementations. Comparisons, advantages/disadvantages, etc.
- Challenges
- Proposed architecture
- Collaborations and planning
@@ -1593,7 +1593,7 @@
AnyDSL: A Compiler-Framework for Domain-Specific Libraries (DSLs) - - [pdf] + [pdf]
AnyDSL is a framework for the rapid development of domain-specific libraries (DSLs). AnyDSL's main ingredient is AnyDSL's intermediate representation Thorin. In contrast to other intermediate representations, Thorin features certain abstractions which allow to maintain domain-specific types and control-flow. On these grounds, a DSL compiler gains two major advantages:
- The domain expert can focus on the semantics of the DSL. The DSL's code generator can leave low-level details like exact iteration order of looping constructs or detailed memory layout of data types open. Nevertheless, the code generator can emit Thorin code which acts as interchange format.
- The expert of a certain target machine just has to specify the required details once. These details are linked like a library to the abstract Thorin code. Thorin's analyses and transformations will then optimize the resulting Thorin code in a way such that the resulting Thorin code appears to be written by an expert of that target machine.
@@ -1690,7 +1690,7 @@
Hydra LLVM: Instruction Selection with Threads - - [pdf] + [pdf]
By the rise of program complexity and some specific usages like JIT(Just-In-Time) compilation, compilation speed becomes more and more important in recent years.
Instruction selection in LLVM, on the other hand, is the most time-consuming part among all the LLVM components, which can take nearly 50% of total compilation time. We believe that by reducing time consumption of instruction selection, the total compilation speed can get a significant increase. Thus, we propose a (work-in-progress) prototype design that use multi-thread programming to parallelize the instruction selector in order to reach the goal mentioned above. The original instruction selector is implemented as a bytecode interpreter, which executes the operation codes generated by TableGen files that models the machine instructions, and transform IR selection graph into machine-dependent selection graph at the end. The selector, to our surprised, shows some great properties which we can benefit from in creating multi-thread version of that. For example, an opcode scope that save the current context before executing the following opcodes sequence, and restore the context after finishing them. While preserving the original algorithm of the selector, we also try hard to reduce the concurrency overhead by replacing unnecessary mutex lock with better one like read/write lock and atomic variables. Though the experiments didn’t show promising result, we are still looking forward to the potential of reducing the consuming time of instruction selection in order to increase the overall compilation speed. In the future, we will try different compilation regions to parallelize for the sake of finding the optimal one that causes less overhead. At the same time, we are also going to combine this project with existing JIT framework in LLVM in order to reduce the execution latency caused by runtime compilation.
@@ -1727,7 +1727,7 @@
Intelligent selection of compiler options to optimize compile time and performance - - [pdf] + [pdf]
The efficiency of the optimization process during the compilation is crucial for the later execution behavior of the code. The achieved performance depends on the hardware architecture and the compiler's capabilities to extract this performance.
Code optimization can be a CPU- and memory-intensive process which -- for large codes -- can lead to high compilation times during development. Optimization also influences the debuggability of the resulting binary; for example, by storing data in registers. During development, it would be interesting to compile files individually with appropriate flags that enable debugging and provide high (near-production) performance during the testing but with moderate compile times. We are exploring to create a tool to identify code regions that are candidates for higher optimization levels. We follow two different approaches to identify the most efficient code optimization:
1) compiling different files with different options by brute force; 2) using profilers to identify the relevant code regions that should be optimized.
Since big projects comprise hundreds of files, brute force is not efficient. The problem in, e.g., climate applications is that codes have too many files to test them individually.
Improving this strategy using a profiler, we can identify the time consuming regions (and files) and then repeatedly refine our selection. Then, the relevant files are evaluated with different compiler flags to determine a good compromise of the flags. Once the appropriate flags are determined, this information could be retained across builds and shared between users.
In our poster, we motivate and demonstrate this strategy on a stencil code derived from climate applications. The experiments done throughout this work are carried out on a recent Intel Skylake (i7-6700 CPU @ 3.40GHz) machine. We compare performance of the compilers clang (version 3.9.1) and gcc (version 6.3.0) for various optimization flags and using profile guided optimization (PGO) with the traditional compile with instrumentation/run/compile phase and when using the perf tool for dynamic instrumentation. The results show that more time (2x) is spent for compiling code using higher optimization levels in general, though gcc takes a little less time in general than clang. Yet the performance of the application were comparable after compiling the whole code with O3 to that of applying O3 optimization to the right subset of files. Thus, the approach proves to be effective for repositories where compilation is analyzed to guide subsequent compilations.
Based on these results, we are building a prototype tool that can be embedded into building systems that realizes the aforementioned strategies of brute-force testing and profile guided analysis of relevant compilation flags.
@@ -1852,7 +1852,7 @@
The detailed program including author names, affiliation - and abstracts can be found here. + and abstracts can be found here.
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] |