summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* The pshufw instruction came about in MMX2 when SSE was introduced. Don't placeBill Wendling2010-10-042-10/+40
| | | | | | | | | it in with the SSSE3 instructions. Steward! Could you place this chair by the aft sun deck? I'm trying to get away from the Astors. They are such boors! llvm-svn: 115552
* Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!Kevin Enderby2010-10-043-9/+5
| | | | | | | | | | | | | | | | 1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better named. Since it is just a predicate and isn't actually changing any state. 2) Added a missing return in the comments for setCurrentDwarfLoc() in include/llvm/MC/MCContext.h for fix formatting. 3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change state. 4) Simplified the last test in isValidDwarfFileNumber() to just a one line boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement. llvm-svn: 115551
* Implement ELF::R_X86_64_GOTPCREL.Rafael Espindola2010-10-041-0/+3
| | | | llvm-svn: 115547
* Move isFixupKindX86PCRel.Rafael Espindola2010-10-041-12/+12
| | | | llvm-svn: 115545
* Produce a R_X86_64_PLT32 when needed.Rafael Espindola2010-10-041-1/+10
| | | | llvm-svn: 115541
* Produce a R_X86_64_GOT32 when needed.Rafael Espindola2010-10-041-1/+12
| | | | llvm-svn: 115537
* Remove unneeded headerJim Grosbach2010-10-041-1/+0
| | | | llvm-svn: 115525
* Add hook in MCSection to decide when to use "optimized nops", for eachJan Wen Voung2010-10-046-7/+19
| | | | | | | section kind. Previously, optimized nops were only used for MachO. Also added tests for ELF and COFF. llvm-svn: 115523
* Don't add the operand count to SCEV uniquing data; FoldingSetNodeIDDan Gohman2010-10-041-5/+0
| | | | | | already knows its own length, so this is redundant. llvm-svn: 115521
* Include the section address in the computation of the relocation.Rafael Espindola2010-10-041-1/+8
| | | | llvm-svn: 115509
* Correctly compute the relocation when it is not in the first fragment.Rafael Espindola2010-10-041-1/+1
| | | | llvm-svn: 115506
* Removed the older style (in-allocator) problem construction system from the ↵Lang Hames2010-10-041-628/+9
| | | | | | PBQP allocator. Problem construction is now done exclusively with the new builders. llvm-svn: 115502
* va_args support for Win64.Anton Korobeynikov2010-10-032-22/+26
| | | | | | Patch by Cameron! llvm-svn: 115480
* Properly emit stack probe on win64 (for non-mingw targets).Anton Korobeynikov2010-10-032-35/+51
| | | | | | Based on the patch by Cameron Esfahani! llvm-svn: 115479
* Add 3DNowA instructions.Eli Friedman2010-10-031-2/+6
| | | | llvm-svn: 115477
* the immediate field of pshufw is actually an 8-bit field, not a 8-bit field ↵Chris Lattner2010-10-031-2/+2
| | | | | | that is sign extended. This fixes PR8288 llvm-svn: 115473
* Jim Asked us to move DataLayout on ARM back to the most specialized classes. DoRafael Espindola2010-10-0310-75/+97
| | | | | | | | so and also change X86 for consistency. Investigating if this can be improved a bit. llvm-svn: 115469
* add support for the prefetch/prefetchw instructions, move femms intoChris Lattner2010-10-032-13/+22
| | | | | | | the right file. The assembler supports all the 3dnow instructions now, but not the "3dnowa" ones. llvm-svn: 115468
* what the heck, add support for the rest of the 3dNow! binary operations.Chris Lattner2010-10-031-6/+24
| | | | llvm-svn: 115467
* Implement support for the bizarre 3DNow! encoding (which is unlike anythingChris Lattner2010-10-035-14/+67
| | | | | | | | | | | else in X86), and add support for pavgusb. This is apparently the only instruction (other than movsx) that is preventing ffmpeg from building with clang. If someone else is interested in banging out the rest of the 3DNow! instructions, it should be quite easy now. llvm-svn: 115466
* Major changes to Cortex-A9 itinerary.Evan Cheng2010-10-031-211/+251
| | | | | | | | | | | 1. Model dual issues as two FUs. 2. Model the pipelines correctly: two symmetric ALUs, the multiplier is a dependent pipeline on ALU0. The changes do not have much impact on codegen right now. But I plan to make pre-RA scheduler multi-issue aware which should take good advantage of the changes. llvm-svn: 115457
* Implement a very basic PIC case.Rafael Espindola2010-10-031-0/+7
| | | | llvm-svn: 115454
* Cleanup. Get rid of extraneous variable.Bill Wendling2010-10-031-3/+2
| | | | llvm-svn: 115453
* stub out a header to put 3dNow! instructions into.Chris Lattner2010-10-023-1/+16
| | | | llvm-svn: 115429
* fix a regression introduced in r115243, in which the instructionChris Lattner2010-10-021-0/+16
| | | | | | backing int_x86_ssse3_pshuf_w got removed. This caused PR8280. llvm-svn: 115422
* Stop using LiveRange in MachineVerifier.Jakob Stoklund Olesen2010-10-021-16/+15
| | | | llvm-svn: 115408
* Fix a miscompile in 186.crafty for Thumb2 that was exposed by Evan'sBob Wilson2010-10-021-10/+14
| | | | | | | | | | | scheduling change in svn 115121. The CriticalAntiDepBreaker had bad liveness information. It was calculating the KillIndices for one scheduling region in a basic block, rescheduling that region so the KillIndices were no longer valid, and then using those wrong KillIndices to make decisions for the next scheduling region. I've not been able to reduce a small testcase for this. Radar 8502534. llvm-svn: 115400
* Wind these directories back too. File adds and removes are properly representedNick Lewycky2010-10-028-0/+180
| | | | | | in patches. :-( llvm-svn: 115396
* Continue reverting r115363.Nick Lewycky2010-10-026-0/+379
| | | | llvm-svn: 115395
* Revert patches r115363 r115367 r115391 due to build breakage:Nick Lewycky2010-10-028-558/+1
| | | | | | | | | llvm[2]: Updated LibDeps.txt because dependencies changed llvm[2]: Checking for cyclic dependencies between LLVM libraries. find-cycles.pl: Circular dependency between *.a files: find-cycles.pl: libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a llvm-svn: 115393
* Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone whoJim Grosbach2010-10-021-2/+0
| | | | | | is more familiar with CMake please review? llvm-svn: 115391
* Start on lowering global addresses.Eric Christopher2010-10-021-2/+43
| | | | llvm-svn: 115390
* This adds a Darwin x86_64 relocation encoding for a subtraction expressionKevin Enderby2010-10-022-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | where both symbols are "local", that is non-external symbols, and there is no "base" for the symbols used in the expression, that is the section has no non-temporary symbols. This case looks like this: % cat local_reloc_A-B.s .long 0 LB: .long 1 .long LA - LB - 4 .long 2 LA: .long 3 which llvm-mc will not encode without this patch, generates a "unsupported local relocations in difference" error, but the Darwin assembler will encode with relocation entries like this: % otool -rv a.out l.out a.out: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long False SUB False 1 (__TEXT,__text) 00000008 False long False UNSIGND False 1 (__TEXT,__text) which is very similar to what is encoded when the symbols don't have the leading 'L' and they are not temporary symbols. Which llvm-mc and the Darwin assembler will encoded like this: Relocation information (__TEXT,__text) 2 entries address pcrel length extern type scattered symbolnum/value 00000008 False long True SUB False B 00000008 False long True UNSIGND False A This is the missing relocation encoding needed to allow the Mach-O x86 Dwarf file and line table to be emitted. So this patch also removes the TODO from the if() statement in MCMachOStreamer::Finish() that didn't call MCDwarfFileTable::Emit() for 64-bit targets. llvm-svn: 115389
* Drop the use of LiveInterval::iterator and the LiveRange class inJakob Stoklund Olesen2010-10-011-14/+7
| | | | | | RemoveCopyByCommutingDef. llvm-svn: 115386
* When RemoveCopyByCommutingDef is creating additional identity copies, just useJakob Stoklund Olesen2010-10-012-47/+10
| | | | | | | | | | | LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and getting it wrong. This fixed PR8249 where a valno with a multi-segment live range was defined by an identity copy created by RemoveCopyByCommutingDef. Some of the live segments disappeared. llvm-svn: 115385
* Pretty up the debug output during RemoveCopyByCommutingDef.Jakob Stoklund Olesen2010-10-011-19/+7
| | | | llvm-svn: 115384
* Add support to let FE mark explict methods as explict in debug info.Devang Patel2010-10-011-0/+2
| | | | llvm-svn: 115378
* Nuke trailing whitespace.Jim Grosbach2010-10-011-28/+28
| | | | llvm-svn: 115377
* PrintSpecial() can go away now.Jim Grosbach2010-10-011-1/+0
| | | | llvm-svn: 115376
* Stub out constant GV handling, fixes C++ eh tests.Eric Christopher2010-10-011-2/+14
| | | | llvm-svn: 115375
* Nuke the rest of the :comment referencesJim Grosbach2010-10-014-14/+10
| | | | llvm-svn: 115373
* Nuke a bunch of no-longer-needed comment-only asm strings.Jim Grosbach2010-10-011-57/+28
| | | | llvm-svn: 115370
* Now that the asmprinter itself isn't in the subdir, rename 'AsmPrinter' toJim Grosbach2010-10-016-2/+2
| | | | | | | 'InstPrinter' to fall into line with the other MC-ized assembly printer using targets. llvm-svn: 115367
* Fix r115332: correctly model AGU / NEON mux.Evan Cheng2010-10-011-133/+266
| | | | llvm-svn: 115365
* Thread the determination of branch prediction hit rates back through the ↵Owen Anderson2010-10-015-36/+58
| | | | | | | | | if-conversion heuristic APIs. For now, stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide more nuanced estimates in the future. llvm-svn: 115364
* Move the asmprinter and MC lowering out of the AsmPrinter (soon to beJim Grosbach2010-10-013-1/+1
| | | | | | InstPrinter) subdir llvm-svn: 115363
* Rename the AsmPrinter directory to InstPrinter for those targets that haveJim Grosbach2010-10-0116-5/+5
| | | | | | | been MC-ized for assembly printing. MSP430 is mostly so, but still has the asm printer and lowering code in the printer subdir for the moment. llvm-svn: 115360
* Fix scheduling infor for vmovn and vshrn which I broke accidentially.Evan Cheng2010-10-012-2/+2
| | | | llvm-svn: 115354
* Add operand cycles for vldr / vstr.Evan Cheng2010-10-012-8/+17
| | | | llvm-svn: 115353
* Direct calls only for arm fast isel for now.Eric Christopher2010-10-011-2/+3
| | | | llvm-svn: 115350
OpenPOWER on IntegriCloud