There were no memory dependencies made between stores generated when lowering formal arguments and loads generated when call lowering byVal arguments which made the Post-RA scheduler place a load before a matching store.
- Make the fixed object stored to mutable so that the load instructions can have their memory dependencies added
- Set the frame object as isAliased which clears the underlying objects vector in ScheduleDAGInstrs::buildSchedGraph(). This results in addition of all stores as dependenies for loads.
This problem appeared when passing a byVal parameter coupled with a fastcc function call.