summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* Lower MEMBARRIER on x86 and support processors without SSE2.Eric Christopher2010-07-213-3/+40
| | | | | | | Fixes a pile of libgomp failures in the llvm-gcc testsuite due to the libcall not existing. llvm-svn: 109004
* Add AVX only vzeroall and vzeroupper instructionsBruno Cardoso Lopes2010-07-212-2/+10
| | | | llvm-svn: 109002
* Teach bottom up pre-ra scheduler to track register pressure. Work in progress.Evan Cheng2010-07-214-14/+45
| | | | llvm-svn: 108991
* Add new AVX vpermilps, vpermilpd and vperm2f128 instructionsBruno Cardoso Lopes2010-07-211-0/+35
| | | | llvm-svn: 108984
* Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to ↵Bruno Cardoso Lopes2010-07-212-11/+45
| | | | | | support it llvm-svn: 108983
* Add new AVX vextractf128 instructionsBruno Cardoso Lopes2010-07-201-0/+10
| | | | llvm-svn: 108964
* make asmprinter optional, even though passing in null will cause things to ↵Chris Lattner2010-07-202-13/+14
| | | | | | explode right now. llvm-svn: 108955
* continue pushing dependencies around.Chris Lattner2010-07-202-8/+9
| | | | llvm-svn: 108952
* reduce X86MCInstLower dependencies on asmprinter.Chris Lattner2010-07-202-8/+14
| | | | llvm-svn: 108950
* pass around MF, not MMI.Chris Lattner2010-07-202-5/+5
| | | | llvm-svn: 108949
* cleanups.Chris Lattner2010-07-202-14/+10
| | | | llvm-svn: 108947
* move two asmprinter methods into the asmprinter .cpp file.Chris Lattner2010-07-202-38/+39
| | | | llvm-svn: 108945
* prune #includes a little.Chris Lattner2010-07-205-6/+8
| | | | llvm-svn: 108929
* Add new AVX instruction vinsertf128Bruno Cardoso Lopes2010-07-202-0/+15
| | | | llvm-svn: 108892
* Using BIC for immediates needs an extra bump for its complexity to getJim Grosbach2010-07-201-0/+1
| | | | | | instruction selection to prefer it when possible. rdar://7903972 llvm-svn: 108844
* Removed un-used code.Jim Grosbach2010-07-201-49/+0
| | | | llvm-svn: 108841
* Fix PR7174, a couple o Mips fixes:Bruno Cardoso Lopes2010-07-202-1/+21
| | | | | | | | | | | - Fix a typo for PIC check during jmp table lowering - Also fix the "first jump table basic block is not considered only reachable by fall through" problem, use this ad-hoc solution until I come up with something better. Patch by stetorvs@gmail.com llvm-svn: 108820
* Fix Mips PR7473. Patch by stetorvs@gmail.comBruno Cardoso Lopes2010-07-201-3/+3
| | | | llvm-svn: 108816
* Constify some arguments.Eric Christopher2010-07-209-14/+14
| | | | llvm-svn: 108812
* Add AVX vbroadcast new instructionBruno Cardoso Lopes2010-07-202-0/+28
| | | | llvm-svn: 108788
* Update CMake files.Daniel Dunbar2010-07-204-8/+8
| | | | llvm-svn: 108787
* sink the arm implementations of ASmPrinter and MCInstLowerChris Lattner2010-07-193-1/+1
| | | | | | | | out of the AsmPrinter directory into libarm. Now the ARM InstPrinters depend jsut on the MC stuff, not on vmcore or codegen. llvm-svn: 108783
* fix a layering problem by moving the x86 implementationChris Lattner2010-07-194-5/+5
| | | | | | | | of AsmPrinter and InstLowering into libx86 and out of the asmprinter subdirectory. Now X86/AsmPrinter just depends on MC stuff, not all of codegen and LLVM IR. llvm-svn: 108782
* Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!Bruno Cardoso Lopes2010-07-196-81/+128
| | | | llvm-svn: 108769
* ARM has to provide its own TargetLowering::findRepresentativeClass because ↵Evan Cheng2010-07-192-0/+20
| | | | | | its scalar floating point registers alias its vector registers. llvm-svn: 108761
* X86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the sameDaniel Dunbar2010-07-192-4/+4
| | | | | | | | instruction, we only want to allow the one for the current subtarget. - This also fixes suffix matching for jmp instructions, because it eliminates the ambiguity between 'jmpl' and 'jmpq'. llvm-svn: 108746
* Since ARM emits inline jump tables as part of the ConstantIsland pass,Jim Grosbach2010-07-192-0/+6
| | | | | | | | it should set the jump table encloding the EK_Inline. This prevents a second, unused, copy of the table from being emitted after the function body. PR6581. llvm-svn: 108730
* revert so I can get the right PR# in the log message.Jim Grosbach2010-07-192-6/+0
| | | | llvm-svn: 108727
* Since ARM emits inline jump tables as part of the ConstantIsland pass,Jim Grosbach2010-07-192-0/+6
| | | | | | | | it should set the jump table encloding the EK_Inline. This prevents a second, unused, copy of the table from being emitted after the function body. PR7499. llvm-svn: 108722
* X86-64: Mark WINCALL and more tail call instructions as code gen only.Daniel Dunbar2010-07-191-2/+3
| | | | llvm-svn: 108685
* X86: Mark some tail call pseduo instruction as code gen only.Daniel Dunbar2010-07-191-1/+2
| | | | llvm-svn: 108684
* X86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].Daniel Dunbar2010-07-192-4/+4
| | | | llvm-svn: 108683
* MC/X86: We now match instructions like "incl %eax" correctly for the arch we areDaniel Dunbar2010-07-192-54/+0
| | | | | | assembling; remove crufty custom cleanup code. llvm-svn: 108681
* X86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.Daniel Dunbar2010-07-192-0/+6
| | | | llvm-svn: 108680
* X86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.Daniel Dunbar2010-07-191-6/+12
| | | | llvm-svn: 108679
* TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> ↵Daniel Dunbar2010-07-191-4/+12
| | | | | | | | attributes as part of the matcher. - Currently includes a hack to limit ourselves to "In32BitMode" and "In64BitMode", because we don't have the other infrastructure to properly deal with setting SSE, etc. features on X86. llvm-svn: 108677
* Target: Give the TargetAsmParser access to the TargetMachine.Daniel Dunbar2010-07-192-8/+10
| | | | | | - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. llvm-svn: 108664
* the stackifier is global!Chris Lattner2010-07-171-2/+2
| | | | llvm-svn: 108626
* doxygenify some comments.Chris Lattner2010-07-171-19/+19
| | | | llvm-svn: 108625
* Add combiner patterns to more effectively utilize the BFI (bitfield insert)Jim Grosbach2010-07-172-37/+68
| | | | | | | instruction for non-constant operands. This includes the case referenced in the README.txt regarding a bitfield copy. llvm-svn: 108608
* add BFI to getTargetNodeName()Jim Grosbach2010-07-171-0/+1
| | | | llvm-svn: 108603
* Fix logic think-oJim Grosbach2010-07-171-1/+1
| | | | llvm-svn: 108601
* Remove unnecessary check that was subsumed into canRealignStack.Eric Christopher2010-07-172-6/+4
| | | | llvm-svn: 108588
* Make more explicit and add some currently disabled error messages forEric Christopher2010-07-171-4/+18
| | | | | | | | | stack realignment on ARM. Also check for function attributes as we do on X86 as well as make explicit that we're checking can as well as needs in this function. llvm-svn: 108582
* Make comment a bit more clear as well as return statement sinceEric Christopher2010-07-171-2/+2
| | | | | | needsStackRealignment is currently checking the can conditions as well. llvm-svn: 108581
* Add basic support to code-gen the ARM/Thumb2 bit-field insert (BFI) instructionJim Grosbach2010-07-166-36/+104
| | | | | | | and a combine pattern to use it for setting a bit-field to a constant value. More to come for non-constant stores. llvm-svn: 108570
* Remove the isMoveInstr() hook.Jakob Stoklund Olesen2010-07-1626-618/+0
| | | | llvm-svn: 108567
* Avoid isMoveInstr when printing XCore pseudo-moves.Jakob Stoklund Olesen2010-07-161-7/+5
| | | | llvm-svn: 108566
* Use MI.isCopy.Jakob Stoklund Olesen2010-07-161-4/+2
| | | | llvm-svn: 108565
* Use a small local function for a single remaining late isMoveInstr call inJakob Stoklund Olesen2010-07-161-24/+42
| | | | | | Thumb2ITBlockPass. llvm-svn: 108564
OpenPOWER on IntegriCloud