Ocena:

Książka jest chwalona jako doskonałe źródło wiedzy na temat LLVM i projektowania kompilatorów, szczególnie przydatne dla nowicjuszy i tych, którzy chcą rozszerzyć Clang. Oferuje ona jasne wyjaśnienia, praktyczne wskazówki i łatwe do naśladowania treści, dzięki czemu jest korzystna zarówno dla początkujących, jak i doświadczonych programistów. Niektórzy recenzenci wyrażają jednak chęć szerszego omówienia zaawansowanych tematów.
Zalety:⬤ Dobrze napisana i uporządkowana
⬤ jasne wyjaśnienia odpowiednie dla początkujących
⬤ kompleksowa treść na temat LLVM
⬤ praktyczne wskazówki z przykładami ze świata rzeczywistego
⬤ demistyfikuje złożone koncepcje
⬤ doskonała do nauki LLVM IR
⬤ przeznaczona dla szerokiego grona odbiorców
⬤ świetne źródło informacji na temat rozszerzenia Clang
⬤ korzystne odniesienie do bieżącej pracy LLVM.
⬤ Niektóre zaawansowane tematy mogłyby być zbadane bardziej dogłębnie
⬤ początkowe podejścia do nauki LLVM mogą nadal wymagać konsultacji z dokumentacją lub istniejącym kodem
⬤ może nie w pełni zaspokajać potrzeby osób pracujących z językami innymi niż C/C++.
(na podstawie 7 opinii czytelników)
LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries: Design powerful and reliable compilers using the latest libraries and tools
Dowiedz się, jak zbudować kolejny duży język programowania, kompilator lub analizator kodu źródłowego przy użyciu LLVM i Clang
Kluczowe cechy
⬤ Poznaj Clang, middle-end i backend LLVM, w pragmatyczny sposób.
⬤ Rozwiń swoje umiejętności LLVM i zapoznaj się z różnymi typowymi przypadkami użycia.
⬤ Zaangażuj się w rzeczywisty rozwój LLVM poprzez różne przykłady kodowania.
Opis książki
Każdy programista lub inżynier, w pewnym momencie swojej kariery, pracuje z kompilatorami w celu optymalizacji swoich aplikacji. Kompilatory przekształcają język programowania wysokiego poziomu w niskopoziomowy kod wykonywalny maszynowo. LLVM zapewnia infrastrukturę, biblioteki wielokrotnego użytku i narzędzia potrzebne programistom do tworzenia własnych kompilatorów. Dzięki rozbudowanemu zestawowi narzędzi LLVM można efektywnie generować kod dla różnych backendów, a także je optymalizować.
W tej książce poznasz infrastrukturę kompilatora LLVM i dowiesz się, jak wykorzystać ją do rozwiązywania różnych problemów. Zaczniesz od przyjrzenia się strukturze i filozofii projektowania ważnych komponentów LLVM i stopniowo przejdziesz do korzystania z bibliotek Clang do tworzenia narzędzi, które pomagają analizować kod źródłowy wysokiego poziomu. W miarę postępów książka pokaże ci, jak przetwarzać LLVM IR - potężny sposób na przekształcanie i optymalizację programu źródłowego do różnych celów. Wyposażony w tę wiedzę, będziesz w stanie wykorzystać LLVM i Clang do stworzenia szerokiej gamy przydatnych narzędzi języka programowania, w tym kompilatorów, interpreterów, IDE i analizatorów kodu źródłowego.
Pod koniec tej książki o LLVM rozwiniesz umiejętności tworzenia potężnych narzędzi przy użyciu frameworka LLVM, aby sprostać różnym wyzwaniom w świecie rzeczywistym.
Czego się nauczysz
⬤ Dowiesz się, jak działa system kompilacji LLVM i jak zmniejszyć zasoby kompilacji.
⬤ Zapoznać się z uruchamianiem niestandardowych testów przy użyciu frameworka LIT LLVM.
⬤ Tworzenie różnych typów wtyczek i rozszerzeń dla Clanga.
⬤ Dostosowywanie łańcucha narzędzi i flag kompilatora Clang.
⬤ Pisanie przejść LLVM dla nowego PassManagera.
⬤ Odkryć, jak sprawdzać i modyfikować LLVM IR.
⬤ Zrozumieć, jak korzystać z optymalizacji opartych na profilach (PGO) LLVM.
⬤ Tworzyć niestandardowe narzędzia oczyszczające kompilator.
Dla kogo jest ta książka
Ta książka jest przeznaczona dla inżynierów oprogramowania na wszystkich poziomach doświadczenia, którzy pracują z LLVM. Jeśli jesteś badaczem akademickim, ta książka pomoże ci nauczyć się przydatnych umiejętności LLVM w krótkim czasie i umożliwi szybkie tworzenie prototypów i projektów. Entuzjaści języków programowania również uznają tę książkę za przydatną przy tworzeniu nowego języka programowania z pomocą LLVM.