Вопросы по теме 'llvm-clang'

Как сохранить идентификаторы элементов структуры при компиляции в LLVM IR с помощью Clang?
Скажем, у меня есть следующее определение структуры C: struct stringStructure { char *stringVariable; }; Для вышеизложенного Clang создает следующий LLVM IR: %struct.stringStructure = type { i8* } ... которое включает в себя все...
843 просмотров
schedule 01.10.2022

Базовое преобразование источника в источник с помощью Clang
Я успешно собрал пример кода Теперь у меня есть требование, чтобы, если у меня есть пример кода, как показано ниже: int inc(int& p) { p++; printf("In inc [%d]\n", p); return p; } int main() { int i = 0;...
1382 просмотров
schedule 20.12.2022

Несовместимое поведение новой строки Xcode 4.4 Lion в C++ с GCC против LLVM
Я использовал следующий фрагмент кода в течение многих лет, чтобы потреблять символы от cin вверх и включать следующую новую строку. void skip_rest_of_line() { while (cin.get() != '\n') {} } Я бы назвал это после перехвата исключения и...
368 просмотров
schedule 25.02.2024

Как сообщить clang не сохранять регистры в стек?
Цель В настоящее время я пробую avr-llvm (llvm, который поддерживает AVR в качестве цели). Моя главная цель - использовать его, надеюсь, лучший оптимизатор (по сравнению с одним из gcc) для получения меньших двоичных файлов. Если вы немного...
3287 просмотров
schedule 28.04.2022

Как собрать llvm и clang на cygwin
Могу ли я собрать LLVM и clang из исходного кода на cygwin ? Как долго собирать LLVM и Clang? Т.к. я пытаюсь собрать их на VirtualBox, это занимает около 2 часов.
13660 просмотров
schedule 28.02.2023

Позволяет ли указание параметров или переменных как __attribute__ ((unused)) компилятору выполнять какие-либо дополнительные оптимизации?
Меня особенно интересует LLVM 4.1, но меня также интересует поведение других компиляторов. Согласно документации GCC (которую LLVM поддерживает как минимум частично) атрибут unused ведет себя следующим образом: This attribute, attached to...
1732 просмотров
schedule 03.07.2022

Золотой плагин для LLVM 3.3
Я создал LLVM и использовал его, теперь я хочу добавить подключаемый модуль Gold для использования в качестве компоновщика, я просто следовал «создать золото с поддержкой плагинов» на веб-сайте LLVM, и теперь у меня есть ld-new, но я не хочу снова...
847 просмотров
schedule 17.06.2023

Как использовать Gold для оптимизации времени ссылки в LLVM 3.2 и Clang 3.3?
На llvm.org есть инструкции о том, как добавить плагин Gold в LLVM-gcc; однако, начиная с версии 3.2, они больше не используют LLVM-gcc, вместо этого используют Clang, и неясно, как его использовать. Кто-нибудь знает, как добавить плагин Gold в...
1722 просмотров
schedule 26.03.2022

Соглашения об именах Objective-C с ARC и возможные предостережения
У меня есть опыт работы с чистым кодированием ARC. В качестве функции компилятора он поддерживает семейство методов Objctive-C, устанавливая правильные вызовы сохранения/освобождения всякий раз, когда это необходимо. Все методы, начинающиеся с...
2248 просмотров

Clang (LLVM) компилируется с фреймворками
Я использую: clang -ObjC -framework UIKit -o /var/compiled/c /Documents/Source/main.m В терминале OS X. Я также пробовал UIKit.framework, но получаю Неустранимая ошибка: «UIKit/UIKit.h» не найден с обоими. Какие-либо...
11721 просмотров
schedule 12.07.2023

Файл ext/slist не найден в OS X 10.9
Я пытаюсь получить старое стороннее программное обеспечение для компиляции на OS X 10.9. Мне удалось избавиться от большинства проблем с компиляцией, изменив настройки в файлах Makefile, которые изначально были написаны для gcc , вероятно, примерно...
3867 просмотров
schedule 06.05.2022

Ограничения LLVM IR
Я хочу сгенерировать код LLVM-IR из кода C, и мне было интересно, насколько хороша генерация IR для функций в: stdio.h, string.h, stdlib.h и, как правило, стандартные функции на основе памяти, такие как malloc, calloc, поскольку мне не удалось...
1761 просмотров
schedule 30.04.2024

Clang Tool (libtooling): установите путь поиска заголовков к стандартным заголовкам libs. Каркас фундамента
связанная ссылка http://kevinaboos.wordpress.com/2013/07/23/clang-tutorial-part-ii-libtooling-example Я использую CommonOptionsParser для анализа аргументов инструмента clang: // parse the command-line args passed to your code...
4169 просмотров

Приложение аварийно завершает работу, если имя свойства начинается с нового
В моем проекте я использую coredata. Один из объектов имеет атрибут с именем newTotal , в соответствующем ему классе NSManagedObject объявление свойства похоже на @property (nonatomic, strong) NSString *newTotal; Если я добавлю такое...
859 просмотров

Компиляция с использованием проходов/флагов оптимизации clang
Я пытаюсь скомпилировать программу с помощью clang3.4, а проходы оптимизации (или флаги?!), которые я использовал, игнорируются. Например, я пытаюсь скомпилировать и передаю следующие параметры" -O1 -instcombine Я получил: clang34:...
2072 просмотров

CXXRecords getNameAsString, как получить полное имя?
namespace A { namespace B { class C { class D { }; }; } } CXXRecords для D с getNameAsString вернет D . Как я могу получить полное имя ::A::B::C::D ? Я попытался рекурсивно...
560 просмотров
schedule 13.07.2022

Clang не видит базовые заголовки
Я попытался скомпилировать простой hello world в Fedora 20 с помощью Clang и получил следующий результат: d.cpp: 1: 10: фатальная ошибка: файл iostream не найден #include <iostream> Я понятия не имею, как это решить.
92576 просмотров
schedule 22.06.2022

Файл пути поиска Clang
Как добавить путь поиска компилятора пути? Я не имею в виду - я варианты. Я хочу постоянно добавлять путь к путям поиска компилятора. Есть ли файл, в котором компилятор сохранил пути поиска? Я хотел бы добавить путь в шапку, чтобы компилятор...
3420 просмотров
schedule 21.02.2023

Как привести указатель функции к значению LLVM, чтобы я мог вызывать его в своем IR?
Я работаю над чем-то вроде JIT. У меня такой код: Obj doSomething(Obj o, Selector sel){ ... } И у меня есть указатель на эту функцию, мой вопрос в том, как мне обернуть указатель в LLVM:Value , чтобы я мог вставить его в свой ИК-порт,...
1806 просмотров
schedule 27.08.2022

Индвары LLVM проходят
Я использую проход -indvars в LLVM. В нем говорится, что счетчик циклов начинается с 0, где это возможно. Я использовал его для простого цикла, но он не заставлял счетчик циклов начинаться с 0. Любая идея, почему это так? Петля...
485 просмотров
schedule 08.02.2023