Индвары LLVM проходят

Я использую проход -indvars в LLVM. В нем говорится, что счетчик циклов начинается с 0, где это возможно. Я использовал его для простого цикла, но он не заставлял счетчик циклов начинаться с 0. Любая идея, почему это так?

Петля

for(i=30;i<90;++i){
        a1[i]=i*2;
        a1[i]=a1[i]+1;;
}

person coder hacker    schedule 16.11.2014    source источник
comment
Возможно актуально: groups.google.com/forum/#!topic/llvm -dev/U1A8KRxIkQQ   -  person Marco A.    schedule 17.11.2014
comment
@МаркоА. Спасибо, все еще предложение циклического вращения не работает. Однако я обнаружил, что старый индвар упрощает проход, включил его в свой исходный код и заставил его работать. Я не знаю, почему они удалили такой важный пропуск в первую очередь   -  person coder hacker    schedule 17.11.2014
comment
Хорошо, вы должны добавить это как ответ и пометить как принятое.   -  person Marco A.    schedule 17.11.2014


Ответы (1)


После некоторых копаний я обнаружил, что проход -indvars теперь не канонизирует переменную индукции, потому что большинство других проходов теперь работают без необходимости в канонических циклах.

Однако мой проход требовал, чтобы циклы были в канонической форме, поэтому я обнаружил, что старая переменная индукции упрощает проход и явно включена в мой файл.

Если кому интересно здесь это старый пропуск.

person coder hacker    schedule 17.11.2014