This patch adds support for if clause to task construct in OpenMP
[style] No Almost-Always-Auto in LLVM code.
Creating temporary instructions and removing them has issues. In addition to be inefficient, it creates issues if other code stores a pointer to it (eg. InsertPoint). Consider using splitBB which does not require a terminator.