[Mono] Add the capability of trimming IL code of individual methods (#86722)
* Add the capability of trimming individual methods
* Fix build errors
* Remove printf's
* Add the option to use compiled-methods-outfile
* Avoid trimming shared methods when they are still in use
* Add parameter description
* Add the option to trim compiled methods
* Address review feedback
* Add metadata MethodTokenFile to CompiledAssemblies
* Add GUID checks and use metadata of assemblies
* Create smaller functions and use hex value
* Update src/tasks/AotCompilerTask/MonoAOTCompiler.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Move parameter validation code
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Add more error handling
* Provide a list of trimmed assemblies as output
* Update src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Address coding style feedbacks
* Fix var anmes
* Delete trimmed assemblies after copy
---------
Co-authored-by: Ankit Jain <radical@gmail.com>