summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* fix accidentally inverted conditional and add comment.Chris Lattner2009-08-181-1/+4
| | | | llvm-svn: 79312
* turn this conditional into something humans might actuallyChris Lattner2009-08-181-8/+25
| | | | | | be able to understand ;-) llvm-svn: 79311
* Make TargetData optional in MemCpyOptimizer.Dan Gohman2009-08-181-10/+10
| | | | llvm-svn: 79306
* Make TargetData optional in SimplifyLibCalls.Dan Gohman2009-08-181-7/+45
| | | | llvm-svn: 79298
* The attached patches attempt to fix cross builds. For example, if youAnton Korobeynikov2009-08-181-1/+1
| | | | | | | | | | | | | try to use i686-darwin to build for arm-eabi, you'll quickly run into several false assumptions that the target OS must be the same as the host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to help builds like "make check" and the test-suite able to cross compile. Along the way a target of *-unknown-eabi is defined as "Freestanding" so that TARGET_OS checks have something to work with. Patch by Sandeep Patel! llvm-svn: 79296
* Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignmentDan Gohman2009-08-181-1/+1
| | | | | | returns a log2 value. llvm-svn: 79293
* PowerPC inline asm was emitting two output operandsDale Johannesen2009-08-182-26/+12
| | | | | | | | | for a single "m" constraint; this is wrong because the opcode of a load or store would have to change in parallel. This patch makes it always compute addresses into a register, which is correct but not as efficient as possible. 7144566. llvm-svn: 79292
* Add prefix only if it is needed.Devang Patel2009-08-171-2/+3
| | | | llvm-svn: 79289
* cleanups per review. Mostly cosmetic, plus use SmallVector in place of ↵Jim Grosbach2009-08-171-24/+16
| | | | | | std::vector. llvm-svn: 79287
* Oops. find all llvm.dbg.global_variables.Devang Patel2009-08-171-1/+1
| | | | llvm-svn: 79274
* Remove a bit more cruft from the sjlj moving to a backend pass.Jim Grosbach2009-08-173-15/+0
| | | | llvm-svn: 79272
* Update CMakeLists.Benjamin Kramer2009-08-171-0/+1
| | | | llvm-svn: 79264
* Update comments to new-style syntax.Dan Gohman2009-08-171-2/+2
| | | | llvm-svn: 79263
* Fix build warning.Daniel Dunbar2009-08-171-1/+1
| | | | llvm-svn: 79262
* Privatize the last bits of static type state.Owen Anderson2009-08-172-23/+32
| | | | llvm-svn: 79258
* Move the TypeMap lock to a member on LLVMContextImpl.Owen Anderson2009-08-172-10/+11
| | | | llvm-svn: 79256
* Add locking around the attributes list.Owen Anderson2009-08-171-0/+6
| | | | llvm-svn: 79255
* Add locking around signal handler registration.Owen Anderson2009-08-171-0/+14
| | | | llvm-svn: 79254
* Clear the uniquing table when initializing TLOF to avoid a crash when the ↵Benjamin Kramer2009-08-171-0/+6
| | | | | | TLOF is reinitialized with a different MCContext. llvm-svn: 79253
* Don't crash on critical edge. Patch by Andre Tavares.Nick Lewycky2009-08-171-1/+1
| | | | llvm-svn: 79252
OpenPOWER on IntegriCloud