Какие виды оптимизации LLVM делают и какие оптимизации его преобразования должны реализовывать себя?

Уведомление: Я заметил Этот вопрос это много связано с этим, поэтому, если вы кого-то интересуетесь в моем вопросе, вы должны определенно читать это другое и его ответы тоже.

Я могу подумать о некоторых оптимизациях Frestend Language OOP, например, создание временных переменных для удержания значений от вызовов метода Const, вызываемых в последовательности, без промежуточных вызовов Non-Const на объект, чтобы обрезать вызовы функций, Но я не могу придумать гораздо больше. Я хотел бы попросить людей создать более длинный список примеров.

Я спрашиваю это, потому что я хочу создать небольшой язык в качестве домашнего животного, и я не уверен, как очень хорошо изучать эту тему. Может быть, это случай для сообщества Wiki? Полный список оптимизаций LLVM Backend делает и что поступления должны делать сами, что вы думаете?

О, и я знаю, что разные розыгрыши могут иметь широко разные потребности, но мой фокус находится на процедурных / оопах.

7
задан Community 23 May 2017 в 12:06
поделиться