Per-subrroutine optimization level

Per-subrroutine optimization level

I have a problem with a particular piece of code (which is not mine to simply rearrange at will) which causes ifc's optimizer to consume larger and larger amounts of memory until either it crashes (at -O3) or simply locks the machine up for 5 minutes paging (at -O2).

The code in question consists of very large nested case statement, which are actually machine-generated. To be fair to Intel, many other compilers exhibit exactly the same behaviour.

Is there any way of selectively reducing the optimization level for a single subroutine in a module? The Cray compilers had a directive to do this, and I wonder if anything similar exists for ifc.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I don't know of a way to change the optimization level for just part of a module. I suggest you submit a small test case containing a very large, nested case statement to Intel Premier Support at
Of course, workarounds would not be difficult if you were able to change the source, or split the module.


Leave a Comment

Please sign in to add a comment. Not a member? Join today