search for: mcperfnopfrag

Displaying 3 results from an estimated 3 matches for "mcperfnopfrag".

2016 Nov 20
3
RFC: Insertion of nops for performance stability
...too, however I could not figure out how can such a pass have an access to information on instruction sizes and block alignments. I know that for X86, at least, the branch relaxation is happening during the layout phase in the Assembler, where I plan to integrate the nop insertion such that the new MCPerfNopFragment will just be yet another kind of fragment to handle when laying out all the fragments: layout for a relaxable branch is relaxing it if necessary, and layout for a MCPerfNopFragment will be computing the number of nops it will contain. Can you please refer me to a pre-emit pass that does someth...
2016 Nov 21
2
RFC: Insertion of nops for performance stability
...est) relaxes instructions that needs relaxation. For the same reasons, the nops insertion process also cannot occur until after the encoding phase. Regarding splitting blocks of code, that is essentially what I’m proposing, but at MC level (since this is the level I’m operating in). When needed, a MCPerfNopFragment will be a separator between two MCFragments that contain code (e.g. MCDataFragments). However, a MCPerfNopFragment is not a MCAlignFragment and a block that follows a MCDataFragments will not (necessarily) be aligned as it could be wasteful in terms of code size. Consider the example I provided...
2016 Nov 17
4
RFC: Insertion of nops for performance stability
...uspicious" places while encoding, i.e. hotspots that may cause a performance penalty, during the encoding. 2. Computing the actual number (zero or greater) of required nops in order to avoid a performance penalty. In order to achieve that, I am introducing a new kind of MCFragment named MCPerfNopFragment. It will be the connecting link between the two phases: 1. During encoding, the object streamer (MCObjectStreamer) will query the backend for the need of a MCPerfNopFragment before every encoded instruction. If required, a MCPerfNopFragment will be created and inserted to the MCSection....