Implement filling drop in MIR

Hopefully the author caught all the cases. For the mir_dynamic_drops_3 test case the ratio of
memsets to other instructions is 12%. On the other hand we actually do not double drop for at least
the test cases provided anymore in MIR.
This commit is contained in:
Simonas Kazlauskas 2016-02-04 19:40:28 +02:00
parent be7196a793
commit ba26efb60c
11 changed files with 147 additions and 83 deletions

View file

@ -1167,3 +1167,8 @@ LLVMRustBuildInvoke(LLVMBuilderRef B,
return LLVMBuildInvoke(B, Fn, Args, NumArgs, Then, Catch, Name);
}
#endif
extern "C" void LLVMRustPositionBuilderAtStart(LLVMBuilderRef B, LLVMBasicBlockRef BB) {
auto point = unwrap(BB)->getFirstInsertionPt();
unwrap(B)->SetInsertPoint(unwrap(BB), point);
}