How LLVM & Clang work

  Переглядів 54,056

tanmay bakshi

tanmay bakshi

4 роки тому

I hope you enjoyed this tutorial!
If you did, please make sure to leave a like, comment, and subscribe! It really does help out a lot!
Contact:
Email: tajymany@gmail.com
Twitter: @TajyMany

КОМЕНТАРІ: 108
@rustypython
@rustypython 2 роки тому
This is the -O3 video on how LLVM works. So good
@trayambakrai
@trayambakrai Рік тому
-O2. O3 is too unstable, haha.
@lawatiko6
@lawatiko6 4 роки тому
Oh just to say here before 3 years i saw you were like a child today i found you a adult 🤗 keep working hard
@newtonpermetersquared
@newtonpermetersquared 2 роки тому
The passion, I love it! Simplifies deep convoluted concepts to sound very interesting!!
@SweDennis
@SweDennis Рік тому
What an amazing piece of instruction, so well thought out and executed. Very clear and enjoyable, a definite 11 out of 10.
@2Sor2Fig
@2Sor2Fig Рік тому
This was really good, your presentation and energy were perfect from start to finish. Not often you get a video on something as esoteric as compiler's that's equally interesting to watch.
@thirus4406
@thirus4406 Рік тому
I was looking for what LLVM is, and this is just the video. I only watched this single video and got a basic understanding of what LLVM could be. Great video.
@Russel4973
@Russel4973 2 роки тому
Best llvm explanation I've seen yet!
@shitshow_1
@shitshow_1 Рік тому
Wow, I got so much insights on LLVM and Clang in less than an hour. Thanks !
@rajatmann8897
@rajatmann8897 4 роки тому
Best video on the topic. I learn so much more today 😀
@yxx5326
@yxx5326 3 роки тому
love the way you teach!!!
@farazshoukatshoukat474
@farazshoukatshoukat474 4 роки тому
Wonder full boy. I am big fan of you, And your ways of depicting things and way of speaking. Keep it up
@yukunhe2502
@yukunhe2502 2 роки тому
Really great interpretation and good handwriting
@komalnale4671
@komalnale4671 4 роки тому
I am impressed not just because of your success also because of your kindheart, that is always busy to do good to other thanks a lot for being such a Great inspiration✨
@AdityaAbhiram
@AdityaAbhiram 2 роки тому
Sucha a great video to give a clear understanding of LLVM! Thank you so much! :D It will be amazing if you can recommend a book to start learning LLVM!
@kamalzubairov2344
@kamalzubairov2344 3 роки тому
Awesome explanation. Thank you bud :)
@trunginhthanh2570
@trunginhthanh2570 7 місяців тому
This guy is the best (this is the first time I watch his video though).
@ankitmishraR
@ankitmishraR 4 роки тому
great video bro Tanmay. btw you work in an apple?
@mengyonglee149
@mengyonglee149 2 роки тому
thanks for the clear explanation!
@yourduded7230
@yourduded7230 4 роки тому
You said that you can extent it into anylength but if I put it into infinity, will it not get error or some sort of problems related to it oversize?
@fahrankamili7931
@fahrankamili7931 Рік тому
Bro, please turn on the tip feature. I feel so much pain because I can't appreciate this video by paying you. This is such good content!!
@BILLION-DOLLAR
@BILLION-DOLLAR 4 роки тому
Apple lover... Grown up stuff. You inspire me buddy
@Yeapes
@Yeapes 4 роки тому
Love this hard work
@buddhikachathuranga2968
@buddhikachathuranga2968 3 роки тому
Great video tanmy!
@xmingw
@xmingw 3 роки тому
x is equal to 10 for the "constant folding" example
@antonaparin
@antonaparin Рік тому
Yeah, it would so another iteration when it's 9 setting it to 10
@aliferdowsi8014
@aliferdowsi8014 Рік тому
such an amazing video. thank you !
@sortof3337
@sortof3337 4 роки тому
I had only seen you on TV. Came across this video searching for compiler optimization. Great video but again with other LLVM tutorials, it doesn't show the scope that LLVM is freaking huge. Please do more video on IR optimizations as well. :)
@sortof3337
@sortof3337 4 роки тому
Also, I am suspecting that you are probably working on a language. I would love to contribute as am working on DSL to help childrens learn.
@tanmayteaches
@tanmayteaches Рік тому
Hi! Thanks for watching - hope it was helpful! Yes, LLVM is absolutely huge. I've uploaded a tutorial on IR passes recently, with more tutorials to come: ukposts.info/have/v-deo/bI-jhGhre26er5s.html
@samrubenabraham6979
@samrubenabraham6979 2 роки тому
Well, I gotta learn a bit deep into compilers when it comes to my CS study in grade 11. Thanks for the additional info!!
@bhavyasharma3500
@bhavyasharma3500 4 роки тому
Thank you very much tanmay sir
@sarabelleikojchev5933
@sarabelleikojchev5933 2 роки тому
Thank you you're great!
@mndr6318
@mndr6318 4 роки тому
Is LLVM kinda analogous to database ORM like sqlAlchemy in terms of similar intermediary processing for different types of Relational db that it supports🤔 ?
@RAJATTHEPAGAL
@RAJATTHEPAGAL 3 роки тому
Nope, .... LLVM tooling chain affectively gives u a target Intermediate Representation code that u transpile onto. In short with for any language u no more generate a assembly u generate code that's compliant LLVM and that now can be compiled or executed by LLVM runtimes and toolchains.
@poojavashisth9993
@poojavashisth9993 3 роки тому
Thanks a lot. Wonderful!
@RayanMADAO
@RayanMADAO Рік тому
You are brilliant 👏
@DarshanSenTheComposer
@DarshanSenTheComposer 4 роки тому
Good stuff! Thanks! :)
@RayanMADAO
@RayanMADAO Рік тому
20:00 would the optimization be different if the input value wasn't known at compile time?
@mclr
@mclr Рік тому
Brilliant presentation
@meetvicky
@meetvicky Рік тому
Just to save cpu cycles,LLVM used but intermediate also consumes power as it is on the architect on which it is doing all these transformations. Recent research papers showed that the top 3 least energy consumption programming languages are C,C++ and Java. They use monolithic compiler. The Swift Programming language also uses the higher amount of energy. We cannot deny the GCC compiler.
@tanmayteaches
@tanmayteaches Рік тому
Hi Vicky - in the majority of use cases, the majority of the time spent by an application is in runtime (as this is done many times and can be compute-intensive), not compile time (which only happens once), and therefore doing extra work during compile time is very much "worth it" if you can save time during runtime. The most efficient programming languages by power usage are, in order, C, Rust, C++, Ada, Java, and so on. Note how Java ranks below the AOT compiled languages. This is because, inherently, less work needs to be done at runtime for applications built in these languages. It is fundamentally easier to build optimization and other analysis passes for compilers using the LLVM tooling, and while there are some pros to GCC because it's been around for so long, LLVM is starting to replicate and mostly surpass what it's capable of. Paper on the efficiency of programming languages: haslab.github.io/SAFER/scp21.pdf
@gilmoses3777
@gilmoses3777 Рік тому
A REALLY great vid, fluent, brilliant, educating! One question though: 20:19 - if we already have the answer (120), why does llvm need all those lines of code? Why not just print 120 and be done with it?
@tanmayteaches
@tanmayteaches Рік тому
Hi Gil - thank you, I'm glad the video was helpful! It's because technically, while the function call to factorial was inlined and then constant folded to a predetermined result, the factorial function still needs to exist. With the specific kind of function we created and compile flags we passed, it's not allowed to just be removed. For example, what if this was being compiled down to an object file and other object files were later compiled alongside this one, those referring to an external "factorial" function that should have been in this object file?
@8milestreet
@8milestreet Рік тому
amazing introduction!
@digixznn
@digixznn Рік тому
Just want to thank you SOOOOOO MUCH 😌✨😌✨😌✨😌✨😌 I'll go 12 out of 10! ⚡⭐⚡
@user-gp8fr1nd3w
@user-gp8fr1nd3w 4 роки тому
Dude. Wow. Can you please explain recursion on data structures (trees and graphs)?
@tanmayteaches
@tanmayteaches 4 роки тому
Hi - I already have a video on recursion: ukposts.info/have/v-deo/iYl_hG2MbnerxWQ.html but I can definitely make a video specifically tailored to data structures. Be on the lookout for that soon!
@here_is_pacific
@here_is_pacific 2 роки тому
awesome!!
@arkemal
@arkemal Рік тому
Excellent ,thanks
@nsahil992
@nsahil992 4 роки тому
Learnt about a new stuff, thank you.
@muhammadhafeez3823
@muhammadhafeez3823 4 роки тому
Hello tanmay I need your help ....I want to know more about the cognitive story and I want to learn from it the thing is i dont know from where i can learn about the head set and everything else i want to know and you said that everything is on the Google i cant find it out please help me bro i thing i can help you
@aneesht6113
@aneesht6113 4 роки тому
Good Morning Bro..We were waiting for ur videos.. How's going?
@Bbdu75yg
@Bbdu75yg 10 місяців тому
Link to playlist to this series ?
@AjitV
@AjitV 2 роки тому
This is how tutorials should be.
@PufzSkill
@PufzSkill 4 роки тому
✔️
@manrajsingh4644
@manrajsingh4644 2 роки тому
Content ❤️
@ABHINAND
@ABHINAND 4 роки тому
You've frown buddy....all the best in the journey onwards.. (international star spelled title holder- MaRRS INTERNATIONAL SPELLING BEE)
@soumyajitkarmakar4619
@soumyajitkarmakar4619 2 роки тому
12:03 Can anyone please link to the video where he teaches about how to develop our own transformation and optimization passes ? I cannot find it.
@tanmayteaches
@tanmayteaches Рік тому
Hi Soumyajit - I released this video a little while ago: ukposts.info/have/v-deo/bI-jhGhre26er5s.html Hope you find it helpful!
@richardson1228
@richardson1228 4 роки тому
Dear IBM Team, Please let me know how to download the custom model from knowledge studio. FYI- I have created custom model in IBM Knowledge studio and deployed.
@tanmayteaches
@tanmayteaches 3 роки тому
Hi - unfortunately downloading models from knowledge studio is not possible and you must deploy your custom models with an IBM Watson service like NLU.
@aneesht6113
@aneesht6113 4 роки тому
Nees some help regarding some complex projects..but how can i contact you?
@tanmayteaches
@tanmayteaches 3 роки тому
Hi, feel free to contact me at TechLifeSkillsTanmay@gmail.com
@avimehenwal
@avimehenwal 3 роки тому
compiler development was always a taboo topic for me XD until I saw this (Y)
@rileydavidjesus
@rileydavidjesus 5 місяців тому
Got my sub
@konstantinrebrov675
@konstantinrebrov675 4 роки тому
Please more videos about LLVM Compiler Infrastructure dear sir!
@tanmayteaches
@tanmayteaches Рік тому
Hi! I've uploaded a tutorial on IR passes recently, with more tutorials to come: ukposts.info/have/v-deo/bI-jhGhre26er5s.html
@ankitmishraR
@ankitmishraR 4 роки тому
this is why I am studying TOC in my MCA, to know who compilers works actually.
@alex3d167
@alex3d167 4 роки тому
What do you say to people who will lose their jobs due to artificial intelligence or a great algorithm? There are people who cannot do anything else other than what they have learned, perhaps because you are too old to learn something new? (Translated with google).
@sameeranjoshi1087
@sameeranjoshi1087 4 роки тому
Any plans Tanmay to talk on mlir stuff?? Anyways cool talk
@tanmayteaches
@tanmayteaches 4 роки тому
Absolutely! It's a tool I'm learning about myself, and I do plan on making tutorials around it very soon.
@sameeranjoshi1087
@sameeranjoshi1087 3 роки тому
@@tanmayteaches if they are done could oyu share link? Thanks
@Pteromandias
@Pteromandias Рік тому
@26:26 Hey, down in front! You're head's in the way!
@romandzhadan5546
@romandzhadan5546 Рік тому
like very much :)
@SuportoVc
@SuportoVc 2 роки тому
Whether inline functions are so good why we don't put this keyword in all of them? (C Language)
@tanmayteaches
@tanmayteaches 2 роки тому
Hi Suporto - Thanks for the question! Inline functions are good, but they're a micro optimization. This means that when you don't need them, it's generally better to not use them. They can increase your final code size, and if the function itself is the bottleneck (not the latency introduced by the number of times you need to call it), then it's more effective to optimize the working of the function itself.
@AjaychinuShah
@AjaychinuShah 8 місяців тому
I just see girls learning this, sit super ultra quiet, and it completely processes. And then I see males playing pencil-poppers and Surfing by way.
@cricketworld575
@cricketworld575 4 роки тому
How you manage time time 🕒🕒?
@AjaychinuShah
@AjaychinuShah 8 місяців тому
The code is suppose to USABLE WAN, B the exception throwing is eliminated by the compiler for speed up. So how is writing a compiler for VLIW Processor GOD DAMN EASIEST pie made by Nicole Kidman.
@astaghfirullahalzimastaghf3648
@astaghfirullahalzimastaghf3648 3 роки тому
Why is that to me Llvm or IR Is very much intimidating Compared to assembly language?
@tanmayteaches
@tanmayteaches Рік тому
It's a matter of personal preference. In my opinion, assembly can be more confusing because it's more hardware specific. However, LLVM does have its own quirks and complexities that come with being more high level that you may find more intimidating. This includes the fact that its documentation isn't particularly accessible.
@theemacsen1518
@theemacsen1518 4 роки тому
Jesus dude, your voice got deeeeeeeeeeeeeeeeeeeeeeeeep!
@Bigdatapartner
@Bigdatapartner 3 місяці тому
asw lecture : love from india
@vipinkarade5870
@vipinkarade5870 4 роки тому
Wouldn't 'x' be equal to 10.
@VinothKumar-zl2ht
@VinothKumar-zl2ht 3 роки тому
yes IITgrad-- Its x=10.
@vipinkarade5870
@vipinkarade5870 3 роки тому
@@VinothKumar-zl2ht how did you know I'm an IIT graduate😲😲😲
@ROMANEMPIREffvBllLmCVnmii
@ROMANEMPIREffvBllLmCVnmii 4 роки тому
Wow ur voice changed alot
@shuvadiproy5154
@shuvadiproy5154 2 роки тому
Are you bengali?
@jayeshrathod1390
@jayeshrathod1390 2 роки тому
✌✌✌✌✌✌✌✌
@szilagyimiklos4757
@szilagyimiklos4757 6 місяців тому
At 3:30 x will be 10 not 9...
@bernard3690
@bernard3690 Рік тому
I am always surprised presenters require us to patiently wait while they take some time to write more or less legibly when one can merely snap one's fingers and Voila Bingo Presto perfectly legible text can magically appear in any font/color/size one wishes the result of post-processing
@VivekYadav-ds8oz
@VivekYadav-ds8oz 2 роки тому
Great video! But I must say as I couldn't hold it in, you mispronounced your name ;)
@VIKASHSINGH-hf3kt
@VIKASHSINGH-hf3kt 4 роки тому
HELLO TANMAY, I'm from INDIA 🇮🇳 and we are very very curious about AI. But language problem is main barrier to absorb your full Knowledge so, we all INDIAN lovers of TECHNOLOGY are requesting to add HINDI language SUBTITLES.. please 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
@tanmayteaches
@tanmayteaches 3 роки тому
Hi Vikash - thank you for your comment! UKposts supports auto translating captions - please let me know if this is helpful. Thanks!
@VIKASHSINGH-hf3kt
@VIKASHSINGH-hf3kt 3 роки тому
@@tanmayteaches thanks Tanmay...but do u think that you replied me very soon? 😀
@Sk-lm3kv
@Sk-lm3kv 2 роки тому
There is some bird shit on your tshirt. Just fyi.. however great video. Thanks
@UnknownSkyy
@UnknownSkyy 4 роки тому
I like this kid smartness and brain too but i really have to tell i am also an programmer and recently working in google for over a 7k dollars and i have allergies with Indians I am from BANGLADesh
@MrStoryteller_me
@MrStoryteller_me 3 роки тому
Future ceo of Google, Apple, Tesla, Amazon or maybe Spacex
@stevenhe3462
@stevenhe3462 2 роки тому
Bruh… x is 10 not 9… How did you get this one wrong when you know the rest?
@tanmayteaches
@tanmayteaches 2 роки тому
Generally when writing code this way, you’d use x as an iterator variable, in which case the last iteration of the loop would be when it is set to 9. Of course, this iteration would also bring it to 10, but that isn’t a value I usually use after the loop. Sorry for the confusion on this bit of logic, hopefully you found the rest of the video helpful!
@rudranshdixit5526
@rudranshdixit5526 Рік тому
bruh, name and accent doesn't match 😂
@sveu3pm
@sveu3pm Рік тому
this is just unwatchable, just look at that fucking tshirt with apple logo. you must be kidding me. i bet its 10x overpriced just because of logo, just like other apple crap.
@xlspiorp
@xlspiorp Рік тому
you're talking too much
@abvijaykumar
@abvijaykumar 3 роки тому
awesome!!!
Comparing C to machine language
10:02
Ben Eater
Переглядів 5 млн
0% Respect Moments 😥
00:27
LE FOOT EN VIDÉO
Переглядів 40 млн
you need to stop using print debugging (do THIS instead)
7:07
Low Level Learning
Переглядів 388 тис.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Переглядів 363 тис.
you can become a GIGACHAD assembly programmer in 10 minutes (try it RIGHT NOW)
9:48
Just In Time (JIT) Compilers - Computerphile
10:41
Computerphile
Переглядів 255 тис.
the TRUTH about C++ (is it worth your time?)
3:17
Low Level Learning
Переглядів 565 тис.
Making a Programming Language & Interpreter in under 10 minutes!
10:28
Распаковал Xiaomi SU7
0:59
Wylsacom
Переглядів 1,5 млн
Портативная PS 5 🎮 #ps5 #expressly
0:22
ExpresSLY Shorts
Переглядів 216 тис.
Вы поможете украсть ваш iPhone
0:56
Romancev768
Переглядів 152 тис.
Лучший Смартфон До 149 Баксов!!!??? itel s24
20:25
РасПаковка ДваПаковка
Переглядів 47 тис.