summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Mips direct object xgot supportJack Carter2012-11-214-1/+45
| | | | | | | | | | | | | | This patch provides support for the MIPS relocations: *) R_MIPS_GOT_HI16 *) R_MIPS_GOT_LO16 *) R_MIPS_CALL_HI16 *) R_MIPS_CALL_LO16 These are used for large GOT instruction sequences. Contributer: Jack Carter llvm-svn: 168471
* [mips] Generate big GOT code.Akira Hatanaka2012-11-215-3/+25
| | | | llvm-svn: 168460
* [mips] Simplify lowering functions in MipsISelLowering.cpp by using the helperAkira Hatanaka2012-11-211-148/+32
| | | | | | functions added in r168456. llvm-svn: 168458
* [mips] Add helper functions that create nodes for computing address.Akira Hatanaka2012-11-211-0/+65
| | | | llvm-svn: 168456
* [mips] Add command line option "-mxgot".Akira Hatanaka2012-11-211-0/+4
| | | | llvm-svn: 168455
* [mips] When a node which loads from a GOT is created, pass a MachinePointerInfoAkira Hatanaka2012-11-211-4/+6
| | | | | | referring to a GOT entry. llvm-svn: 168453
* Add new predicates for the immediate operands.Jyotsna Verma2012-11-211-4/+121
| | | | llvm-svn: 168451
* [mips] Add target operand flag enums for big GOT relocations.Akira Hatanaka2012-11-211-1/+7
| | | | llvm-svn: 168450
* Use one common 'let' expression to set PrintMethod for all immediate operands.Jyotsna Verma2012-11-211-209/+53
| | | | llvm-svn: 168449
* Add relocations used for mips big GOT.Akira Hatanaka2012-11-211-0/+4
| | | | llvm-svn: 168448
* Implementing basic function-level profiling support in IntelJITEventListener.Andrew Kaylor2012-11-211-0/+75
| | | | | | Tests to follow in another patch. llvm-svn: 168444
* Add support for varargs functions for msp430.Anton Korobeynikov2012-11-213-2/+36
| | | | | | Patch by Job Noorman! llvm-svn: 168440
* Add support for byval args. Patch by Job Noorman!Anton Korobeynikov2012-11-212-17/+46
| | | | llvm-svn: 168439
* Finish the renaming.Rafael Espindola2012-11-212-2/+2
| | | | llvm-svn: 168437
* Renamed HexagonImmediates.td -> HexagonOperands.td.Jyotsna Verma2012-11-212-1/+1
| | | | llvm-svn: 168434
* PR14055: Implement support for sub-vector operations in SROA.Chandler Carruth2012-11-211-21/+75
| | | | | | | | | | Now if we can transform an alloca into a single vector value, but it has subvector, non-element accesses, we form the appropriate shufflevectors to allow SROA to proceed. This fixes PR14055 which pointed out a very common pattern that SROA couldn't handle -- mixed vec3 and vec4 operations on a single alloca. llvm-svn: 168418
* Fix execution domain for packed FMA4 instructions.Craig Topper2012-11-212-28/+30
| | | | llvm-svn: 168417
* Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so ↵Craig Topper2012-11-211-6/+6
| | | | | | that llvm.muladd can be converted to ISD::FMA for fp_contract. llvm-svn: 168413
* Make calcLiveInMask method static.Jakub Staszak2012-11-211-1/+1
| | | | llvm-svn: 168409
* Make isScratchReg and isFPCopy methods static.Jakub Staszak2012-11-211-2/+2
| | | | llvm-svn: 168407
* Whitespace.Eric Christopher2012-11-211-29/+29
| | | | llvm-svn: 168402
* Update for some of the coding standard before rearranging functionsEric Christopher2012-11-213-53/+53
| | | | | | around. llvm-svn: 168401
* Update some comments.Eric Christopher2012-11-211-1/+2
| | | | llvm-svn: 168400
* Update and add some comments.Eric Christopher2012-11-211-0/+8
| | | | llvm-svn: 168399
* Whitespace.Eric Christopher2012-11-211-26/+26
| | | | llvm-svn: 168398
* Add obvious constantness.Jakub Staszak2012-11-201-3/+3
| | | | llvm-svn: 168396
* Remove constness from this, it modifies the output stream as doesEric Christopher2012-11-202-2/+2
| | | | | | everything else underneath. llvm-svn: 168395
* removes a few "const" qualifiersSebastian Pop2012-11-201-13/+13
| | | | | | | | | so that I can (someday) call SE->getSCEV without complaint. No semantic change intended. Patch from Preston Briggs <preston.briggs@gmail.com>. llvm-svn: 168391
* Removing some unused instruction definitions from the Hexagon backend.Jyotsna Verma2012-11-202-92/+0
| | | | llvm-svn: 168388
* Remove unused function argument, add a bit to the comment.Eric Christopher2012-11-202-5/+6
| | | | llvm-svn: 168387
* Formatting.Eric Christopher2012-11-201-10/+11
| | | | llvm-svn: 168384
* Whitespace.Eric Christopher2012-11-201-12/+8
| | | | llvm-svn: 168383
* [asan] use names of globals instead of an external set to distinguish the ↵Kostya Serebryany2012-11-201-4/+8
| | | | | | globals generated by asan llvm-svn: 168368
* [asan] don't instrument linker-initialized globals even with external ↵Kostya Serebryany2012-11-201-5/+3
| | | | | | linkage in -asan-initialization-order mode llvm-svn: 168367
* [asan] make sure that linker-initialized globals (non-extern) are not ↵Kostya Serebryany2012-11-201-31/+31
| | | | | | instrumented even in -asan-initialization-order mode. This time with a test llvm-svn: 168366
* Use LLVM_ENABLE_DUMP for the variables used in printing as well as theChandler Carruth2012-11-201-2/+2
| | | | | | | | | printing functions themselves. Part of PR14324 (which should have just been a patch to the list, but hey...) llvm-svn: 168362
* Fix PR14132 and handle OOB loads speculated throuh PHI nodes.Chandler Carruth2012-11-201-0/+21
| | | | | | | | | | | | The issue is that we may end up with newly OOB loads when speculating a load into the predecessors of a PHI node, and this confuses the new integer splitting logic in some cases, triggering an assertion failure. In fact, the branch in question must be dead code as it loads from a too-narrow alloca. Add code to handle this gracefully and leave the requisite FIXMEs for both optimizing more aggressively and doing more to aid sanitizing invalid code which triggers these patterns. llvm-svn: 168361
* Fix physical register liveness calculations:Tim Northover2012-11-202-8/+13
| | | | | | | + Take account of clobbers + Give outputs priority over inputs since they happen later. llvm-svn: 168360
* Intel OCL built-ins calling conventions now support MacOS 32-bit.Elena Demikhovsky2012-11-201-23/+24
| | | | llvm-svn: 168359
* Make the AttrListPtr object a part of the LLVMContext.Bill Wendling2012-11-2010-111/+91
| | | | | | | | | When code deletes the context, the AttributeImpls that the AttrListPtr points to are now invalid. Therefore, instead of keeping a separate managed static for the AttrListPtrs that's reference counted, move it into the LLVMContext and delete it when deleting the AttributeImpls. llvm-svn: 168354
* Add a comment to associate a FIXME with a PR where it is matters.Chandler Carruth2012-11-201-1/+2
| | | | llvm-svn: 168347
* Rework the rewriting of loads and stores for vector and integer allocasChandler Carruth2012-11-201-168/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | to properly handle the combinations of these with split integer loads and stores. This essentially replaces Evan's r168227 by refactoring the code in a different way, and trynig to mirror that refactoring in both the load and store sides of the rewriting. Generally speaking there was some really problematic duplicated code here that led to poorly founded assumptions and then subtle bugs. Now much of the code actually flows through and follows a more consistent style and logical path. There is still a tiny bit of duplication on the store side of things, but it is much less bad. This also changes the logic to never re-use a load or store instruction as that was simply too error prone in practice. I've added a few tests (one a reduction of the one in Evan's original patch, which happened to be the same as the report in PR14349). I'm going to look at adding a few more tests for things I found and fixed in passing (such as the volatile tests in the vectorizable predicate). This patch has survived bootstrap, and modulo one bugfix survived Duncan's test suite, but let me know if anything else explodes. llvm-svn: 168346
* 80-column and whitespace fixups.Eric Christopher2012-11-201-9/+11
| | | | llvm-svn: 168344
* Allow using MemoryBuffers with yaml::Stream directly.Sean Silva2012-11-191-0/+20
| | | | | | | | | | The rationale is to get YAML filenames in diagnostics from yaml::Stream::printError -- currently the filename is hard-coded as "YAML" because there's no buffer information available. Patch by Kim Gräsman! llvm-svn: 168341
* Remove a function argument and propagate const around accordingly.Eric Christopher2012-11-193-13/+17
| | | | llvm-svn: 168338
* Whitespace and 80-col.Eric Christopher2012-11-191-49/+49
| | | | llvm-svn: 168337
* Make AsmPrinter::EmitTTypeReference() more robust - putAnton Korobeynikov2012-11-193-19/+11
| | | | | | the zero GV check inside, so we won't forget it at the caller side. llvm-svn: 168328
* Factor out type info emission into separate routine.Anton Korobeynikov2012-11-193-2/+64
| | | | | | | It turned out that ARM wants different layout of type infos. This is yet another patch in attempt to fix PR7187 llvm-svn: 168325
* Move section label emission to module end. Nothing should beEric Christopher2012-11-191-3/+3
| | | | | | | depending on them being emitted before the text and/or data sections and testing didn't uncover any. llvm-svn: 168321
* Handle mixed normal and early-clobber defs on inline asm.Jakob Stoklund Olesen2012-11-191-2/+10
| | | | | | PR14376. llvm-svn: 168320
OpenPOWER on IntegriCloud