summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86CodeEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Ignore debugging related instructions if they get this far.Evan Cheng2008-03-051-0/+4
| | | | llvm-svn: 47934
* Rather than asserting. Dump out the MI that we are not able to encode and abort.Evan Cheng2008-03-051-1/+6
| | | | llvm-svn: 47933
* Add lock prefix support to x86. Also add the instructions necessary for the ↵Andrew Lenharth2008-03-011-0/+3
| | | | | | atomic ops. They are still marked pseudo, since I cannot figure out what format to use, but they are the correct opcode. llvm-svn: 47795
* De-tabifyBill Wendling2008-02-261-2/+2
| | | | llvm-svn: 47600
* Enable exception handling int JITNicolas Geoffray2008-02-131-5/+12
| | | | llvm-svn: 47079
* Avoid needlessly casting away const qualifiers.Dan Gohman2008-02-081-3/+3
| | | | llvm-svn: 46877
* IMPLICIT_USE and IMPLICIT_DEF are dead, remove them.Chris Lattner2008-01-101-2/+0
| | | | llvm-svn: 45838
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-12/+12
| | | | | | | Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
* rename hasVariableOperands() -> isVariadic(). Add some comments.Chris Lattner2008-01-071-2/+1
| | | | | | | Evan, please review the comments I added to getNumDefs to make sure that they are accurate, thx. llvm-svn: 45687
* Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptorChris Lattner2008-01-071-2/+2
| | | | llvm-svn: 45680
* Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflectsChris Lattner2008-01-071-2/+2
| | | | | | | | | | | | | | | that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
* X86 JIT PIC jumptable support.Evan Cheng2008-01-051-9/+14
| | | | llvm-svn: 45616
* Combine MovePCtoStack + POP32r into one instruction MOVPC32r so it can be ↵Evan Cheng2008-01-051-14/+23
| | | | | | moved if needed. llvm-svn: 45605
* Unbreak tailcall opt in JIT.Evan Cheng2008-01-041-1/+2
| | | | llvm-svn: 45576
* X86 PIC JIT support fixes: encoding bugs, add lazy pointer stubs support.Evan Cheng2008-01-041-30/+53
| | | | llvm-svn: 45575
* Change MachineRelocation::DoesntNeedFnStub to NeedStub. This fields will be usedEvan Cheng2008-01-031-48/+48
| | | | | | for non-function GV relocations that require function address stubs (e.g. Mac OS X in non-static mode). llvm-svn: 45527
* X86 PIC JIT bug fix: relocations for constantpool and jumptable.Evan Cheng2008-01-021-7/+6
| | | | llvm-svn: 45515
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-11/+11
| | | | | | | | | | | | e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on switching everything over, so new clients should just start using the shorter names. Remove old long accessors, switching everything over to use the short accessor: getMachineBasicBlock() -> getMBB(), getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc. llvm-svn: 45464
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Preliminary PIC JIT support for X86 (32-bit) / Darwin.Evan Cheng2007-12-221-61/+70
| | | | llvm-svn: 45313
* Add parameter to getDwarfRegNum to permit targetsDale Johannesen2007-11-131-1/+0
| | | | | | | | to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056
* Fix x86-64 jit: remove reliance on Dwarf numbers.Evan Cheng2007-11-131-6/+13
| | | | llvm-svn: 44048
* Move getX86RegNum into X86RegisterInfo and use itDuncan Sands2007-08-291-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 Lamb2007-07-291-12/+0
| | | | | | Passes DejaGnu, SingleSource and MultiSource. llvm-svn: 40578
* Trampoline codegen support for X86-32.Duncan Sands2007-07-271-8/+1
| | | | llvm-svn: 40566
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-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 Patel2007-05-011-2/+6
| | | | llvm-svn: 36632
* Removed tabs everywhere except autogenerated & external files. Add makeAnton Korobeynikov2007-04-161-7/+7
| | | | | | target for tabs checking. llvm-svn: 36146
* Add support for our first SSSE3 instruction "pmulhrsw".Bill Wendling2007-04-101-0/+8
| | | | llvm-svn: 35869
* Clean up.Evan Cheng2007-03-141-3/+4
| | | | llvm-svn: 35105
* X86-64 JIT is in large code model. Need stubs for direct calls.Evan Cheng2007-03-141-1/+1
| | | | llvm-svn: 35097
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-0/+2
| | | | llvm-svn: 33537
* eliminate static ctors for Statistic objects.Chris Lattner2006-12-191-4/+2
| | | | llvm-svn: 32703
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-1/+1
| | | | | | is 'unsigned'. llvm-svn: 32279
* JIT large code model support.Evan Cheng2006-12-051-7/+13
| | | | llvm-svn: 32220
* - Fix X86-64 JIT by temporarily disabling code that treats GV address as 32-bitEvan Cheng2006-12-051-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 Cheng2006-12-011-2/+2
| | | | llvm-svn: 32098
* Removed even more std::cerr and #include <iostream> things.Bill Wendling2006-11-171-3/+1
| | | | llvm-svn: 31813
* Use TargetInstrInfo::getNumOperands() instead of ↵Evan Cheng2006-11-101-20/+22
| | | | | | MachineInstr::getNumOperands(). In preparation for implicit reg def/use changes. llvm-svn: 31616
* Remove M_2_ADDR_FLAG.Evan Cheng2006-11-091-2/+5
| | | | llvm-svn: 31583
* Skip over first operand when determining REX prefix for two-address code.Evan Cheng2006-09-131-7/+14
| | | | llvm-svn: 30300
* Committing X86-64 support.Evan Cheng2006-09-081-59/+291
| | | | llvm-svn: 30177
* Clean up.Evan Cheng2006-09-071-2/+2
| | | | llvm-svn: 30140
* Watch out for variable_ops instructions.Evan Cheng2006-09-061-1/+1
| | | | llvm-svn: 30135
* Variable ops instructions may ignore the last few operands for code emission.Evan Cheng2006-09-061-1/+3
| | | | llvm-svn: 30134
* Update the X86 JIT to make it work with the new two-addr changes. This alsoChris Lattner2006-09-051-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 Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Give a good error message when we try to jit inline asm.Chris Lattner2006-08-261-0/+3
| | | | llvm-svn: 29891
* Resolve BB references with relocation.Evan Cheng2006-07-271-1/+2
| | | | llvm-svn: 29351
OpenPOWER on IntegriCloud