Als «llvm» getaggte Fragen

Das LLVM-Projekt ist eine Sammlung modularer und wiederverwendbarer Compiler- und Toolchain-Technologien. Das llvm-Tag dient hauptsächlich zum Schreiben von C ++ - Code (oder einer anderen Sprache über die C-Bindungen) zur Schnittstelle mit der LLVM-Bibliothek, nicht zu einem (von der wachsenden Anzahl von) Tools, das LLVM unter der Haube hat. Fragen zum von LLVM generierten Maschinencode finden Sie im Tag "llvm-codegen".


6
Was genau ist LLVM?
Ich höre die ganze Zeit über LLVM. Es ist in Perl, dann in Haskell, dann benutzt es jemand in einer anderen Sprache? Was ist es?
464 llvm 

9
Umschalten zwischen GCC und Clang / LLVM mit CMake
Ich habe eine Reihe von Projekten mit CMake erstellt und möchte in der Lage sein, einfach zwischen GCC oder Clang / LLVM zu wechseln, um sie zu kompilieren. Ich glaube (bitte korrigieren Sie mich, wenn ich mich irre!), Dass ich für die Verwendung von Clang Folgendes einstellen muss: SET (CMAKE_C_COMPILER …
269 cmake  llvm  clang 


5
Wie man Clang zu llvm IR kompiliert
Ich möchte, dass clang meinen C/C++Code zu LLVMBytecode kompiliert und nicht zu einer ausführbaren Binärdatei. Wie kann ich das erreichen? Und wenn ich den LLVMBytecode erhalte , wie kann ich ihn verwenden, um ihn weiter in eine ausführbare Binärdatei zu kompilieren? Grundsätzlich möchte ich dem LLVMBytecode einen Teil meines eigenen …
150 c  llvm  clang 

3
LLVM vs Clang unter OS X.
Ich habe eine Frage zu llvm, clang und gcc unter OS X. Was ist der Unterschied zwischen llvm-gcc 4.2, llvm 2.0 und clang? Ich weiß, dass sie alle auf llvm aufbauen, aber wie unterscheiden sie sich? Was ist neben dem schnelleren Kompilieren der Vorteil von llvm gegenüber gcc?
133 c++  c  gcc  llvm  clang 


2
Schnellere Code-Vervollständigung mit Klirren
Ich untersuche mögliche Beschleunigungen der Code-Vervollständigung, während ich den Code-Vervollständigungsmechanismus von clang verwende. Der unten beschriebene Ablauf ist der, den ich in rtags von Anders Bakken gefunden habe. Übersetzungseinheiten werden von einem Dämon analysiert, der Dateien auf Änderungen überwacht. Dies geschieht durch aufgerufene clang_parseTranslationUnitund verwandte Funktionen ( reparse*, dispose*). Wenn …

8
clang: Wie liste ich unterstützte Zielarchitekturen auf?
Derzeit interessiere ich mich für ARM im Allgemeinen und speziell für iPhone / Android-Ziele. Aber ich möchte nur mehr über Clang erfahren, da es in den kommenden Jahren eine wichtige Rolle zu spielen scheint. Ich habe es versucht clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search clang …
93 clang  llvm 

13
LLVM C ++ IDE für Windows
Gibt es eine C / C ++ IDE für Windows, welches integriert mit dem LLVM - Compiler (und Clang C / C ++ Analysator), genauso wie moderne Xcode tun. Ich habe Dev-Cpp (es verwendet veraltete GCC) und Code :: Blocks (mit einigen GCC). Aber GCC gibt mir sehr kryptische Fehlermeldungen. …
92 c++  windows  ide  llvm  clang 

4
Verwirrender Vorlagenfehler
Ich habe eine Weile mit Clang gespielt und bin auf "test / SemaTemplate / Dependent-Template-Recovery.cpp" (in der Clang-Distribution) gestoßen, das Hinweise zur Wiederherstellung nach einem Vorlagenfehler geben soll. Das Ganze lässt sich leicht auf ein minimales Beispiel reduzieren: template<typename T, typename U, int N> struct X { void f(T* t) …
87 c++  templates  llvm  clang 

2
Was genau macht der PHI-Befehl und wie wird er in LLVM verwendet?
LLVM hat Phi- Anweisungen mit ziemlich seltsamen Erklärungen: Der Befehl 'phi' wird verwendet, um den φ-Knoten in dem SSA-Graphen zu implementieren, der die Funktion darstellt. In der Regel wird es zum Implementieren der Verzweigung verwendet. Wenn ich es richtig verstanden habe, ist es erforderlich, eine Abhängigkeitsanalyse zu ermöglichen, und in …
85 llvm 



3
Warum weist LLVM eine redundante Variable zu?
Hier ist eine einfache C-Datei mit einer Aufzählungsdefinition und einer mainFunktion: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Es wird auf das folgende LLVM-IR übertragen: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = …
9 c  llvm  llvm-codegen 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.