Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move getX86RegNum into X86RegisterInfo and use it | Duncan Sands | 2007-08-29 | 1 | -54/+1 | |
| | | | | | | | | in the trampoline lowering. Lookup the jump and mov opcodes for the trampoline rather than hard coding them. llvm-svn: 41577 | |||||
* | Change the x86 backend to use extract_subreg for truncation operations. ↵ | Christopher Lamb | 2007-07-29 | 1 | -12/+0 | |
| | | | | | | Passes DejaGnu, SingleSource and MultiSource. llvm-svn: 40578 | |||||
* | Trampoline codegen support for X86-32. | Duncan Sands | 2007-07-27 | 1 | -8/+1 | |
| | | | | llvm-svn: 40566 | |||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -2/+2 | |
| | | | | llvm-svn: 36662 | |||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -2/+2 | |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | |||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -2/+6 | |
| | | | | llvm-svn: 36632 | |||||
* | Removed tabs everywhere except autogenerated & external files. Add make | Anton Korobeynikov | 2007-04-16 | 1 | -7/+7 | |
| | | | | | | target for tabs checking. llvm-svn: 36146 | |||||
* | Add support for our first SSSE3 instruction "pmulhrsw". | Bill Wendling | 2007-04-10 | 1 | -0/+8 | |
| | | | | llvm-svn: 35869 | |||||
* | Clean up. | Evan Cheng | 2007-03-14 | 1 | -3/+4 | |
| | | | | llvm-svn: 35105 | |||||
* | X86-64 JIT is in large code model. Need stubs for direct calls. | Evan Cheng | 2007-03-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 35097 | |||||
* | Make LABEL a builtin opcode. | Jim Laskey | 2007-01-26 | 1 | -0/+2 | |
| | | | | llvm-svn: 33537 | |||||
* | eliminate static ctors for Statistic objects. | Chris Lattner | 2006-12-19 | 1 | -4/+2 | |
| | | | | llvm-svn: 32703 | |||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -1/+1 | |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | |||||
* | JIT large code model support. | Evan Cheng | 2006-12-05 | 1 | -7/+13 | |
| | | | | llvm-svn: 32220 | |||||
* | - Fix X86-64 JIT by temporarily disabling code that treats GV address as 32-bit | Evan Cheng | 2006-12-05 | 1 | -70/+101 | |
| | | | | | | | | immediate in small code model. The JIT cannot ensure GV's are placed in the lower 4G. - Some preliminary support for large code model. llvm-svn: 32215 | |||||
* | Match TargetInstrInfo changes. | Evan Cheng | 2006-12-01 | 1 | -2/+2 | |
| | | | | llvm-svn: 32098 | |||||
* | Removed even more std::cerr and #include <iostream> things. | Bill Wendling | 2006-11-17 | 1 | -3/+1 | |
| | | | | llvm-svn: 31813 | |||||
* | Use TargetInstrInfo::getNumOperands() instead of ↵ | Evan Cheng | 2006-11-10 | 1 | -20/+22 | |
| | | | | | | MachineInstr::getNumOperands(). In preparation for implicit reg def/use changes. llvm-svn: 31616 | |||||
* | Remove M_2_ADDR_FLAG. | Evan Cheng | 2006-11-09 | 1 | -2/+5 | |
| | | | | llvm-svn: 31583 | |||||
* | Skip over first operand when determining REX prefix for two-address code. | Evan Cheng | 2006-09-13 | 1 | -7/+14 | |
| | | | | llvm-svn: 30300 | |||||
* | Committing X86-64 support. | Evan Cheng | 2006-09-08 | 1 | -59/+291 | |
| | | | | llvm-svn: 30177 | |||||
* | Clean up. | Evan Cheng | 2006-09-07 | 1 | -2/+2 | |
| | | | | llvm-svn: 30140 | |||||
* | Watch out for variable_ops instructions. | Evan Cheng | 2006-09-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 30135 | |||||
* | Variable ops instructions may ignore the last few operands for code emission. | Evan Cheng | 2006-09-06 | 1 | -1/+3 | |
| | | | | llvm-svn: 30134 | |||||
* | Update the X86 JIT to make it work with the new two-addr changes. This also | Chris Lattner | 2006-09-05 | 1 | -41/+52 | |
| | | | | | | adds assertions that check to make sure every operand gets emitted. llvm-svn: 30110 | |||||
* | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 29911 | |||||
* | Give a good error message when we try to jit inline asm. | Chris Lattner | 2006-08-26 | 1 | -0/+3 | |
| | | | | llvm-svn: 29891 | |||||
* | Resolve BB references with relocation. | Evan Cheng | 2006-07-27 | 1 | -1/+2 | |
| | | | | llvm-svn: 29351 | |||||
* | - Refactor the code that resolve basic block references to a TargetJITInfo | Evan Cheng | 2006-07-25 | 1 | -16/+10 | |
| | | | | | | | | | | method. - Added synchronizeICache() to TargetJITInfo. It is called after each block of code is emitted to flush the icache. This ensures correct execution on targets that have separate dcache and icache. - Added PPC / Mac OS X specific code to do icache flushing. llvm-svn: 29276 | |||||
* | Hide x86 symbols | Chris Lattner | 2006-06-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 28976 | |||||
* | Eliminate unneeded parameter. | Evan Cheng | 2006-06-22 | 1 | -8/+4 | |
| | | | | llvm-svn: 28907 | |||||
* | variable_ops instructions such as call can have any number of operands. | Evan Cheng | 2006-06-21 | 1 | -1/+1 | |
| | | | | llvm-svn: 28906 | |||||
* | X86 integer register classes naming changes. Make them consistent with FP, ↵ | Evan Cheng | 2006-05-16 | 1 | -3/+3 | |
| | | | | | | vector classes. llvm-svn: 28324 | |||||
* | Remove a bunch more dead V9 specific stuff | Chris Lattner | 2006-05-04 | 1 | -6/+1 | |
| | | | | llvm-svn: 28094 | |||||
* | Remove some more V9-specific stuff. | Chris Lattner | 2006-05-04 | 1 | -1/+0 | |
| | | | | llvm-svn: 28092 | |||||
* | Simplify handling of relocations | Chris Lattner | 2006-05-04 | 1 | -24/+38 | |
| | | | | llvm-svn: 28090 | |||||
* | Change from using MachineRelocation ctors to using static methods | Chris Lattner | 2006-05-03 | 1 | -3/+3 | |
| | | | | | | in MachineRelocation to create Relocations. llvm-svn: 28088 | |||||
* | inline a simple method | Chris Lattner | 2006-05-03 | 1 | -10/+7 | |
| | | | | llvm-svn: 28083 | |||||
* | Suck block address tracking out of targets into the JIT Emitter. This | Chris Lattner | 2006-05-03 | 1 | -24/+9 | |
| | | | | | | | simplifies the MachineCodeEmitter interface just a little bit and makes BasicBlocks work like constant pools and jump tables. llvm-svn: 28082 | |||||
* | Teach the x86 jit how to handle jump tables not directly used by a jump | Nate Begeman | 2006-05-03 | 1 | -0/+3 | |
| | | | | | | instruction. llvm-svn: 28080 | |||||
* | Change the BasicBlockAddrs map to be a vector, indexed by MBB number. | Chris Lattner | 2006-05-03 | 1 | -7/+8 | |
| | | | | llvm-svn: 28069 | |||||
* | Several related changes: | Chris Lattner | 2006-05-02 | 1 | -2/+0 | |
| | | | | | | | | | | | | | 1. Change several methods in the MachineCodeEmitter class to be pure virtual. 2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them from the MachineCodeEmitter interface, and reducing the amount of target- specific code. 3. Change the JITEmitter so that it allocates constantpools and jump tables *right* next to the functions that they belong to, instead of in a separate pool of memory. This makes all memory for a function be contiguous, and means the JITEmitter only tracks one block of memory now. llvm-svn: 28065 | |||||
* | Fix a purely hypothetical problem (for now): emitWord emits in the host | Chris Lattner | 2006-05-02 | 1 | -5/+5 | |
| | | | | | | | | byte format. This doesn't work when using the code emitter in a cross target environment. Since the code emitter is only really used by the JIT, this isn't a current problem, but if we ever start emitting .o files, it would be. llvm-svn: 28060 | |||||
* | Refactor the machine code emitter interface to pull the pointers for the current | Chris Lattner | 2006-05-02 | 1 | -7/+11 | |
| | | | | | | | | | | code emission location into the base class, instead of being in the derived classes. This change means that low-level methods like emitByte/emitWord now are no longer virtual (yaay for speed), and we now have a framework to support growable code segments. This implements feature request #1 of PR469. llvm-svn: 28059 | |||||
* | There is no reason to use a virtual method to store this word. | Chris Lattner | 2006-05-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 28053 | |||||
* | JumpTable support! What this represents is working asm and jit support for | Nate Begeman | 2006-04-22 | 1 | -9/+15 | |
| | | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947 | |||||
* | Add a couple more pseudo instructions. | Evan Cheng | 2006-03-22 | 1 | -0/+2 | |
| | | | | llvm-svn: 26939 | |||||
* | ConstantPoolIndex is now the displacement portion of the address (rather | Evan Cheng | 2006-02-26 | 1 | -10/+4 | |
| | | | | | | than base). llvm-svn: 26382 | |||||
* | - Added option -relocation-model to set relocation model. Valid values ↵ | Evan Cheng | 2006-02-22 | 1 | -1/+3 | |
| | | | | | | | | | | include static, pic, dynamic-no-pic, and default. PPC and x86 default is dynamic-no-pic for Darwin, pic for others. - Removed options -enable-pic and -ppc-static. llvm-svn: 26315 | |||||
* | Jit does not support PIC yet. | Evan Cheng | 2006-02-18 | 1 | -0/+2 | |
| | | | | llvm-svn: 26278 |