2019 EuroLLVM Developers’ Meeting: V. Bridgers & F. Piovezan “LLVM IR Tutorial - Phis, GEPs ...”

Sdílet
Vložit
  • čas přidán 27. 04. 2019
  • llvm.org/devmtg/2019-04/
    -
    LLVM IR Tutorial - Phis, GEPs and other things, oh my! - Vince Bridgers (Intel Corporation), Felipe de Azevedo Piovezan (Intel Corporation)
    Slides: llvm.org/devmtg/2019-04/slides...
    -
    LLVM intermediate representation (IR) is the abstract description machine operations used to translate LLVM front ends to a form that's executable by a target machine. Optimizations and transformations are performed on the IR by the LLVM library to create executable images. This tutorial will introduce the IR syntax, describe basic tools for manipulating IR formats, and describe mappings of IR from various common source code control structures. Tutorial materials with specific examples will be made available for the tutorial presentation, and for offline review.
    -
    Videos Filmed & Edited by Bash Films: www.BashFilms.com
  • Věda a technologie

Komentáře • 19

  • @miguelmuscat
    @miguelmuscat Před 5 lety +34

    This is a big help. The lang ref and docs are kind of scary when you have no background info.
    Now I feel like I can go in and read them with a lot less confusion. Thanks!

  • @jort93z
    @jort93z Před 3 lety +10

    This is great. I have to write a small IR compiler(while having no idea what LLVM IR is) and this was of great help.

  • @eopXD
    @eopXD Před 2 lety +10

    The presentation is well-designed for beginners.
    Thank you for the tutorial!

  • @Jan_Jan_
    @Jan_Jan_ Před 5 měsíci

    Always find myself coming back to this talk. It's clear and concise! 👍

  • @higuoxing
    @higuoxing Před 5 lety +37

    Nice tutorial, but it seems that there's a small mistake in the example (13:20):
    recursive_base should be
    ```
    recursive_base:
    %1 = add i32 -1, %val
    %2 = call i32 @factorial(i32 %1)
    %3 = mul i32 %val, %2
    ret i32 %3
    ```

    • @Felipe-nw3hx
      @Felipe-nw3hx Před 5 lety +7

      Yup, you're absolutely right :)

    • @Felipe-nw3hx
      @Felipe-nw3hx Před 3 lety

      @Lovely Douche glad it helped!

    • @ardenguo8682
      @ardenguo8682 Před 2 lety

      I was unsure and then found this reply!!! Nice

    • @tomasvallejos1609
      @tomasvallejos1609 Před 2 lety

      I was looking to see if someone pointed that out, I wasn't sure if there was some obscure reason to have the indices on the right side of the asignation to be one less than on the left side haha

  • @RafaeldeLucena
    @RafaeldeLucena Před 5 lety +3

    Nice presentation, congrats!

  • @osdthellogcchellollvm5290

    Thank. This is very helpful. Excellent tutorial.

  • @shashanksharma21
    @shashanksharma21 Před 2 lety +1

    an excellent tutorial ! Thanks !!

  • @omerguzel8351
    @omerguzel8351 Před 2 lety +1

    Nice and clear explaination. Thank you.

  • @afgafa7336
    @afgafa7336 Před rokem +1

    quite clear and organized

  • @gabe.henrique
    @gabe.henrique Před 2 lety +1

    Still fire!

  • @cyrilemeka6987
    @cyrilemeka6987 Před 7 měsíci

    Thank you

  • @abuyoyo31
    @abuyoyo31 Před rokem

    Is any of this changed by LLVM opaque pointers?

  • @apivovarov2
    @apivovarov2 Před 8 měsíci +1

    кто по ссылке from Konstantin Vladimirov?

  • @KeithMakank3
    @KeithMakank3 Před 4 lety +2

    13:24 haha the IR is wrong, its supposed to return %3 not %2