Size: a a a

Compiler Development

2020 December 06

T1

Tony 123 in Compiler Development
MrSmith
Приводить всеравно к i1 надо. Ну ладно, я понял что задача не так просто решается. Посмотрю где оно вообше влияет да может создат вообше на стороне translator псевдотипы
А в чем проблема использовать i1 и align 8? По-моему как раз то, что тебе и нужно
источник

M

MrSmith in Compiler Development
Tony 123
А в чем проблема использовать i1 и align 8? По-моему как раз то, что тебе и нужно
Как вариант, ну сегодня уже просто надо допилить тесты для translate expr
источник

M

MrSmith in Compiler Development
В копилку глупых вопросов, я должен получается транслятором сам следить за знаковостью? Может обешпринято как то можно через методату метить типы?
источник

а

а это кто in Compiler Development
MrSmith
А как с llvm готовить сишный bool. Сначала я хотел выделить int в байт и просто поддерживать инвариант, что он всегда или 1 или 0. Но потом подумал, может есть какой то другой способ что бы не приходилось вечные приведения для br делать
Сишный bool который _Bool из C99? Или просто "тип для ифов"?

en.cppreference.com/w/c/language/arithmetic_types#Boolean_type
источник

а

а это кто in Compiler Development
я в стандарте не нашёл указания что bool это 1 байт, так что i1 в LLVM лучше подойдёт наверное
источник

BD

Berkus Decker in Compiler Development
7.18 Boolean type and values <stdbool.h>
1 The header <stdbool.h> defines four macros.
2 The macro
bool
expands to _Bool.
3 The remaining three macros are suitable for use in #if preprocessing directives. They are
true
which expands to the integer constant 1,

false
which expands to the integer constant 0,

and __bool_true_false_are_defined
which expands to the integer constant 1.
4 Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then redefine the
macros bool, true, and false.263)
источник
2020 December 07

T1

Tony 123 in Compiler Development
а это кто
я в стандарте не нашёл указания что bool это 1 байт, так что i1 в LLVM лучше подойдёт наверное
У си гарантия минимум 1 байт
источник

а

а это кто in Compiler Development
Tony 123
У си гарантия минимум 1 байт
Честно, я посмотрел все вхождения слова "_Bool" в файле и единственный намёк о размере _Bool такой

An object declared as type _Bool is large enough to store the values 0 and 1.
источник

а

а это кто in Compiler Development
Да и судя по документации i1 в LLVM выровнен по 8 бит значит наверное и занимает 8 бит, хотя может я не туда смотрю
источник

T1

Tony 123 in Compiler Development
а это кто
Да и судя по документации i1 в LLVM выровнен по 8 бит значит наверное и занимает 8 бит, хотя может я не туда смотрю
Ну, я же и сказал брать i1 и align 8 :)
источник

а

а это кто in Compiler Development
Ок : )
источник

PS

Pavel Samolysov in Compiler Development
Интересно, что у меня Google Benchmark показывает, что MSVC не первой свежести (19.15) генерирует код для обычного итеративного перемножения матриц (3 вложенных цикла), работающий в 5-6 раз быстрее нежели последний Clang из транка (пробовал также 11-ю версию). Если кому интересно, ссылка на godbolt, сам я не понимаю в чем магия https://godbolt.org/z/rYWG9G (на 64x64, 256x256 разница тоже есть, но не такая сильная). Сходу в глаза бросается только, что Clang делает два imul'а и с памятью, а MSVC - один и с регистрами.
источник

RB

Rustem B. in Compiler Development
источник

t

trsfrm2smgen in Compiler Development
Доброго времени суток,не подскажите что может означать BPF_ABS? В ebpf?
источник

t

trsfrm2smgen in Compiler Development
trsfrm2smgen
Доброго времени суток,не подскажите что может означать BPF_ABS? В ebpf?
Я просто ломал голову смотрел в доки и не нашел инфы
источник

t

trsfrm2smgen in Compiler Development
trsfrm2smgen
Доброго времени суток,не подскажите что может означать BPF_ABS? В ebpf?
источник

M

MrSmith in Compiler Development
Я могу же прикрепить к типу и инструкции, в llvm, какую то информацию?
источник

BD

Berkus Decker in Compiler Development
нот бэд
источник

BD

Berkus Decker in Compiler Development
trsfrm2smgen
Доброго времени суток,не подскажите что может означать BPF_ABS? В ebpf?
дайте ка угадаю, абсолютное значение?
источник

t

trsfrm2smgen in Compiler Development
Berkus Decker
дайте ка угадаю, абсолютное значение?
Значение чего?
источник