Invariant-load-hoisting pre-loads values before the execution of the SCoP itself to avoid loading the same value several times and also to make parameters (like array size) available in the isl sets/maps.
Currently, we cannot load-hoist from pointers that by themselves are defined within the SCoP, but are themselves invariant. The reason is inability of the scalar evolution used by isHoistableLoad to check invariance of the SCEV representing the load. If this is the case, we skip the check since the invariant load hoisting can handle it.