summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Switch raw_svector_ostream to use the vector as the ostream buffer.Daniel Dunbar2009-08-191-1/+29
| | | | | | | - This avoids unnecessary malloc/free overhead in the common case, and unnecessary copying from the ostream buffer into the output vector. llvm-svn: 79434
* Reapply my less-lock-contention-in-leak-detector patch, now with new filesOwen Anderson2009-08-193-90/+119
| | | | | | actually added. llvm-svn: 79429
* Add support for Neon VEXT (vector extract) shuffles.Bob Wilson2009-08-193-1/+69
| | | | | | | | This is derived from a patch by Anton Korzh. I modified it to recognize the VEXT shuffles during legalization and lower them to a target-specific DAG node. llvm-svn: 79428
* Speculatively revert r79375, which may be breaking bootstrap, although in aDaniel Dunbar2009-08-191-15/+10
| | | | | | rather obscure way (the other candidate is r79377). llvm-svn: 79426
* Use the schedule itinerary operand use/def cycle information to adjust ↵David Goodwin2009-08-193-7/+75
| | | | | | dependence edge latency for post-RA scheduling. llvm-svn: 79425
* PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.Eli Friedman2009-08-191-1/+2
| | | | llvm-svn: 79415
* Fix up PHI nodes correctly in the presence of unreachable BBs, part two. AlsoNick Lewycky2009-08-191-7/+30
| | | | | | delete a newed pointer, and improve readability a little bit. llvm-svn: 79411
* fix asmstreaming of 2/4 byte elements with pow-2 alignments.Chris Lattner2009-08-191-1/+8
| | | | llvm-svn: 79408
* Be more careful when modifying PHI nodes. Patch by Andre Tavares.Nick Lewycky2009-08-191-1/+2
| | | | llvm-svn: 79407
* switch asmprinter to emit alignments through OutStreamer.Chris Lattner2009-08-192-22/+34
| | | | llvm-svn: 79406
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-1918-134/+167
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Broke line before break.Andreas Neustifter2009-08-191-1/+2
| | | | llvm-svn: 79404
* Make a SmallVector size more reasonable.Daniel Dunbar2009-08-191-1/+1
| | | | llvm-svn: 79403
* Added an option to have the PBQP allocator attempt coalescing during allocation.Lang Hames2009-08-191-1/+10
| | | | llvm-svn: 79397
* Revert my last patch temporarily.Owen Anderson2009-08-192-29/+90
| | | | llvm-svn: 79388
* Privatize part of the leak detector mechanism, which turned out to be ↵Owen Anderson2009-08-192-90/+29
| | | | | | | | | heavily contended when trying to run opt in parallel. This lets parallel opt crunch 403.gcc in about a third of the time. llvm-svn: 79387
* raw_ostream: Simplify write(unsigned char) to match write(const char*, ↵Daniel Dunbar2009-08-191-18/+8
| | | | | | unsigned). llvm-svn: 79386
* raw_ostream: Remove pointless redefinitions of tell().Daniel Dunbar2009-08-191-8/+0
| | | | | | - The base class implementation is correct. llvm-svn: 79385
* Fix SimplifyLibcalls and ValueTracking to check mayBeOverriddenDan Gohman2009-08-192-2/+4
| | | | | | before performing optimizations based on constant string values. llvm-svn: 79384
* Be tidy and use a break to exit from a switch block rather thanDan Gohman2009-08-181-0/+1
| | | | | | just falling through the end. llvm-svn: 79383
* raw_ostream: Add the capability for subclasses to manually install an externalDaniel Dunbar2009-08-181-21/+23
| | | | | | buffer. llvm-svn: 79382
* Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, andDan Gohman2009-08-181-0/+7
| | | | | | SRA_PARTS, as is done for SRL, SHL, and SRA. llvm-svn: 79380
* raw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.Daniel Dunbar2009-08-181-21/+18
| | | | | | | | | | | | | | - Kill off begin(), end(), and iterator. It isn't clear what these mean. Instead provide getBufferStart(), which can be used with GetNumBytesInBuffer to the same effect. - Update ComputeColumn to take arguments for the buffer to scan, this simplifies the implementation of write_impl substantially. - This should also fix possible problems with the scanning pointer pointing outside of the current raw_ostream buffer. llvm-svn: 79379
* Changes DOUT references in the PBQP allocator to use DEBUG(errs() ...)Lang Hames2009-08-181-11/+7
| | | | llvm-svn: 79378
* Implement sse4.2 string/text processing instructions:Eric Christopher2009-08-184-1/+178
| | | | | | | | Add patterns and instruction encoding information. Add custom lowering to deal with hardwired return register of uncertain type (xmm0). llvm-svn: 79377
* Speed up raw_ostream::<<(unsigned long long) for 32-bit systems by doing mostDaniel Dunbar2009-08-181-10/+15
| | | | | | div/mods in 32-bits. llvm-svn: 79375
* Simplify RegScavenger::FindUnusedReg.Jakob Stoklund Olesen2009-08-185-43/+11
| | | | | | | | | - Drop the Candidates argument and fix all callers. Now that RegScavenger tracks available registers accurately, there is no need to restict the search. - Make sure that no aliases of the found register are in use. This was a potential bug. llvm-svn: 79369
* Add support for mergeable sections back into the XCore backend.Richard Osborne2009-08-181-5/+18
| | | | llvm-svn: 79368
* Fix a bug in raw_ostream::write(char) introduced by the change toDan Gohman2009-08-181-3/+10
| | | | | | | | | allow underlying stream classes to decline buffering. After calling SetBuffered(), re-check whether the stream is Unbuffered in order to handle the case where the underlying stream has declined buffering. llvm-svn: 79362
* Revert r78924, disabling buffering defeats all the fast paths in raw_ostream.Daniel Dunbar2009-08-181-0/+12
| | | | llvm-svn: 79361
* Improve Triple to recognize the OS in i386-mingw32.Daniel Dunbar2009-08-181-2/+19
| | | | llvm-svn: 79359
* Make various changes suggested by Chris.David Greene2009-08-181-36/+48
| | | | llvm-svn: 79358
* Privatize the ValueHandle global map. Because this is used so heavily ↵Owen Anderson2009-08-182-21/+21
| | | | | | | | throughout the code base, locking all accesses to it is not practical performance-wise. llvm-svn: 79355
* Fix an uninitialized value warning in APFloat.Erick Tryzelaar2009-08-181-2/+1
| | | | llvm-svn: 79353
* Put data with relocations in the same sections as data without relocations.Richard Osborne2009-08-181-1/+7
| | | | llvm-svn: 79351
* fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sectionsChris Lattner2009-08-182-8/+10
| | | | llvm-svn: 79346
* Generalize ScalarEvolution to be able to analyze GEPs whenDan Gohman2009-08-182-119/+394
| | | | | | | | TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case; the attached testcase covers this. llvm-svn: 79344
* null streamer needs to maintain the current section as well.Chris Lattner2009-08-181-1/+3
| | | | llvm-svn: 79343
* Make tail merging handle blocks with repeated predecessors correctly, andDan Gohman2009-08-181-25/+4
| | | | | | | | | | | | | | | | | | | | remove RemoveDuplicateSuccessor, as it is no longer necessary, and because it breaks assumptions made in MachineBasicBlock::isOnlyReachableByFallthrough. Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase for PR4732. test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to it being bugpoint-reduced to the point where it doesn't matter what the condition for the branch is. Add some more interesting code to test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase that originally motivated the RemoveDuplicateSuccessor code, to help verify that the original problem isn't being re-broken. llvm-svn: 79338
* Fix a bug that caused globalopt to miscompile tramp3d: don't missDan Gohman2009-08-181-3/+8
| | | | | | unruly indices for arrays that are members of structs. llvm-svn: 79337
* Text sections should have 'exec' flag set. This seems to unbreak libstdc++ ↵Anton Korobeynikov2009-08-181-0/+3
| | | | | | | | on linux. Patch by Dmitry Gorbachev! llvm-svn: 79334
* Fix Triple to recognize the 'bfin' arch.Daniel Dunbar2009-08-181-0/+2
| | | | llvm-svn: 79325
* Make AsmStreamer maintain a notion of the current section, pushing it up ↵Chris Lattner2009-08-183-19/+12
| | | | | | | | | | | | from the MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter. While I'm at it, clean up the last of the horrible "switch to null section" stuff and add an assert. This change is in preparation for completely eliminating asmprinter::switchtosection. llvm-svn: 79324
* add a horrible hack to the dwarf printer. It looks like mingw is not specifyingChris Lattner2009-08-181-3/+9
| | | | | | | | an EHFrame section, so we just emit ehframe data into a random section. This is clearly bad. llvm-svn: 79323
* remove some pointless null switchtosections. The IntelAsmPrinter doesn't ↵Chris Lattner2009-08-181-4/+2
| | | | | | really work anyway. llvm-svn: 79321
* Fix revsh pattern.Evan Cheng2009-08-182-2/+2
| | | | llvm-svn: 79318
* add support for some targetflags on GV operands. This allows us toChris Lattner2009-08-181-2/+44
| | | | | | | | | | | send instructions like: NEW: movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax OLD: movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax through the streamer. Several fixmes. llvm-svn: 79317
* Recognize xscale as an ARM arch.Daniel Dunbar2009-08-181-1/+2
| | | | | | - Patch by Yonggang Luo. llvm-svn: 79315
* Add Triple matching for pic16 arch and solaris OS.Daniel Dunbar2009-08-181-2/+8
| | | | | | - Patch by Yonggang Luo. llvm-svn: 79314
* fix another bozo bugChris Lattner2009-08-181-2/+2
| | | | llvm-svn: 79313
OpenPOWER on IntegriCloud