Learn LLVM 17: a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition
Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with using LLVM libraries step by stepUnderstand the high-level design of LLVM compilers a...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham
Packt Publishing
2024
|
Schlagworte: | |
Online-Zugang: | DE-Aug4 DE-898 DE-706 Volltext |
Zusammenfassung: | Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with using LLVM libraries step by stepUnderstand the high-level design of LLVM compilers and apply these principles to your own compilerAdd a new backend to target an unsupported CPU architecturePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionLLVM was built to bridge the gap between the theoretical knowledge found in compiler textbooks and the practical demands of compiler development. With a modular codebase and advanced tools, LLVM empowers developers to build compilers with ease. This book serves as a practical introduction to LLVM, guiding you progressively through complex scenarios and ensuring that you navigate the challenges of building and working with compilers like a pro. The book starts by showing you how to configure, build, and install LLVM libraries, tools, and external projects. You’ll then be introduced to LLVM's design, unraveling its applications in each compiler stage: frontend, optimizer, and backend. Using a real programming language subset, you'll build a frontend, generate LLVM IR, optimize it through the pipeline, and generate machine code. Advanced chapters extend your expertise, covering topics such as extending LLVM with a new pass, using LLVM tools for debugging, and enhancing the quality of your code. You'll also focus on just-in-time compilation issues and the current state of JIT-compilation support with LLVM. Finally, you’ll develop a new backend for LLVM, gaining insights into target description and how instruction selection works. By the end of this book, you'll have hands-on experience with the LLVM compiler development framework through real-world examples and source code snippets.What you will learnConfigure, compile, and install the LLVM frameworkUnderstand how the LLVM source is organizedDiscover what you need to do to use LLVM in your own projectsExplore how a compiler is structured, and implement a tiny compilerGenerate LLVM IR for common source language constructsSet up an optimization pipeline and tailor it for your own needsExtend LLVM with transformation passes and clang toolingAdd new machine instructions and a complete backendWho this book is forThis book is for compiler developers, enthusiasts, and engineers new to LLVM. C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials will also find this book useful. |
Beschreibung: | Includes bibliographical references and index |
Beschreibung: | 1 online resource (416 pages) |
ISBN: | 9781837631346 9781837634675 |
Internformat
MARC
LEADER | 00000nmm a22000001c 4500 | ||
---|---|---|---|
001 | BV049670446 | ||
003 | DE-604 | ||
005 | 20240722 | ||
007 | cr|uuu---uuuuu | ||
008 | 240430s2024 |||| o||u| ||||||eng d | ||
020 | |a 9781837631346 |9 978-1-83763-134-6 | ||
020 | |a 9781837634675 |9 978-1-83763-467-5 | ||
035 | |a (ZDB-221-PPR)9781837634675 | ||
035 | |a (OCoLC)1437854318 | ||
035 | |a (DE-599)KEP102524297 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-706 |a DE-898 |a DE-Aug4 | ||
082 | 0 | |a 005.4/53 | |
100 | 1 | |a Nacke, Kai |d ca. 20./21. Jh. |e Verfasser |0 (DE-588)1266259287 |4 aut | |
245 | 1 | 0 | |a Learn LLVM 17 |b a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |c Kai Nacke, Amy Kwan |
264 | 1 | |a Birmingham |b Packt Publishing |c 2024 | |
300 | |a 1 online resource (416 pages) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
500 | |a Includes bibliographical references and index | ||
520 | 3 | |a Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with using LLVM libraries step by stepUnderstand the high-level design of LLVM compilers and apply these principles to your own compilerAdd a new backend to target an unsupported CPU architecturePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionLLVM was built to bridge the gap between the theoretical knowledge found in compiler textbooks and the practical demands of compiler development. With a modular codebase and advanced tools, LLVM empowers developers to build compilers with ease. This book serves as a practical introduction to LLVM, guiding you progressively through complex scenarios and ensuring that you navigate the challenges of building and working with compilers like a pro. | |
520 | 3 | |a The book starts by showing you how to configure, build, and install LLVM libraries, tools, and external projects. You’ll then be introduced to LLVM's design, unraveling its applications in each compiler stage: frontend, optimizer, and backend. Using a real programming language subset, you'll build a frontend, generate LLVM IR, optimize it through the pipeline, and generate machine code. Advanced chapters extend your expertise, covering topics such as extending LLVM with a new pass, using LLVM tools for debugging, and enhancing the quality of your code. You'll also focus on just-in-time compilation issues and the current state of JIT-compilation support with LLVM. Finally, you’ll develop a new backend for LLVM, gaining insights into target description and how instruction selection works. | |
520 | 3 | |a By the end of this book, you'll have hands-on experience with the LLVM compiler development framework through real-world examples and source code snippets.What you will learnConfigure, compile, and install the LLVM frameworkUnderstand how the LLVM source is organizedDiscover what you need to do to use LLVM in your own projectsExplore how a compiler is structured, and implement a tiny compilerGenerate LLVM IR for common source language constructsSet up an optimization pipeline and tailor it for your own needsExtend LLVM with transformation passes and clang toolingAdd new machine instructions and a complete backendWho this book is forThis book is for compiler developers, enthusiasts, and engineers new to LLVM. C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials will also find this book useful. | |
653 | 0 | |a COMPUTERS / Programming / Compilers | |
653 | 0 | |a COMPUTERS / Languages / C++ | |
653 | 0 | |a COMPUTERS / Software Development & Engineering / Tools | |
700 | 1 | |a Kwan, Amy |e Verfasser |4 aut | |
856 | 4 | 0 | |u https://portal.igpublish.com/iglibrary/search/PACKT0006977.html |x Verlag |z URL des Erstveröffentlichers |3 Volltext |
912 | |a ZDB-221-PPR | ||
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-035013462 | |
966 | e | |u https://portal.igpublish.com/iglibrary/search/PACKT0006977.html |l DE-Aug4 |p ZDB-221-PPR |q FHA_PDA_PPR |x Verlag |3 Volltext | |
966 | e | |u https://portal.igpublish.com/iglibrary/search/PACKT0006977.html |l DE-898 |p ZDB-221-PPR |q ZDB-221-PPR24 |x Verlag |3 Volltext | |
966 | e | |u https://portal.igpublish.com/iglibrary/search/PACKT0006977.html |l DE-706 |p ZDB-221-PPR |x Verlag |3 Volltext |
Datensatz im Suchindex
_version_ | 1807956023124688896 |
---|---|
adam_text | |
any_adam_object | |
author | Nacke, Kai ca. 20./21. Jh Kwan, Amy |
author_GND | (DE-588)1266259287 |
author_facet | Nacke, Kai ca. 20./21. Jh Kwan, Amy |
author_role | aut aut |
author_sort | Nacke, Kai ca. 20./21. Jh |
author_variant | k n kn a k ak |
building | Verbundindex |
bvnumber | BV049670446 |
collection | ZDB-221-PPR |
ctrlnum | (ZDB-221-PPR)9781837634675 (OCoLC)1437854318 (DE-599)KEP102524297 |
dewey-full | 005.4/53 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.4/53 |
dewey-search | 005.4/53 |
dewey-sort | 15.4 253 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nmm a22000001c 4500</leader><controlfield tag="001">BV049670446</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240722</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">240430s2024 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781837631346</subfield><subfield code="9">978-1-83763-134-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781837634675</subfield><subfield code="9">978-1-83763-467-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-221-PPR)9781837634675</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1437854318</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)KEP102524297</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-706</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-Aug4</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.4/53</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Nacke, Kai</subfield><subfield code="d">ca. 20./21. Jh.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1266259287</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Learn LLVM 17</subfield><subfield code="b">a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition</subfield><subfield code="c">Kai Nacke, Amy Kwan</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham</subfield><subfield code="b">Packt Publishing</subfield><subfield code="c">2024</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (416 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with using LLVM libraries step by stepUnderstand the high-level design of LLVM compilers and apply these principles to your own compilerAdd a new backend to target an unsupported CPU architecturePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionLLVM was built to bridge the gap between the theoretical knowledge found in compiler textbooks and the practical demands of compiler development. With a modular codebase and advanced tools, LLVM empowers developers to build compilers with ease. This book serves as a practical introduction to LLVM, guiding you progressively through complex scenarios and ensuring that you navigate the challenges of building and working with compilers like a pro.</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">The book starts by showing you how to configure, build, and install LLVM libraries, tools, and external projects. You’ll then be introduced to LLVM's design, unraveling its applications in each compiler stage: frontend, optimizer, and backend. Using a real programming language subset, you'll build a frontend, generate LLVM IR, optimize it through the pipeline, and generate machine code. Advanced chapters extend your expertise, covering topics such as extending LLVM with a new pass, using LLVM tools for debugging, and enhancing the quality of your code. You'll also focus on just-in-time compilation issues and the current state of JIT-compilation support with LLVM. Finally, you’ll develop a new backend for LLVM, gaining insights into target description and how instruction selection works.</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">By the end of this book, you'll have hands-on experience with the LLVM compiler development framework through real-world examples and source code snippets.What you will learnConfigure, compile, and install the LLVM frameworkUnderstand how the LLVM source is organizedDiscover what you need to do to use LLVM in your own projectsExplore how a compiler is structured, and implement a tiny compilerGenerate LLVM IR for common source language constructsSet up an optimization pipeline and tailor it for your own needsExtend LLVM with transformation passes and clang toolingAdd new machine instructions and a complete backendWho this book is forThis book is for compiler developers, enthusiasts, and engineers new to LLVM. C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials will also find this book useful.</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">COMPUTERS / Programming / Compilers</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">COMPUTERS / Languages / C++</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">COMPUTERS / Software Development & Engineering / Tools</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kwan, Amy</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://portal.igpublish.com/iglibrary/search/PACKT0006977.html</subfield><subfield code="x">Verlag</subfield><subfield code="z">URL des Erstveröffentlichers</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-221-PPR</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-035013462</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://portal.igpublish.com/iglibrary/search/PACKT0006977.html</subfield><subfield code="l">DE-Aug4</subfield><subfield code="p">ZDB-221-PPR</subfield><subfield code="q">FHA_PDA_PPR</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://portal.igpublish.com/iglibrary/search/PACKT0006977.html</subfield><subfield code="l">DE-898</subfield><subfield code="p">ZDB-221-PPR</subfield><subfield code="q">ZDB-221-PPR24</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://portal.igpublish.com/iglibrary/search/PACKT0006977.html</subfield><subfield code="l">DE-706</subfield><subfield code="p">ZDB-221-PPR</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
id | DE-604.BV049670446 |
illustrated | Not Illustrated |
indexdate | 2024-08-21T00:47:04Z |
institution | BVB |
isbn | 9781837631346 9781837634675 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-035013462 |
oclc_num | 1437854318 |
open_access_boolean | |
owner | DE-706 DE-898 DE-BY-UBR DE-Aug4 |
owner_facet | DE-706 DE-898 DE-BY-UBR DE-Aug4 |
physical | 1 online resource (416 pages) |
psigel | ZDB-221-PPR ZDB-221-PPR FHA_PDA_PPR ZDB-221-PPR ZDB-221-PPR24 |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | Packt Publishing |
record_format | marc |
spelling | Nacke, Kai ca. 20./21. Jh. Verfasser (DE-588)1266259287 aut Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition Kai Nacke, Amy Kwan Birmingham Packt Publishing 2024 1 online resource (416 pages) txt rdacontent c rdamedia cr rdacarrier Includes bibliographical references and index Learn how to build and use the complete spectrum of real-world compilers, including the frontend, optimization pipeline, and a new backend by leveraging the power of LLVM core librariesKey FeaturesGet to grips with using LLVM libraries step by stepUnderstand the high-level design of LLVM compilers and apply these principles to your own compilerAdd a new backend to target an unsupported CPU architecturePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionLLVM was built to bridge the gap between the theoretical knowledge found in compiler textbooks and the practical demands of compiler development. With a modular codebase and advanced tools, LLVM empowers developers to build compilers with ease. This book serves as a practical introduction to LLVM, guiding you progressively through complex scenarios and ensuring that you navigate the challenges of building and working with compilers like a pro. The book starts by showing you how to configure, build, and install LLVM libraries, tools, and external projects. You’ll then be introduced to LLVM's design, unraveling its applications in each compiler stage: frontend, optimizer, and backend. Using a real programming language subset, you'll build a frontend, generate LLVM IR, optimize it through the pipeline, and generate machine code. Advanced chapters extend your expertise, covering topics such as extending LLVM with a new pass, using LLVM tools for debugging, and enhancing the quality of your code. You'll also focus on just-in-time compilation issues and the current state of JIT-compilation support with LLVM. Finally, you’ll develop a new backend for LLVM, gaining insights into target description and how instruction selection works. By the end of this book, you'll have hands-on experience with the LLVM compiler development framework through real-world examples and source code snippets.What you will learnConfigure, compile, and install the LLVM frameworkUnderstand how the LLVM source is organizedDiscover what you need to do to use LLVM in your own projectsExplore how a compiler is structured, and implement a tiny compilerGenerate LLVM IR for common source language constructsSet up an optimization pipeline and tailor it for your own needsExtend LLVM with transformation passes and clang toolingAdd new machine instructions and a complete backendWho this book is forThis book is for compiler developers, enthusiasts, and engineers new to LLVM. C++ software engineers looking to use compiler-based tools for code analysis and improvement, as well as casual users of LLVM libraries who want to gain more knowledge of LLVM essentials will also find this book useful. COMPUTERS / Programming / Compilers COMPUTERS / Languages / C++ COMPUTERS / Software Development & Engineering / Tools Kwan, Amy Verfasser aut https://portal.igpublish.com/iglibrary/search/PACKT0006977.html Verlag URL des Erstveröffentlichers Volltext |
spellingShingle | Nacke, Kai ca. 20./21. Jh Kwan, Amy Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |
title | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |
title_auth | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |
title_exact_search | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |
title_full | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition Kai Nacke, Amy Kwan |
title_fullStr | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition Kai Nacke, Amy Kwan |
title_full_unstemmed | Learn LLVM 17 a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition Kai Nacke, Amy Kwan |
title_short | Learn LLVM 17 |
title_sort | learn llvm 17 a beginner s guide to learning llvm compiler tools and core libraries with c 2nd edition |
title_sub | a beginner's guide to learning LLVM compiler tools and core libraries with C++, 2nd edition |
url | https://portal.igpublish.com/iglibrary/search/PACKT0006977.html |
work_keys_str_mv | AT nackekai learnllvm17abeginnersguidetolearningllvmcompilertoolsandcorelibrarieswithc2ndedition AT kwanamy learnllvm17abeginnersguidetolearningllvmcompilertoolsandcorelibrarieswithc2ndedition |