Discussion
Loading...

#Tag

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Jan :rust: :ferris: boosted
Folkert de Vries
@folkertdev@hachyderm.io  ·  activity timestamp last week

I made another fun LLVM fix

https://github.com/llvm/llvm-project/pull/169591

Making these changes is hard but the reviewers have been extremely helpful in polishing the implementation.

Fixing small missed optimizations like this is useful for rust because it allows e.g. miri to handle more SIMD code automatically.

#llvm #rustlang

  • Copy link
  • Flag this post
  • Block
Hacker News
@h4ckernews@mastodon.social  ·  activity timestamp 7 days ago

LLVM-MOS – Clang LLVM fork targeting the 6502

https://llvm-mos.org/wiki/Welcome

#HackerNews #LLVM-MOS #Clang #LLVM #6502 #RetroProgramming #CompilerDevelopment

  • Copy link
  • Flag this post
  • Block
Folkert de Vries
@folkertdev@hachyderm.io  ·  activity timestamp last week

I made another fun LLVM fix

https://github.com/llvm/llvm-project/pull/169591

Making these changes is hard but the reviewers have been extremely helpful in polishing the implementation.

Fixing small missed optimizations like this is useful for rust because it allows e.g. miri to handle more SIMD code automatically.

#llvm #rustlang

  • Copy link
  • Flag this post
  • Block
Carolina Code Conference
@carolinacodes@mastodon.social  ·  activity timestamp 2 weeks ago

FYI: LLVM vs .NET: Why Choose LLVM? #shorts: LLVM boasts significant industry and community support. It’s older than .NET, with backing and resources. LLVM offers versatility across platforms, empowering developers while requiring careful memory management. #LLVM #dotNET #compiler #technology #programming https://www.youtube.com/shorts/fwfBJivpZSE

LLVM vs .NET: Why Choose LLVM? #shorts
Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author
  • Copy link
  • Flag this post
  • Block
David Chisnall (*Now with 50% more sarcasm!*)
@david_chisnall@infosec.exchange  ·  activity timestamp 2 weeks ago

We (SCI Semiconductor) are about to hire some folks in the next couple of months (probably starting in January, since we're about to hit Christmas):

We're aiming to hire 1-3 FAEs, who can build out the open-source bits of the #CHERIoT software stack (including drivers / various communication stacks), build demos, and work with customers on use-case bringup.

We also want to hire someone else on the toolchain side. Primarily #LLDB + #OpenOCD, but also working with our #LLVM (and #RustC) folks.

Let me know if you're interested!

EDIT: We are a full-remote company. It's easiest for us to hire people in the UK (and one of our investors would really like us to hire more people in Sheffield), but elsewhere is possible (though might, for tax purposes, require you to be officially a contractor for a while).

We're also going to be hiring people for our hardware verification and RTL teams soon (more on the verification side than design at the moment, I think). I'm not responsible for them, but I can find out more details if anyone is interested. Our first CHERIoT chip is nearly finished, we're starting to work on the second.

EDIT 2: Thanks to all of the people who have expressed interest (in public and private posts). I'll try to get back to you all next week!

EDIT 3: I hope I've replied to everyone now! If I missed you (there were more replies than I expected!) please let me know. I think we'll aim to do another hiring round over the summer next year, so if the current timeline doesn't work out for you, please still let me know and I'll keep you in mind next time!

#GetFediHired

  • Copy link
  • Flag this post
  • Block
Martin Bishop
@toomanysecrets@mastodon.social  ·  activity timestamp 3 weeks ago

1. #Android kernels use #LLVM / #Clang almost exclusively. Clang supports two dialects: #GNU #C mode and #MSVC mode. Supporting both dialects means the kernel can build and test under more configurations.
2/3

Martin Bishop
@toomanysecrets@mastodon.social replied  ·  activity timestamp 3 weeks ago

2. #LLVM is evolving. It supports multiple front-end dialects, and if the kernel remains too tightly tied to #GCC -only assumptions, it risks becoming brittle as compilers evolve.
3/3
Via @unix_byte

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author
  • Copy link
  • Flag this comment
  • Block
Martin Bishop
@toomanysecrets@mastodon.social  ·  activity timestamp 3 weeks ago

The #Linux #kernel authorities are currently discussing whether to enable support for Microsoft C (MSVC) language extensions. Sounds like heresy? It turns out, this is about the growing importance of the #Clang compiler. The patches under review do not aim to compile Linux with Microsoft’s cl.exe compiler. Instead, they enable the kernel to take advantage of Clang’s ability to operate in a Microsoft-compatible dialect. Why would Linus Torvalds want that?
1/3

Martin Bishop
@toomanysecrets@mastodon.social replied  ·  activity timestamp 3 weeks ago

1. #Android kernels use #LLVM / #Clang almost exclusively. Clang supports two dialects: #GNU #C mode and #MSVC mode. Supporting both dialects means the kernel can build and test under more configurations.
2/3

  • Copy link
  • Flag this comment
  • Block
Stéphane Bortzmeyer boosted
arya dradjica
@bal4e@tech.lgbt  ·  activity timestamp 3 weeks ago

Optimizing Rust code is really fun. When something is run millions or billions of times, nanoseconds and individual CPU instructions matter. The best way to do this isn't to write assembly -- it's to put yourself in LLVM's place, understand the kinds of optimizations it wants to perform, and understand what is blocking them. A common case I run into is "LLVM wants to represent (a, b) as (a + b, b), but it's part of a struct so the change has to be performed every time the struct is loaded." LLVM can't change the struct, obviously...

Has anybody tried teaching LLVM data structure optimization? Along the lines of: "Here's a struct with a completely undefined layout and representation, and every single function that can access the struct. Based on the uses, try to memoize common computations by adding new fields, and try removing unused fields." Getting there requires locating all uses of the fields of a struct, but this is possible (at least, quite often) in Rust.

#programming #optimization #llvm

  • Copy link
  • Flag this post
  • Block
arya dradjica
@bal4e@tech.lgbt  ·  activity timestamp 3 weeks ago

Optimizing Rust code is really fun. When something is run millions or billions of times, nanoseconds and individual CPU instructions matter. The best way to do this isn't to write assembly -- it's to put yourself in LLVM's place, understand the kinds of optimizations it wants to perform, and understand what is blocking them. A common case I run into is "LLVM wants to represent (a, b) as (a + b, b), but it's part of a struct so the change has to be performed every time the struct is loaded." LLVM can't change the struct, obviously...

Has anybody tried teaching LLVM data structure optimization? Along the lines of: "Here's a struct with a completely undefined layout and representation, and every single function that can access the struct. Based on the uses, try to memoize common computations by adding new fields, and try removing unused fields." Getting there requires locating all uses of the fields of a struct, but this is possible (at least, quite often) in Rust.

#programming #optimization #llvm

  • Copy link
  • Flag this post
  • Block
d@nny disc@ mc²
@hipsterelectron@circumstances.run  ·  activity timestamp 2 months ago

i feel like if you have an entire support matrix predicated on whether your fucked up build process can build your fucked up fork maybe it's time to reconsider your priorities. like why are you owning that internal build in the first place? i need to make sure i've got this right

d@nny disc@ mc²
@hipsterelectron@circumstances.run replied  ·  activity timestamp 2 months ago

like come on

# Indicates whether the LLVM testsuite is enabled in the build or not. Does
# not execute the tests as part of the build as part of x.py build et al,
# just makes it possible to do `ninja check-llvm` in the staged LLVM build
# directory when doing LLVM development as part of Rust development.
#llvm.tests = false

did no one question "hey why do we need to set these things here in the first place if it doesn't matter and we can just delegate to llvm's existing build system?"? idk

  • Copy link
  • Flag this comment
  • Block
N-gated Hacker News
@ngate@mastodon.social  ·  activity timestamp 2 months ago

👀 Wow, hold your horses! Zig builds are apparently breaking the sound barrier now. 🚀 After years of intense labor and a bit of #LLVM yeeting, they've achieved the unimaginable: a #compiler that might finally compile something before your coffee goes cold. ☕️🔥
https://mitchellh.com/writing/zig-builds-getting-faster #ZigLang #SoundBarrier #FastCompilation #HackerNews #ngated

Mitchell Hashimoto

Zig Builds Are Getting Faster

  • Copy link
  • Flag this post
  • Block
Jacket
@jacket@tech.lgbt  ·  activity timestamp 3 months ago

This is not helping me in the market but what I love doing the most is computer language engineering. I'm learning how to write an #LSP right now to support my born language in neovim. I also discovered #LLVM recently. It lets you compile to any target from a generic ASM. It made me realize something. The first languages where all compiled. Then, we got the interpreted languages. But recently, the new languages are all compiled again! Think of #rust, #go, #zig, #elixir. I wonder if it's because we perfected the tooling in a way that maintaining a compiled language is not that hard anymore. Go is a weird one. It has a garbage collector. Yeah! A compiled language with a garbage collector. It means that there is a process that is embedded in the executable to just do garbage collection. We might now have a real reason anymore to interpret.

  • Copy link
  • Flag this post
  • Block
Ben Ramsey boosted
Mishal
@shahmishal@mastodon.social  ·  activity timestamp 4 months ago

My team at Apple is currently hiring for a role that focuses on compiler tools and infrastructure. If you’re interested in this opportunity, please take a look at the job posting here: https://jobs.apple.com/en-us/details/200613714/compiler-tools-engineer?team=SFTWR #llvm #swiftlang

  • Copy link
  • Flag this post
  • Block
Mishal
@shahmishal@mastodon.social  ·  activity timestamp 4 months ago

My team at Apple is currently hiring for a role that focuses on compiler tools and infrastructure. If you’re interested in this opportunity, please take a look at the job posting here: https://jobs.apple.com/en-us/details/200613714/compiler-tools-engineer?team=SFTWR #llvm #swiftlang

  • Copy link
  • Flag this post
  • Block
Jan :rust: :ferris:
@janriemer@floss.social  ·  activity timestamp 6 months ago

TPDE Compiler Back-End Framework

https://arxiv.org/abs/2505.22610

"TPDE-LLVM: a standalone back-end for LLVM-IR, which compiles 10--20x faster than LLVM -O0 with similar code quality, usable as library (e.g., for JIT), as tool (tpde-llc), and integrated in Clang/Flang (with a patch)."

Holy cow! 🤯

Open Source on GitHub:
https://github.com/tpde2/tpde

#Performance#Compiler#LLVM

  • Copy link
  • Flag this post
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.1-alpha.7 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login