Lattice Inc.
Lattice Inc.
Имеющий большую историю компилятор Lattice MS-DOS C последовательно совершенствовался с каждой новой версией. Он известен как генератор стабильного, предсказуемого кода и выполняет умеренную оптимизацию. Lattice С выполняет снижение мощности, сжатие цепочки переходов и удаление общих подвыражений. Он не удаляет дублирующиеся присваивания после теста встроенных функций и лишние присваивания в функции dead_code. Хотя он не генерирует никакого кода для недостижимого printf в функции dead_code, компилятор Lattice C генерирует ненужный безусловный переход к LEAVE, которая является следующей инструкцией.
Единственными сгенерированными машинно-зависимыми инструкциями были ENTER и LEAVE, инструкции микропроцессоров 80x86 для прологов и эпилогов функций. Это сомнительное благо, поскольку выполнение ENTER требует больше циклов микропроцессора, чем установка адресации стекового фрейма отдельными инструкциями. Lattice C не выполняет оптимизацию циклов.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Компиляция Си-программы на IBM PC (компиляторы Microsoft С и Lattice С)
Компиляция Си-программы на IBM PC (компиляторы Microsoft С и Lattice С) Описанное ниже разбиение процесса компиляции программы на последовательные шаги зависит как от операционной системы, так и от самого компилятора. Конкретный пример, который мы здесь рассматриваем, — это