Yes, have done that, compiled code for 16F877A that have 8192 words programspace this is kinda significant:
PRO mode:
Memory Summary:
Program space used EF6h ( 3830) of 2000h words ( 46.8%)
Data space used 2Ah ( 42) of 170h bytes ( 11.4%)
Free mode:
Memory Summary:
Program space used 1AE7h ( 6887) of 2000h words ( 84.1%)
Data space used 2Fh ( 47) of 170h bytes ( 12.8%)
Of course, this code is not very clever, if written better it wouldn't take so much space in the first place.
And, since you obviously did not read this post:
http://www.t4f.org/articles/optimization-of-microchip-pic-xc8-compiler-in-free-and-pro-mode/This codeexample:
tmpPeriod=255;
Compiles to this in Free mode:
00C3 30FF MOVLW 0xFF
00C4 00F8 MOVWF 0x78
00C5 0878 MOVF 0x78, W
00C6 00F5 MOVWF tmpPeriod
And this in Pro mode:
00B5 30FF MOVLW 0xFF
00B7 00F7 MOVWF tmpPeriod
And there are more examples there, but no, it does not insert literally NOP statements, but those extra MOVWF/MOVF, I guess we could be without those?
Now, I don't have an disassembler at hand (any recommendations?) to check if it is like this also in 1.31..