This patch is the initial patch for the machine level IR serialization. It creates a new library in CodeGen called Serialization.
This patch introduces the 'mir' file extension that is used by the machine level IR files.
This new library adds a new machine function pass that is responsible for printing out the machine level IR in the new
format.
It also adds the functions and a class that allows llc to parse machine level IR. I've adopted a two stage parsing
approach - at first the optional LLVM IR is parsed so that the corresponding LLVM module can be created. Then
the machine level IR will be parsed at a later stage after llc creates the TargetMachine with the target information
from the already parsed module.
It may not be llvm coding style but all the others declarations below and above have no extra space in fron of the & here...