Pytania oznaczone «llvm»

Projekt LLVM to zbiór modułowych i wielokrotnego użytku kompilatorów i technologii łańcucha narzędzi. Znacznik llvm służy głównie do pisania kodu C ++ (lub innego języka za pośrednictwem powiązań C) w celu połączenia z biblioteką LLVM, a nie do jakichkolwiek (z rosnącej liczby) narzędzi, które mają LLVM pod maską. Zobacz znacznik `llvm-codegen` w celu uzyskania informacji na temat kodu maszynowego wygenerowanego przez LLVM.

269
Przełączanie między GCC a Clang / LLVM za pomocą CMake

Mam wiele projektów zbudowanych przy użyciu CMake i chciałbym móc łatwo przełączać się między nimi za pomocą GCC lub Clang / LLVM w celu ich skompilowania. Wierzę (popraw mnie, jeśli się mylę!), Że aby użyć Clanga, muszę ustawić następujące ustawienia: SET (CMAKE_C_COMPILER "/usr/bin/clang") SET...

150
Jak skompilować clang do llvm IR

Chcę, aby Clang skompilował mój C/C++kod do LLVMkodu bajtowego, a nie do pliku binarnego. Jak mogę to osiągnąć? A jeśli otrzymam LLVMkod bajtowy, jak mogę go dalej skompilować do binarnego pliku wykonywalnego. Zasadniczo chcę dodać część własnego kodu do LLVMkodu bajtowego przed skompilowaniem do...

136
LLVM vs Clang w systemie OS X

Mam pytanie dotyczące llvm, clang i gcc w systemie OS X. Jaka jest różnica między llvm-gcc 4.2, llvm 2.0 i clang? Wiem, że wszystkie opierają się na llvm, ale czym się różnią? Oprócz szybszej kompilacji, jaka jest przewaga llvm nad gcc?

108
Szybsze uzupełnianie kodu dzięki clang

Badam potencjalne przyspieszenia uzupełniania kodu podczas korzystania z mechanizmu uzupełniania kodu Clang. Przepływ opisany poniżej jest tym, co znalazłem w rtagach autorstwa Andersa Bakkena . Jednostki tłumaczeniowe są analizowane przez demona monitorujące pliki pod kątem zmian. Robią to...

98
clang: jak wyświetlić listę obsługiwanych architektur docelowych?

Obecnie interesuje mnie ogólnie ARM, a konkretnie cele dla iPhone / Android. Ale chcę tylko dowiedzieć się więcej o clang, ponieważ wydaje mi się, że będzie odgrywał ważną rolę w nadchodzących latach. próbowałem clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search clang...

92
LLVM C ++ IDE dla Windows

Czy istnieje środowisko C / C ++ IDE dla systemu Windows, które jest zintegrowane z kompilatorem LLVM (i analizatorem Clang C / C ++), tak jak robi to nowoczesny Xcode. Mam Dev-Cpp (używa przestarzałego GCC) i Code :: Blocks (z niektórymi GCC). Ale GCC daje mi bardzo tajemnicze komunikaty o...

91
Mylący błąd szablonu

Bawiłem się przez jakiś czas z clang i natknąłem się na "test / SemaTemplate / dependent-template-recovery.cpp" (w dystrybucji clang), który ma dostarczać wskazówek, jak odzyskać dane po błędzie szablonu. Całość można łatwo sprowadzić do minimalnego przykładu: template<typename T, typename...

91
Co dokładnie robi instrukcja PHI i jak jej używać w LLVM

LLVM ma instrukcję phi z dość dziwnym wyjaśnieniem: Instrukcja „phi” służy do implementacji węzła φ na grafie SSA reprezentującym funkcję. Zwykle jest używany do implementacji rozgałęziania. Jeśli dobrze zrozumiałem, jest to potrzebne, aby umożliwić analizę zależności, aw niektórych...

9
Dlaczego LLVM przydziela zmienną redundantną?

Oto prosty plik C z definicją enum i mainfunkcją: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Przenosi się na następujący LLVM IR: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 0, i32* %1, align 4 store...