Talk type: Talk

Briefly on Scalar Evolution: How LLVM Handles Range Checks

  • Talk in Russian

Safety always comes with price, and safe accesses to arrays are not an exception. From this talk, you will learn how LLVM-base compilers can make range checks in secure languages like Java almost free of cost, using symbolic engine Scalar Evolution (SCEV).

Many heard about SCEV, few know what it is and how it works. Maybe it's one of the most enigmatic parts of LLVM, but at the same time it is a powerful instrument for code optimization. I will speak about SCEV internals, and how range check eliminating optimizations benefit from it. There will be a detailed study of a series of transforms that can be used to improve performance in Java-like languages with safe array accesses.

Looking forward to seeing those who want to know more about compiler optimizations!

Speakers

Schedule