I haven't seen anyone else mention it so I have to say, your slide animations are killer!
@Jan_Jan_4 місяці тому
This was a great explanation - thank you! :)
@antwanwimberly17296 місяців тому
WäN - 🇩🇪
@user-hh2lq4bh4n7 місяців тому
Thank You Morgan! This is helpful. Do you have any good video pointers to learning llvm dialects?
@cameronsmith898611 місяців тому
Great presentation! Thanks!
@nobody986011 місяців тому
I think cpython doesn't normally compile python to C and execute? I think it is parsed to some byte code and then run on virtual machine just like Java?
@dankierson2 роки тому
Jesus Christ, man - up the volume!
@openroomxyz2 роки тому
Thanks!
@dialecticalmonist34052 роки тому
"LLVM is not an acronym". Um... ok, great, but could you perhaps say SOMETHING more informative about the name origin?
@AnujFalcon2 роки тому
Without LLVM no. of compilers = m*n; with LLVM no. of compilers = m+n (where m = no. of compilers for source to LLVM and n for LLVM to target machine code)
@iamadanger3 роки тому
Looking for a Compiler developer with Exposure in LLVM framework and Excellent programming skills in C/C++ and assembly programming. CTC 40 LPA to 80LPA Tele: +91 7995774169 Regards Prateek Pandey
@kartikch3 роки тому
This explanation is beautifully. Thanks for this.
@masteroogway13723 роки тому
wth is this supposed to mean
@scottfranco19623 роки тому
There is sooooo much wrong with this presentation. Compilers didn't "used to be monolithic", you are talking about GCC, which didn't have an external intermediate format. Intermediate formats, and modular compilers go back to the 1950's. Second, you don't need a whole new compiler per language. GCC is sufficiently modular to support multiple languages, and this is actually very common.
@MorganWilde3 роки тому
Thanks for the comment!
@Sina-xw4xp3 роки тому
one again, immutable variable is not a variable it is a constant :)
@3bdoelnaggar3 роки тому
Not a constant because the value of it can be assigned one it assigned cant be changed
@Sina-xw4xp3 роки тому
@@3bdoelnaggar The value of constants is also assigned once inside the code :)
@3bdoelnaggar3 роки тому
@@Sina-xw4xp inside code is constant inside runtime is immutable
@Sina-xw4xp3 роки тому
@@3bdoelnaggar hmm. that depends on the language i guess. some languages allocate the constant value on runtime some don't. in case of rust it is as you said
@TheChrisey4 роки тому
Swift is such a simpleton language.
@diegonayalazo4 роки тому
Thanks
@xinboban77624 роки тому
I have been looking for the slides.
@jett53854 роки тому
LLVM is a name ! what? Just find a better name or tell us that is it is an acronym for Low Level Virtual Machine.
@alexrawson84923 роки тому
IIRC it doesn't stand for anything, it's just the name
@Calm_Energy5 років тому
I feel like that is such a great way to describe LLVM assembly "strongly typed RISC" yep!
@DalasYoo5 років тому
Easy for newbie, thanks
@wearecomingback57075 років тому
Test
@wearecomingback57075 років тому
Test
@sepidet69705 років тому
Thank you so much for this awesome easy-to-understand explanation
@abdlwahdsa5 років тому
A Pascal llvm compiler in Haskell: github.com/sam46/paskell
@RodrigoCaetanoRocha5 років тому
For those interested in learning more about compilers and in-depth LLVM tutorials: www.patreon.com/rcor
@adennyh5 років тому
Thanks for this. I felt like learning about LLVM, and this video is nice. You explain it technically enough yet simple enough for non-compiler guy like me to understand.
@tiberiushoughton38496 років тому
@Morgan thx so much for this explanation and also for doing an episode on the SE (software engineer) podcast
@MorganWilde6 років тому
I appreciate the support Tiberius!
@Miggleness5 років тому
I was about to listen to that episode yesterday till they mentioned about Morgan's UKposts video. Now, back to the episode
@abdulqawisaif45136 років тому
Thanks for this nice and simple talk / lecture :)
@viktorengelmann38926 років тому
m*n different compilers for m languages and n targets? nonsense! using a common intermediate level to bring that down to m frontends + n backends has been done forever (also by gcc). The only difference is that gcc connects to its front- and backends at compile-time, so you might need to recompile it with different compiler-flags for different target architectures.
@viktorengelmann38926 років тому
link-time, to be precise
@MorganWilde6 років тому
Thank you for the clarification.
@sashokxxx7 років тому
And where is 4K?
@cs10701517 років тому
@morgan: Is the optimization 2 * x - x = x really valid? considering 2 * x might overflow.
@MorganWilde7 років тому
Yes, this is a valid mathematical optimization, regardless of the overflow consideration you mentioned.
@Wren69917 років тому
@Sandeep it's also worth noting (specific to C/C++) that overflow behaviour is *undefined*, and compiler is free to do whatever it wants when you use undefined behaviour, including wiping your hard disk, or buying 42 box sets of the Fresh Prince of Bel Air using your credit card. Any code that relies on specific overflow behaviour is also undefined, according to the spec, and therefore its meaning does not need to be preserved. The result is that compilers can produce faster code, like in this example.
@cs10701517 років тому
Luke Wren In case of signed integers, yes. With unsigned, overflow is not undefined behavior (also the reason why we should not used unsigned integers for loop increments and stuff)
@Wren69917 років тому
That's true, you got me :)
@arlandasmaziliauskas42017 років тому
Is this real life? Reminds me GTA 2. I`m really impressed...
@avinashreddyt17377 років тому
@Morgan Wide Hi Morgan, can you suggest me some blog where i can learn more about llvm. I even have a doubt, how can we generate a java bytecode using llvm.
@MorganWilde7 років тому
Everything start with llvm.org/
@supergopi7 років тому
@Morgan Thanks! learned something new today.
@MorganWilde7 років тому
Glad I could provide some value!
@cepi247 років тому
What is the name of this guy? Are there any other his LLVM talks?
@MorganWilde7 років тому
I'm that guy :). Unfortunately, I haven't made any other talks on LLVM after this one. Thanks for the interest though!
@OttoFazzl5 років тому
@@MorganWilde you made a very good talk! I am a deep learning engineer and recently Swift got a good bit of attention as a potential deep learning language because of its LLVM compiler infrastructure. So I decided to learn more and this talk is a very good introduction. Thank you!
@Gleeleeglee8 років тому
Wow real trees inside a store!
@MorganWilde8 років тому
When you're there it's pretty hard to distinguish between feeling like you're inside vs outside.