170 похожих чатов

Народ, а можно ли как-то подсказать компилятору GCC и Clang

что heap-аллокации (через вызов оператор new) не создают сайд-эффектов чтобы компилятор убрал их если он может это сделать?
То есть я хочу чтобы в этой демке https://godbolt.org/z/nfj8YheqE вариант с хип-аллокациями выдавал такой же ассемблерный код как и вариант с аллокациями на стеке

9 ответов

15 просмотров

attribute((malloc))

Богдан- Автор вопроса
Kelbon
attribute((malloc))

а где я должен написать этот аттрибут?

как там может быть тот же самый код , если там даже delete нет при том что new есть?

Богдан- Автор вопроса
Kelbon
как там может быть тот же самый код , если там даж...

Если я добавляю delete то ничего не поменяется

Богдан- Автор вопроса
Kelbon
как там может быть тот же самый код , если там даж...

Я хочу чтобы компилятор рассматривал new как некую аллокацию которая не создает никаких сайд-эффектов и в случае когда компилятор может проанализировать и увидеть что объект больше нигде не используется и никуда не передается то чтобы в этом случае компилятор мог бы не аллоцировать этот объект в хипе

компиляторам и так разрешено это делать даже при наличии побочных эффектов http://eel.is/c++draft/expr.new#13.sentence-1

Богдан- Автор вопроса

отлично, тогда может есть возможность заставить Сlang и GCC с аллокацией в хипе выдавать такой же ассемблерный код как и с аллокацией на стеке в демке выше?

Богдан
отлично, тогда может есть возможность заставить Сl...

я не знаю для этого надо знать проход оптимизации, который это делает. если таковой вообще есть

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
95
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Карта сайта