and besides the information from my distinguished colleague Alaric, make sure that you DOWNLOAD if you want the program to go TO the controller ... the "upload" operation that you originally mentioned would be backwards ...
also, the CompactLogix has some differences in how it transfers its Input and Output data with its I/O modules ... if your ControlLogix project is currently using COS (Change of State) and IOT (Immediate Output) features – and/or relying on an output transfer at the end of every task – be aware that those operations won't work as they did before ...
also, the Fault/Program Action settings are still shown in the setup screens for the CompactLogix output modules – but those settings don't work once you leave ControlLogix behind ...
and you also won't be able to RIUP (Remove and Insert Under Power) any defective modules with CompactLogix ... in some "continuous operation" plants, that "hot swap" feature alone makes the ControlLogix platform the system of choice ...