llvm

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 irgendwelchen (der wachsenden Anzahl von) Werkzeugen, die LLVM unter der Haube haben.
4
Antworten

Compiler-Ausgabesprache - LLVM IR vs C

Welche Vorteile und Nachteile hat die Verwendung von LLVM IR vs C für eine Zielsprache beim Schreiben eines Compilers? Ich weiß, dass beide verwendet werden, und ich stelle mir vor, dass der endgültige Maschinencode ähnlich wäre, wenn ich clang...
22.04.2012, 02:08
1
Antwort

Gebäude V8 mit Clang und emittieren LLVM IR

Ich versuche, die V8-Javascript-Engine mit Clang zu erstellen und eine .ll -Datei (en) auszugeben. Ich versuche, die Informationen hier und hier , um dies zu tun. Wenn ich jedoch make versuche, schlägt es fehl und sagt "Keine Regel, um...
18.07.2014, 05:23
1
Antwort

Wie verwende ich die Option cfg-dump mit Clang 3.0?

Ich habe versucht, folgendes zu tun: Ссылка So: clang -cc1 -analyze -cfg-dump test.cpp Allerdings habe ich diese Warnung erhalten: error: unknown argument: '-cfg-dump' Wie kann ich die Option cfg-dump verwenden? Verfügt Clang...
10.02.2012, 09:12
1
Antwort

Wie führt Apples Swift Playgrounds App für das iPad Code aus?

Wie führt die Swift Playgrounds App für das iPad Code aus? Haben sie die LLVM-Toolchain auf ARM portiert und kompilieren sie im laufenden Betrieb oder verwenden sie Swift-Code auf eine völlig andere Art und Weise? Wie kann ich etwas ähnlic...
14.11.2016, 16:54
1
Antwort

Was ist eine Ausnahmebehandlung mit Persönlichkeitsfunktion?

Ich habe mir die Dokumentation für die LLVM EH-Intrinsic und auch die Itanium ABI angeschaut und bin auf einige Dinge gestoßen. Was ist eine Ausnahmepersönlichkeitsfunktion? Welche Aufgaben führt es aus? Wie würde ich einen erstellen?     
16.05.2013, 20:57
2
Antworten

Warum verursacht die "leere" Schleife einen Busfehler beim Kompilieren des C-Programms mit clang -O2 auf macOS?

Ich bin auf macOS High Sierra. %Vor% Ich habe das folgende synthetisierte Programm. %Vor% Edit 2: Ich habe jetzt explizit mit clang in den folgenden Beispielen kompiliert. Wenn ich das folgende C-Programm mit clang -O2 kompiliere...
16.02.2018, 22:20
3
Antworten

Wie schreibt man einen benutzerdefinierten Intermodular-Pass in LLVM?

Ich habe einen Standard-Analysepass in LLVM geschrieben, indem ich die FunctionPass -Klasse erweitert habe. Alles scheint einen Sinn zu ergeben. Nun möchte ich ein paar intermodulare Pässe schreiben, also Pässe, mit denen ich mehr als ein M...
12.05.2015, 18:01
1
Antwort

LLVMCreateDisasm gibt NULL zurück

Ich versuche, einige Bytes mit LLVM C-Schnittstelle zu zerlegen.  % Co_de% gibt jedoch NULL zurück. %Vor% Ich bin auf x64 Linux. Ein Blick auf die Dokumentation scheint mir alles richtig zu machen. %Vor%    Erstellen Sie einen Disassem...
30.01.2014, 17:04
1
Antwort

Zuordnung von ANTLR-Syntaxregeln zu benutzerdefinierten Java AST-Klassen für die Codegenerierung

Ich scheine mit der AST- & gt; StringTemplate Seite der Dinge zu kämpfen, wahrscheinlich weil ich komme, Parser von Hand zu schreiben - & gt; LLVM. Was ich suche, ist eine Möglichkeit, eine Parsing-Regel automatisch mit einer AST-Klasse abzug...
27.11.2012, 04:18
1
Antwort

Identifizieren Sie die umschließende Schleife eines Blocks in LLVM

Wie kann ich für LLVM-Basisblöcke, die durch die Klasse BasicBlock dargestellt werden, feststellen, welche nächste Schleife (falls vorhanden) diesen Block enthält? Und ich möchte dies in einem runOnModule pass identifizieren.     
23.08.2012, 12:22