Требуется получить машинный код, в котором для каждого его куска можно найти соответствующий кусок в исходном коде (на С). Т.е. в генерируемом компилятором машинном коде не должны присутствовать какие-либо неявные вставки, не имеющие соответствующего отображения исходном коде (вроде проверки границ массивов), и наоборот ничто не должно быть отрезано.
В связи с этим возникает вопрос, когда и как компиляторы выполняют оптимизацию?
1. Если убрать все ключи оптимизации компилятора, будет ли выполнятся какая-либо оптимизация по умолчанию?
2. На каких этапах выполняется оптимизация: до преобразования в ассемблерный код и/или после?
Вообще это нужно применительно к Wind River и TI Code Composer Studio, но полезной будет информация о любых компиляторах.