From aca7d304e5193071a9b357c7f70259fc64ed1cd8 Mon Sep 17 00:00:00 2001
From: Chaitanya Shahare
Date: Fri, 24 May 2024 22:02:00 +0530
Subject: [PATCH 1/5] Add tags to posts
- add tags to blog landing page
- add tags to each post footer
- each tag link to the tags page to the part where that tag is
---
_layouts/blog.html | 18 ++++--
_layouts/post.html | 17 ++++++
_layouts/tags.html | 61 +++++++++++++++++++
_pages/tags.md | 11 ++++
...05-11-llvm-org-website-redesign-project.md | 9 +--
5 files changed, 108 insertions(+), 8 deletions(-)
create mode 100644 _layouts/tags.html
create mode 100644 _pages/tags.md
diff --git a/_layouts/blog.html b/_layouts/blog.html
index 6593715..ba8b112 100644
--- a/_layouts/blog.html
+++ b/_layouts/blog.html
@@ -12,7 +12,7 @@
diff --git a/_posts/2024-05-11-llvm-org-website-redesign-project.md b/_posts/2024-05-11-llvm-org-website-redesign-project.md
index 72cf2bb..7727a5b 100644
--- a/_posts/2024-05-11-llvm-org-website-redesign-project.md
+++ b/_posts/2024-05-11-llvm-org-website-redesign-project.md
@@ -9,13 +9,14 @@ sitemap: false
author: Chaitanya Shahare
permalink: blogs/gsoc24_chaitanya_shahare_introduction_blog/
date: 2024-05-11
+tags: gsoc llvm website
---
### Introduction
I’m Chaitanya Shahare, a passionate full-stack web developer and a pre-final-year
Mechanical Engineering student at the National Institute of Technology
-Srinagar, India. This summer, I'm delighted to embark on an exciting journey with LLVM as
+Srinagar, India. This summer, I'm delighted to embark on an exciting journey with LLVM as
Google Summer of Code 2024 contributor, where I'll be contributing to the LLVM project by
improving the look and feel of its central hub, the LLVM.org website.
@@ -64,7 +65,7 @@ breakdown of how I plan to achieve this:
which is essential for a website like LLVM.org that is frequently updated
with new information. This choice ensures that the website can be easily
maintained and updated by the community, long after the project's
- completion also ensuring that this project is reusable for other sub-projects
+ completion also ensuring that this project is reusable for other sub-projects
websites in the LLVM ecosystem.
3. **Interactive Design Process**: Designing an engaging and user-friendly
@@ -93,13 +94,13 @@ breakdown of how I plan to achieve this:
Through detailed planning, collaborative design, and careful execution, this
project aims to not only revamp the LLVM.org website but also enhance how the
-LLVM community interacts with it.
+LLVM community interacts with it.
### Conclusion
As we start this journey to improve the LLVM.org website, I am excited and
ready for the challenges ahead. I'm confident we can create a website that
-everyone will find easy to use and helpful.
+everyone will find easy to use and helpful.
### Related Links
From 7614369e4d841ba363cadef10338c0a184ad25b6 Mon Sep 17 00:00:00 2001
From: Chaitanya Shahare
Date: Fri, 24 May 2024 23:07:53 +0530
Subject: [PATCH 2/5] Add blog post card
- add blog-post-card in includes
- fix multiple authors in blog-post-card
---
_includes/blog-post-card.html | 46 +++++++++++++++++++++++++++++++
_layouts/blog.html | 44 +----------------------------
_layouts/tags.html | 52 ++++-------------------------------
3 files changed, 52 insertions(+), 90 deletions(-)
create mode 100644 _includes/blog-post-card.html
diff --git a/_includes/blog-post-card.html b/_includes/blog-post-card.html
new file mode 100644
index 0000000..50f00f1
--- /dev/null
+++ b/_includes/blog-post-card.html
@@ -0,0 +1,46 @@
+
+
- {% for tag in post.tags %}
- {{ tag }}
- {% endfor %}
-
- {% endif %}
-
-
-
-
-
-
- {% endif %} {% endfor %}
+ {% for post in posts %} {% if post.tags contains t %} {% include
+ blog-post-card.html post=post %} {% endif %} {% endfor %}
+
{% endfor %}
From d28656d28bf5fb444bcc85caf8528ad9607740d5 Mon Sep 17 00:00:00 2001
From: Chaitanya Shahare
Date: Fri, 24 May 2024 23:08:30 +0530
Subject: [PATCH 3/5] Add tags to all the blog posts
---
...esugar-template-specialization-accesses.md | 6 ++---
...from-errors-in-clang-repl-and-code-undo.md | 15 ++++++++---
...red-memory-based-jitlink-memory-manager.md | 25 +++++++++++++------
...ntation-with-google-season-of-docs-2023.md | 4 +--
...023-09-18-code-completion-in-clang-repl.md | 5 ++--
5 files changed, 33 insertions(+), 22 deletions(-)
diff --git a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
index 9d83068..81087b2 100644
--- a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
+++ b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
@@ -16,6 +16,7 @@ sitemap: false
author: Matheus Izvekov
permalink: blogs/gsoc22_izvekov_experience_blog/
date: 2022-11-30
+tags: gsoc clang llvm
---
### Overview of the Project
@@ -61,7 +62,6 @@ naming context, without the need of tracking the template context. This
approach, although more efficient, required some intrusive modifications on the
way substitutions are represented in the AST.
-
### Contributions
The main contributions to this project are listed here.
@@ -79,7 +79,6 @@ Pull Requests:
7. [D131858 - Track the templated entity in type substitution](https://reviews.llvm.org/D131858)
8. [D127695 - Implement Template Specialization Resugaring](https://reviews.llvm.org/D127695)
-
### Contributions
1. Syntactic resugar of Non Type Template Parameters (NTTPs) is still under
@@ -99,7 +98,6 @@ type rules for syntactic sugar in STL will reduce the generation of errors in
terms of desugared code, improving the relationship between the user's source
program and the program evaluation.
-
### Acknowledgements
I thank my mentors Richard Smith and Vassil Vasilev for their excellent
@@ -120,7 +118,7 @@ increase my confidence as a developer in the LLVM open community!
**Contact me!**
-Email: mizvekov@gmail.com
+Email:
Github Username: [mizvekov](https://github.com/mizvekov)
diff --git a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
index ec44393..11e463e 100644
--- a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
+++ b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
@@ -20,6 +20,7 @@ author:
- Purva Chaudhari
permalink: blogs/gsoc22_zhang_chaudhari_experience_blog/
date: 2022-12-02
+tags: gsoc clang llvm
---
### Overview of the Project
@@ -57,6 +58,7 @@ clang-repl: /home/purva/llvm-project/clang/include/clang/Sema/Sema.h:9406: clang
Aborted
(core dumped)
```
+
and
```cpp
@@ -74,12 +76,10 @@ clang-repl> %undo
clang-repl> float x = 24 // not an error
```
-
### Contributions
The main contributions to this project are listed here.
-
Pull Requests:
1. [D123674 - Clang-Repl Error Recovery Bug Fix](https://reviews.llvm.org/D123674)
@@ -101,29 +101,37 @@ Pull Requests:
extends the functionality used to recover from errors and adds functionality to
recover the low-level execution infrastructure. Now you can do below in
clang-repl:
+
```cpp
clang-repl> int x = 42;
clang-repl> %undo
clang-repl> float x = 24; // not an error
```
+
2. We fixed a bunch of bugs in Clang-Repl, by upstreamed ready-made patches in
cling: Fix inline function in Clang-Repl. Take the example below:
+
```cpp
inline int foo() { return 42; }
int r3 = foo(); // This fails before my fix.
```
+
More context: [cd64a427](https://github.com/llvm/llvm-project/commit/cd64a427efa0baaf1bb7ae624d4301908afc07f7)
3. Partially fix incorrect return code in Clang-Repl. Take the example below:
+
```cpp
clang-repl> BOOM!
clang-repl> int x = 42;
// This previously passed in the LLVM lit tests incorrectly
```
+
4. Partially fix weak attribute usage in Clang-Repl. Take the example below:
+
```cpp
int __attribute__((weak)) bar() { return 42; }
auto r4 = printf("bar() = %d\n", bar()); // This fails before my patch. Note this is not supported in Windows yet.
```
+
5. We fixed some issues in lambda usage in Clang-Repl.
### Conclusion
@@ -149,11 +157,10 @@ In the future, I'll continue my journey into the world of open source, and bring
**Contact us!**
-Jun: jun@junz.org
+Jun:
GitHub username: [junaire](https://github.com/junaire)
-
Purva: [Webpage](https://purva-chaudhari.github.io/My-Portfolio/)
GitHub username: [Purva-Chaudhari](https://github.com/Purva-Chaudhari)
diff --git a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
index f80f719..9c447e7 100644
--- a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
+++ b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
@@ -14,9 +14,11 @@ sitemap: false
author: Anubhab Ghosh
permalink: blogs/gsoc22_ghosh_experience_blog/
date: 2022-12-07
+tags: gsoc llvm jitlink memory-manager
---
### Overview of the Project
+
LLVM JIT APIs include JITLink, a just-in-time linker that links together objects
code units directly in memory and executes them. It uses the
JITLinkMemoryManager interface to allocate and manage memory for the generated
@@ -28,6 +30,7 @@ memory and then when the code is generated, all the section contents are
transferred through finalize calls.
#### Shared Memory
+
The main problem was that EPC runs on top of file descriptor streams like Unix
pipes or TCP sockets. As all the generated code and data bytes are transferred
over the EPC this has some overhead that could be avoided by using shared
@@ -35,6 +38,7 @@ memory. If the two processes share the same physical memory pages then we can
completely avoid extra memory copying.
#### Small code model
+
While we are at it, another goal was to introduce a simple slab-based memory
manager. It would allocate a large chunk of memory in the beginning from the
executor process and allocate smaller blocks from that entirely at the
@@ -53,16 +57,20 @@ int main() {
return value + 1;
}
```
+
**Small code model**
+
```asm
0000000000001119 :
- 1119: 55 push rbp
- 111a: 48 89 e5 mov rbp,rsp
- 111d: 8b 05 ed 2e 00 00 mov eax,DWORD PTR [rip+0x2eed] # 4010
- 1123: 5d pop rbp
- 1124: c3 ret
+ 1119: 55 push rbp
+ 111a: 48 89 e5 mov rbp,rsp
+ 111d: 8b 05 ed 2e 00 00 mov eax,DWORD PTR [rip+0x2eed] # 4010
+ 1123: 5d pop rbp
+ 1124: c3 ret
```
+
**Large code model**
+
```asm
0000000000001119 :
1119: 55 push rbp
@@ -81,10 +89,10 @@ int main() {
Small code model is the default for most compilations so this is actually
required to load ordinary precompiled code, e.g., from existing static archives.
-
### My Approach
#### Memory Mappers
+
I introduced a new `MemoryMapper` abstraction for interacting with OS APIs at
different situations. It has separate implementations based on whether the code
will be executed in the same or different process. The `InProcessMemoryMapper`
@@ -102,6 +110,7 @@ now already in place in the executor processes so finalization is just a matter
of sending the memory protections.
#### Slab-based allocator
+
Furthermore, I developed a slab-based memory allocator for JITLink, reserving a
large region of memory in the address space of the target process on the first
allocation. All subsequent allocations result in sub-regions of that to be
@@ -111,6 +120,7 @@ region, it also guarantees that JIT’d memory satisfies the layout constraints
required by the small code model.
#### Concurrency problems
+
After the implmentation, I tried JIT linking the CPython interpreter to
benchmark the implementation. We discovered that our overall CPU execution time
decreased by 45% but somewhat paradoxically clock time increased by 45%. In
@@ -133,7 +143,6 @@ this to access memory at runtime.
For a more detailed description and all the patches, please consult my
[GSoC final report](https://compiler-research.org/assets/docs/Anubhab_Ghosh_GSoC2022_Report.pdf).
-
### Acknowledgements
I would like to share my gratitude for the LLVM community members and my mentors
@@ -157,7 +166,7 @@ many applications.
**Contact me!**
-Email: anubhabghosh.me@gmail.com
+Email:
Github Username: [argentite](https://github.com/argentite)
diff --git a/_posts/2023-05-10-accelerated-documentation-with-google-season-of-docs-2023.md b/_posts/2023-05-10-accelerated-documentation-with-google-season-of-docs-2023.md
index 1bbad7b..325ab2e 100644
--- a/_posts/2023-05-10-accelerated-documentation-with-google-season-of-docs-2023.md
+++ b/_posts/2023-05-10-accelerated-documentation-with-google-season-of-docs-2023.md
@@ -11,6 +11,7 @@ sitemap: false
author: QuillPusher
permalink: blogs/gsod23_quillpusher_experience_blog/
date: 2023-05-10
+tags: gsod documentation llvm root clang-repl cppyy
---
### How we got started
@@ -76,8 +77,6 @@ an effort. This project has set me off on a trajectory of self-improvement and
learning, helping me identify how large, distributed communities work and what
skills I need to acquire to advance in my career.” – [@QuillPusher] (Saqib)
-
-
[Student Success Stories]: https://compiler-research.org/stories/
[GSoD 2023 Case Study]: https://github.com/compiler-research/compiler-research.github.io/blob/master/assets/docs/gsod_casestudy_2023.pdf
@@ -97,4 +96,3 @@ skills I need to acquire to advance in my career.” – [@QuillPusher] (Saqib)
[cppyy Enhancements]: https://github.com/compiler-research/CppInterOp/pull/160
[Numba Enhancements]: https://github.com/wlav/cppyy/pull/199
-
diff --git a/_posts/2023-09-18-code-completion-in-clang-repl.md b/_posts/2023-09-18-code-completion-in-clang-repl.md
index ff334b7..8ca96ba 100644
--- a/_posts/2023-09-18-code-completion-in-clang-repl.md
+++ b/_posts/2023-09-18-code-completion-in-clang-repl.md
@@ -12,6 +12,7 @@ sitemap: false
author: Yuquan (Fred) Fu
permalink: blogs/gsoc23_ffu_experience_blog/
date: 2023-09-18
+tags: gsoc clang llvm
---
### Overview of the Project
@@ -51,12 +52,11 @@ clang-repl> c.move(
If users hit the ` key at the indicated position, listing all symbols
would be distracting. It is easy to find out that among all declarations, only
`c1`, `c2` and `s` are well-typed candidates. So an ideal code completion system
-should be able to filter out results using type information.
+should be able to filter out results using type information.
The project leverages existing components of Clang/LLVM and aims to provides
context-aware semantic completion suggestions.
-
### My Approach
The project mainly consists of two patches. The first patch involves building
@@ -98,7 +98,6 @@ main `ASTContext` to the code completion `ASTContext`.
-
### Future Work
**Pull Request** : [D159128](https://reviews.llvm.org/D159128)
From ff0d88f680cf545c3deae66701461f7a75a2d518 Mon Sep 17 00:00:00 2001
From: Chaitanya Shahare
Date: Mon, 27 May 2024 09:01:57 +0530
Subject: [PATCH 4/5] Add profile links to email in posts
---
...-extend-clang-to-resugar-template-specialization-accesses.md | 2 +-
...-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md | 2 +-
_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
index 81087b2..7b8dc2a 100644
--- a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
+++ b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
@@ -118,7 +118,7 @@ increase my confidence as a developer in the LLVM open community!
**Contact me!**
-Email:
+Email: [mizvekov@gmail.com](/team/MatheusIzvekov)
Github Username: [mizvekov](https://github.com/mizvekov)
diff --git a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
index 11e463e..19e6217 100644
--- a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
+++ b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
@@ -157,7 +157,7 @@ In the future, I'll continue my journey into the world of open source, and bring
**Contact us!**
-Jun:
+Jun: [jun@junz.org](/team/JunZhang/)
GitHub username: [junaire](https://github.com/junaire)
diff --git a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
index 9c447e7..28bd3ea 100644
--- a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
+++ b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
@@ -166,7 +166,7 @@ many applications.
**Contact me!**
-Email:
+Email: [anubhabghosh.me@gmail.com](/team/AnubhabGhosh)
Github Username: [argentite](https://github.com/argentite)
From c2a0e49addfbab5a62f82de3a4e974afba07fb80 Mon Sep 17 00:00:00 2001
From: Chaitanya Shahare
Date: Tue, 28 May 2024 09:04:38 +0530
Subject: [PATCH 5/5] Remove email links in posts
---
...-extend-clang-to-resugar-template-specialization-accesses.md | 2 +-
...-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md | 2 +-
_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
index 7b8dc2a..57dfc3e 100644
--- a/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
+++ b/_posts/2022-11-30-extend-clang-to-resugar-template-specialization-accesses.md
@@ -118,7 +118,7 @@ increase my confidence as a developer in the LLVM open community!
**Contact me!**
-Email: [mizvekov@gmail.com](/team/MatheusIzvekov)
+Email: mizvekov@gmail.com
Github Username: [mizvekov](https://github.com/mizvekov)
diff --git a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
index 19e6217..70045d4 100644
--- a/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
+++ b/_posts/2022-12-02-recovering-from-errors-in-clang-repl-and-code-undo.md
@@ -157,7 +157,7 @@ In the future, I'll continue my journey into the world of open source, and bring
**Contact us!**
-Jun: [jun@junz.org](/team/JunZhang/)
+Jun: jun@junz.org
GitHub username: [junaire](https://github.com/junaire)
diff --git a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
index 28bd3ea..2656b98 100644
--- a/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
+++ b/_posts/2022-12-07-shared-memory-based-jitlink-memory-manager.md
@@ -166,7 +166,7 @@ many applications.
**Contact me!**
-Email: [anubhabghosh.me@gmail.com](/team/AnubhabGhosh)
+Email: anubhabghosh.me@gmail.com
Github Username: [argentite](https://github.com/argentite)