Оптимизации, не связанные с целевой платформой — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Оптимизации, не связанные с целевой платформой

2022-10-05 32
Оптимизации, не связанные с целевой платформой 0.00 из 5.00 0 оценок
Заказать работу

Полный глобальный пронос констант (constant propagation). В рамках этой оптимизации осуществляется не только подготовка более полной подстановки констант в инструкции в качестве непосредственных аргументов, но и вычисление всех константных выражений на этапе компиляции, а также оптимизация переходов по условию, являющемуся константным выражением.

Удаление «мёртвого» кода. Мёртвым называется код, который не влияет на возвращаемое значение функции и не участвует в формировании её побочных эффектов. Такой код удаляется. Это может значительно уменьшить размер программы и время её исполнения.

Подстановка функций (function inlining). В случаях, предусмотренных Стандартом С++, когда это является целесообразным, происходит подстановка функции вместо её вызова.

Удаление недостижимого кода. Код, который никогда не может быть исполнен, удаляется.

Оптимизации, основанные на особенностях платформы NeuroMatrix

Глобальное распределение регистров. Если значения в регистрах не пересекаются по времени жизни, они могут быть помещены в один регистр. Глобальное распределение регистров значительно уменьшит количество загрузок/сохранений регистров в память (так называемый spill code). Кроме того, в рамках этой оптимизации будет производиться удаление всех (или подавляющего большинства) лишних копирований значений между регистрами.

«Планирование» инструкций (instruction scheduling). Компилятор изменяет порядок инструкций и упаковывает их в параллельные пакеты таким образом, чтобы достигать возможно большей загрузки конвейера и, соответственно, возможно более быстрого их исполнения.

Приложение A                                                  

(рекомендуемое)

НЕРЕАЛИЗОВАННЫЕ СВОЙСТВА

В данной версии не реализованы следующие свойства C и C++:

1. Не поддерживается разновидность явной специализации шаблонных классов и функций, описанная в пункте 14.7.3#18 Стандарта, когда один или несколько объемлющих шаблонных классов остаются неспециализированными. Пример:

2. template<class T> struct A3. {4.               template<class U> struct B5.               {6.                              static int m;7.               };8. };9. template<> template<class U> static int A<int>::B<U>::m = 1;

Заметим, что это свойство не поддерживается ни одним их известных нам компиляторов.

10. Не поддерживается экспорт шаблонов. Из известных компиляторов экспорт шаблонов поддерживает только компилятор EDG..

Приложение B                                                   

(обязательное)

ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ КМПИЛЯТОРА

FEC00001 FATAL

Невозможно открыть исходный файл '%s'

Source file '%s' cannot be opened

Компилятор не может найти или открыть указанный исходный файл. Убедитесь, что имя исходного файла указано верно. Убедитесь, что файл может быть прочитан и его содержимое не разрушено. Если файл расположен на сетевом диске, убедитесь в нормальном функционировании сети. Также файл может быть заблокирован другой программой или у вас недостаточно прав доступа к файлу.

The compiler could not open the specified source file. Ensure the source file name is correct. Ensure that the correct file is being read and has not been corrupted. If the file is located on a LAN drive, ensure the LAN is working properly. Also, the file may be locked by another process or access may be denied because of insufficient permission.

FEC00002 FATAL

Внутренняя ошибка компилятора: %s в %s[%u]: %s

Internal compiler error: %s at %s[%u]: %s

Во время компиляции была обнаружена внутренняя ошибка компилятора.

An internal compiler error occurred during compilation.

FEC00003 FATAL

Невозможно прочитать исходный файл '%s'

Unable to read source file '%s'

Возникла ошибка при чтении исходного файла. Убедитесь, что файл может быть прочитан и его содержимое не разрушено. Если файл расположен на сетевом диске, убедитесь в нормальном функционировании сети. Также файл может быть заблокирован другой программой или у вас недостаточно прав доступа к файлу.

An read error occurred during compilation. Ensure that the source file is being read and has not been corrupted. If the file is located on a LAN drive, ensure the LAN is working properly. Also, the file may be locked by another process or access may be denied because of insufficient permission.

FEC00004 ERROR

Неожиданный конец исходного файла


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.