|
5 | 5 | <ul>
|
6 | 6 | <li>Google Summer of Code Ideas & Projects
|
7 | 7 | <ul>
|
| 8 | + <li> |
| 9 | + <a href="#gsoc24">Google Summer of Code 2024</a> |
| 10 | + <ul> |
| 11 | + <li><b>LLVM Core</b> |
| 12 | + <li><a href="http://clang.llvm.org/"><b>Clang</b></a> |
| 13 | + </ul> |
| 14 | + </li> |
| 15 | + |
8 | 16 | <li>
|
9 | 17 | <a href="#gsoc23">Google Summer of Code 2023</a>
|
10 | 18 | <ul>
|
|
17 | 25 | <li><a href="#llvm_addressing_rust_optimization_failures">Addressing Rust optimization failures</a></li>
|
18 | 26 | <li><a href="#remove_ub_tests">Remove undefined behavior from tests</a></li>
|
19 | 27 | <li><a href="#llvm_mlgo_latency_model">Better performance models for MLGO training</a></li>
|
20 |
| - <li><a href="#llvm_mlgo_passes_2023">Machine Learning Guided Ordering of Compiler Optimization Passes</a></li> |
| 28 | + <li><a href="#llvm_mlgo_passes_2023">Machine Learning Guided Ordering of Compiler Optimization Passes</a></li> |
21 | 29 | <li><a href="#llvm_map_value_to_src_expr">Map LLVM values to corresponding source-level expressions</a></li>
|
22 | 30 | </ul>
|
23 | 31 | </li>
|
|
43 | 51 | <li><a href="#llvm_lld_embedded">LLD Linker Improvements for Embedded Targets</a></li>
|
44 | 52 | </ul>
|
45 | 53 | </li>
|
| 54 | + |
46 | 55 | <li>
|
47 | 56 | <b>MLIR</b>
|
48 | 57 | <ul>
|
49 | 58 | <li><a href="#llvm_mlir_presburger_opt">Optimizing MLIR’s Presburger library</a></li>
|
50 | 59 | <li><a href="#llvm_mlir_query">Interactively query MLIR IR</a></li>
|
51 | 60 | </ul>
|
52 | 61 | </li>
|
| 62 | + |
53 | 63 | <li>
|
54 | 64 | <b>Code Coverage</b>
|
55 | 65 | <ul>
|
56 | 66 | <li><a href="#llvm_code_coverage">Support a hierarchical directory structure in generated coverage html reports</a></li>
|
57 | 67 | <li><a href="#llvm_patch_coverage">Patch based test coverage for quick test feedback</a></li>
|
58 | 68 | </ul>
|
59 | 69 | </li>
|
| 70 | + |
60 | 71 | <li>
|
61 | 72 | <b>ClangIR</b>
|
62 | 73 | <ul>
|
63 | 74 | <li><a href="#clangir">Build and run SingleSource benchmarks using ClangIR</a></li>
|
64 | 75 | </ul>
|
65 | 76 | </li>
|
| 77 | + |
66 | 78 | <li>
|
67 | 79 | <b><a href="https://enzyme.mit.edu">Enzyme</a></b>
|
68 | 80 | <ul>
|
|
324 | 336 |
|
325 | 337 | <!-- *********************************************************************** -->
|
326 | 338 | <div class="www_sectiontitle">
|
327 |
| - <a name="gsoc23">Google Summer of Code 2023</a> |
| 339 | + <a name="gsoc24">Google Summer of Code 2024</a> |
328 | 340 | </div>
|
329 | 341 | <!-- *********************************************************************** -->
|
330 | 342 |
|
331 | 343 | <div class="www_text">
|
332 | 344 | <p>
|
333 |
| - Welcome prospective Google Summer of Code 2023 Students! This document is |
| 345 | + Welcome prospective Google Summer of Code 2024 Students! This document is |
334 | 346 | your starting point to finding interesting and important projects for LLVM,
|
335 | 347 | Clang, and other related sub-projects. This list of projects is not only
|
336 | 348 | developed for Google Summer of Code, but open projects that really need
|
|
357 | 369 | </p>
|
358 | 370 | </div>
|
359 | 371 |
|
| 372 | + |
| 373 | +<!-- *********************************************************************** --> |
| 374 | +<div class="www_sectiontitle"> |
| 375 | + <a name="gsoc23">Google Summer of Code 2023</a> |
| 376 | +</div> |
| 377 | +<!-- *********************************************************************** --> |
| 378 | + |
| 379 | + |
| 380 | +<div class="www_text"> |
| 381 | + <p> |
| 382 | + Google Summer of Code 2023 was very successful for LLVM project. For the |
| 383 | + list of accepted and completed projects, please take a look into Google |
| 384 | + Summer of |
| 385 | + Code <a href="https://summerofcode.withgoogle.com/archive/2023/organizations/llvm-compiler-infrastructure">website</a>. |
| 386 | + </p> |
| 387 | +</div> |
| 388 | + |
360 | 389 | <!-- *********************************************************************** -->
|
361 | 390 | <div class="www_subsection">
|
362 | 391 | <a>LLVM</a>
|
|
438 | 467 | implementations of JITLink for MachO/arm64, MachO/x86-64, ELF/x86-64,
|
439 | 468 | ELF/aarch64 and COFF/x86-64, while the implementations for ELF/riscv,
|
440 | 469 | ELF/aarch32 and COFF/i386 are still relatively new.
|
441 |
| - <br /> |
| 470 | + <br /> |
442 | 471 | You can either work on an entirely new architecture like PowerPC or eBPF,
|
443 | 472 | or complete one of the recently added JITLink implementations. In both cases
|
444 | 473 | you will likely reuse the existing generic code for one of the target object
|
|
1157 | 1186 | </div>
|
1158 | 1187 | <!-- *********************************************************************** -->
|
1159 | 1188 | <div class="www_text">
|
1160 |
| -<p><strong>Description</strong>: |
| 1189 | +<p><strong>Description</strong>: |
1161 | 1190 | The project aims to develop an interactive query language for MLIR that enables developers to query the MLIR IR dynamically.
|
1162 | 1191 | The tool will provide a REPL (or command-line) interface to enable users to query various properties of MLIR code, such as
|
1163 | 1192 | "isConstant" and "resultOf". The proposed tool is intended to be similar to clang-query, which allows developers to match
|
|
1380 | 1409 | <!-- *********************************************************************** -->
|
1381 | 1410 | <div class="www_text">
|
1382 | 1411 | <p><b>Description of the project</b>
|
1383 |
| - |
| 1412 | + |
1384 | 1413 | Developers often use compiler generated remarks and analysis reports to optimize their code. While
|
1385 | 1414 | compilers in general are good at including source code positions (i.e line and column numbers) in the
|
1386 | 1415 | generated messages, it is useful if these generated messages also include the corresponding source-level
|
|
1394 | 1423 | optimizations. As an example, we can use this information to report memory access dependences that
|
1395 | 1424 | inhibit vectorization.
|
1396 | 1425 | </p>
|
1397 |
| - |
| 1426 | + |
1398 | 1427 | <p><b>Project size:</b> Medium</p>
|
1399 |
| - |
| 1428 | + |
1400 | 1429 | <p><b>Difficulty:</b> Medium</p>
|
1401 |
| - |
| 1430 | + |
1402 | 1431 | <p><b>Skills:</b> Intermediate C++, familiarity with LLVM core or willingness to learn the same.</p>
|
1403 |
| - |
| 1432 | + |
1404 | 1433 | <p><b>Expected result:</b> Provide an interface which takes an LLVM value and returns a string corresponding
|
1405 | 1434 | to the equivalent source-level expression. We are especially interested in using this interface to map
|
1406 | 1435 | addresses used in load/store instructions to equivalent source-level memory references.</p>
|
1407 |
| - |
| 1436 | + |
1408 | 1437 | <p><b>Confirmed Mentors:</b>
|
1409 | 1438 | Satish Guggilla ( [email protected])
|
1410 | 1439 | Karthik Senthil ( [email protected])
|
1411 | 1440 | </p>
|
1412 |
| - |
| 1441 | + |
1413 | 1442 | <p>
|
1414 | 1443 | <b>Discourse:</b>
|
1415 | 1444 | <a href="https://discourse.llvm.org/t/map-llvm-values-to-corresponding-source-level-expressions/68450">URL</a>
|
|
0 commit comments