Microsoft Phoenix
Microsoft Phoenix was an SDK available from Microsoft Connect for creating compilers, optimize code, and perform code analysis. Microsoft described it in the past tense on 2008-07-01.[1]
Original Description
[It was] to be used as the back-end for future compiler technologies from
Overview
Microsoft Phoenix defines an intermediate representation (IR) for programs, using
Once the program has been converted to the IR, the analysis and optimization tools can operate on that form. Phoenix includes a selection of tools – including block counting, memory analysis,
c2.dll
compiler backend, which it shares with Visual C++, to handle analysis, optimization and code generation for the x86As a result of the modular architecture, any component can be replaced without affecting the rest of the system. For example, to target the compiler to a different architecture, only the file writer specific to the architecture needs to be changed, keeping the rest of the stack unchanged. To create a compiler for a new language, only the readers need to be provided.
Productization
A Phoenix component (phx.dll) is used for some of the static analysis (FxCop) in Visual Studio 2010.[11] (The Phoenix compiler itself, which is required for most instrumentation insertion to work, is not included with Visual Studio.)
See also
References
- ^ "Microsoft Phoenix SDK (2008-07-01)".
- ^ "Phoenix Academic Program". Archived from the original on December 13, 2007. Retrieved November 16, 2007.
- ISBN 9780470593349. Retrieved May 8, 2019.
- ^ Tairas, Robert; Gray, Jeff (March 10, 2006). "Phoenix-Based Clone Detection Using Suffix Trees" (PDF). Proceedings of the 44th Annual Southeast Regional Conference. Association for Computing Machinery: 679–684. Retrieved May 8, 2019.
- ^ Safonov, Vladimir; Gratchev, Mikhail; Grigoryev, Dmitry; Maslennikov, Alexander (May 29 – June 1, 2006). "Aspect.NET — aspect-oriented toolkit for Microsoft.NET based on Phoenix and Whidbey" (PDF). .NET Technologies 2006. University of West Bohemia: 19–30. Retrieved May 8, 2019.
- ^ Ueng, Sain-Zee; Lathara, Melvin; Baghsorkhi, Sara S.; Hwu, Wen-mei W. "CUDA-Lite: Reducing GPU Programming Complexity". Languages and Compilers for Parallel Computing. University of Illinois at Urbana-Champaign: Springer: 1–15. Retrieved May 8, 2019.
- ^ Castro, Miguel; Costa, Manuel; Harris, Tim (November 6, 2006). "Securing software by enforcing data-flow integrity" (PDF). Proceedings of the 7th Symposium on Operating Systems Design and Implementation. USENIX Association: 147–160. Retrieved May 8, 2019.
- ^ [2][3][4][5][6][7]
- ^ "Phoenix Compiler Backend". Archived from the original on December 26, 2010. Retrieved November 16, 2007.
- ^ "Phoenix based tools". Archived from the original on December 26, 2010. Retrieved November 16, 2007.
- ^ "VS 2010 Beta 2 Code Analysis In-Depth First Look". Archived from the original on January 6, 2010. Retrieved March 30, 2010.
External links
- Official Phoenix site
- Phoenix SDK June 2008 CTP Release(latest release to the moment of writing)