This tests the correct compilation of indirectbr and blockaddr in combination with custom cost-based function outlining.
This bitcode test was generated from this high level program:
Int32 main() {
Bool x;
Int32 counter = test::produce(5);
while (counter < 10) {
counter++;
// Creation of subfunction forced here - start
if (counter >= 8) {
break; // triggers indirectbr
} else if (counter >= 4) {
continue; // triggers indirectbr
}
// Creation of subfunction forced here - end
test::consume(counter);
}
return 1;
}