You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.0 KiB

title description
Loop Hoisting Detect opportunities to hoist function calls that are invariant outside of loop bodies for efficiency.

Detect opportunities to hoist function calls that are invariant outside of loop bodies for efficiency.

Activate with --loop-hoisting.

Supported languages:

  • C/C++/ObjC: Yes
  • C#/.Net: Yes
  • Erlang: Yes
  • Java: Yes

This checker detects opportunities to hoist function calls that are invariant to outside of loop bodies. The hoisting analysis relies on purity analysis to determine whather a function is pure or not.

It has an additional mode that reports loop-invariant functions that are expensive (i.e. at least linear). This is enabled by the flag --hoisting-report-only-expensive.

List of Issue Types

The following issue types are reported by this checker: