| OLD | NEW |
| 1 //===-- X86.h - Top-level interface for X86 representation ------*- C++ -*-===// | 1 //===-- X86.h - Top-level interface for X86 representation ------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file contains the entry points for global functions defined in the x86 | 10 // This file contains the entry points for global functions defined in the x86 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 /// to local-dynamic TLS variables so that the TLS base address for the module | 37 /// to local-dynamic TLS variables so that the TLS base address for the module |
| 38 /// is only fetched once per execution path through the function. | 38 /// is only fetched once per execution path through the function. |
| 39 FunctionPass *createCleanupLocalDynamicTLSPass(); | 39 FunctionPass *createCleanupLocalDynamicTLSPass(); |
| 40 | 40 |
| 41 /// createX86FloatingPointStackifierPass - This function returns a pass which | 41 /// createX86FloatingPointStackifierPass - This function returns a pass which |
| 42 /// converts floating point register references and pseudo instructions into | 42 /// converts floating point register references and pseudo instructions into |
| 43 /// floating point stack references and physical instructions. | 43 /// floating point stack references and physical instructions. |
| 44 /// | 44 /// |
| 45 FunctionPass *createX86FloatingPointStackifierPass(); | 45 FunctionPass *createX86FloatingPointStackifierPass(); |
| 46 | 46 |
| 47 // @LOCALMOD-BEGIN - Creates a pass to make instructions follow NaCl SFI rules. |
| 48 FunctionPass* createX86NaClRewritePass(); |
| 49 // @LOCALMOD-END |
| 50 |
| 47 /// createX86IssueVZeroUpperPass - This pass inserts AVX vzeroupper instructions | 51 /// createX86IssueVZeroUpperPass - This pass inserts AVX vzeroupper instructions |
| 48 /// before each call to avoid transition penalty between functions encoded with | 52 /// before each call to avoid transition penalty between functions encoded with |
| 49 /// AVX and SSE. | 53 /// AVX and SSE. |
| 50 FunctionPass *createX86IssueVZeroUpperPass(); | 54 FunctionPass *createX86IssueVZeroUpperPass(); |
| 51 | 55 |
| 52 /// createX86EmitCodeToMemory - Returns a pass that converts a register | 56 /// createX86EmitCodeToMemory - Returns a pass that converts a register |
| 53 /// allocated function into raw machine code in a dynamically | 57 /// allocated function into raw machine code in a dynamically |
| 54 /// allocated chunk of memory. | 58 /// allocated chunk of memory. |
| 55 /// | 59 /// |
| 56 FunctionPass *createEmitX86CodeToMemory(); | 60 FunctionPass *createEmitX86CodeToMemory(); |
| 57 | 61 |
| 58 /// \brief Creates an X86-specific Target Transformation Info pass. | 62 /// \brief Creates an X86-specific Target Transformation Info pass. |
| 59 ImmutablePass *createX86TargetTransformInfoPass(const X86TargetMachine *TM); | 63 ImmutablePass *createX86TargetTransformInfoPass(const X86TargetMachine *TM); |
| 60 | 64 |
| 61 /// createX86PadShortFunctions - Return a pass that pads short functions | 65 /// createX86PadShortFunctions - Return a pass that pads short functions |
| 62 /// with NOOPs. This will prevent a stall when returning on the Atom. | 66 /// with NOOPs. This will prevent a stall when returning on the Atom. |
| 63 FunctionPass *createX86PadShortFunctions(); | 67 FunctionPass *createX86PadShortFunctions(); |
| 64 /// createX86FixupLEAs - Return a a pass that selectively replaces | 68 /// createX86FixupLEAs - Return a a pass that selectively replaces |
| 65 /// certain instructions (like add, sub, inc, dec, some shifts, | 69 /// certain instructions (like add, sub, inc, dec, some shifts, |
| 66 /// and some multiplies) by equivalent LEA instructions, in order | 70 /// and some multiplies) by equivalent LEA instructions, in order |
| 67 /// to eliminate execution delays in some Atom processors. | 71 /// to eliminate execution delays in some Atom processors. |
| 68 FunctionPass *createX86FixupLEAs(); | 72 FunctionPass *createX86FixupLEAs(); |
| 69 | 73 |
| 70 } // End llvm namespace | 74 } // End llvm namespace |
| 71 | 75 |
| 72 #endif | 76 #endif |
| OLD | NEW |