summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix bitcode desynchronization when loading a PCH containing a class templateRichard Smith2013-05-234-18/+56
| | | | | | | | | | | specialization with modules enabled. Just don't merge them at all for now; we'll revisit this when support for template merging is added. In passing, make Decl::dump() a little safer to use with PCH/modules, by making it not deserialize any additional declarations. From a debugger you can call decls_begin() or similar first if you want to dump all child decls. llvm-svn: 182544
* [lld][LayoutPass] Consolidate debug flags, removing "layout" flag.Rui Ueyama2013-05-231-4/+2
| | | | | | | | | | | | | DEBUG_TYPE is already defined at the beginning of this file. We don't want to have two different debug flags for a single pass. Reviewers: shankarke CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D845 llvm-svn: 182543
* Missed removing one of the assert()'s from the LLVMCreateDisasmCPU() libraryKevin Enderby2013-05-231-1/+2
| | | | | | | | | | API with my 176880 revision. If a bad Triple is passed in it can also assert. In this case too it should just return 0 to indicate failure to create the disassembler. rdar://13955214 llvm-svn: 182542
* PR14772: Support constant expression evaluation for _Atomic types.Richard Smith2013-05-234-20/+109
| | | | | | | | | * Treat _Atomic(T) as a literal type if T is a literal type. * Evaluate expressions of this type properly. * Fix a lurking bug where we built completely bogus ASTs for converting to _Atomic types in C++ in some cases, caught by the tests for this change. llvm-svn: 182541
* Don't compare 4 characters on a 2 character string.Greg Clayton2013-05-221-2/+2
| | | | llvm-svn: 182540
* Fix shutdown to correctly close stdout and stop showing garbage characters ↵Michael Sartain2013-05-221-1/+7
| | | | | | | | on exit. Patch by Matthew Sorrels llvm-svn: 182539
* Cleaned up the File API a bit.Greg Clayton2013-05-222-45/+103
| | | | llvm-svn: 182538
* Fixed a file leak introduced with my last checkin. Also be sure to include ↵Greg Clayton2013-05-221-5/+8
| | | | | | <stdio.h> just in case. llvm-svn: 182537
* Minor fix to comment from my previous commit.Chad Rosier2013-05-221-1/+1
| | | | llvm-svn: 182536
* Adding in parsing and the start of semantic support for __sptr and __uptr ↵Aaron Ballman2013-05-2213-23/+216
| | | | | | | | | | pointer type qualifiers. This patch also fixes the correlated __ptr32 and __ptr64 pointer qualifiers so that they are truly type attributes instead of declaration attributes. For more information about __sptr and __uptr, see MSDN: http://msdn.microsoft.com/en-us/library/aa983399.aspx Patch reviewed by Richard Smith. llvm-svn: 182535
* Simplify the logic described in the comment.Chad Rosier2013-05-221-3/+1
| | | | llvm-svn: 182534
* Debug Info: Handle function/method types using the most specific typeDavid Blaikie2013-05-222-15/+15
| | | | llvm-svn: 182533
* Solidify the assumption that a DW_TAG_subprogram's type is a ↵David Blaikie2013-05-225-38/+23
| | | | | | | | | | | | | DW_TAG_subroutine_type There were bits & pieces of code lying around that may've given the impression that debug info metadata supported the possibility that a subprogram's type could be specified by a non-subroutine type describing the return type of a void function. This support was incomplete & unnecessary. Asserts & API have been changed to make the desired usage more clear. llvm-svn: 182532
* Simplify logic now that r182490 is in place. No functional change intended.Chad Rosier2013-05-2211-50/+46
| | | | llvm-svn: 182531
* Added a new "lldb" log channel named "os" for the OperatingSystem plug-ins ↵Greg Clayton2013-05-225-4/+42
| | | | | | | | to use. Added logging for the OS plug-in python objects in OperatingSystemPython so we can see the python dictionary returned from the plug-in when logging is enabled. llvm-svn: 182530
* <rdar://problem/13963648>Han Ming Ong2013-05-221-2/+6
| | | | | | | Changes after feedback: Directly use function pointer, just to be safer on 10.8. llvm-svn: 182529
* Fixed a bug where persistent variables did notSean Callanan2013-05-225-14/+51
| | | | | | | | | | | | | | | | | live as long as they needed to. This led to equality tests involving persistent variables often failing or succeeding when they had no business doing so. To do this, I introduced the ability for a memory allocation to "leak" - that is, to persist in the process beyond the lifetime of the expression. Hand-declared persistent variables do this now. <rdar://problem/13956311> llvm-svn: 182528
* Simplify logic now that r182490 is in place. No functional change intended.Chad Rosier2013-05-221-8/+4
| | | | llvm-svn: 182527
* Simplify logic now that r182490 is in place. No functional change intended.Chad Rosier2013-05-221-15/+14
| | | | llvm-svn: 182526
* Comment and cleanup.Adrian Prantl2013-05-221-5/+7
| | | | | | rdar://problem/13359718 llvm-svn: 182524
* <rdar://problem/13963648>Han Ming Ong2013-05-224-19/+80
| | | | | | Collect 'anonymous memory' info, if possible llvm-svn: 182523
* [lld] Fix wrong content permission bit.Rui Ueyama2013-05-221-3/+6
| | | | | | | | | | | | Summary: "W" bit value was not consistent in ContentPermissions enum. It should always be 2. Reviewers: kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D810 llvm-svn: 182515
* Insert explicit casts to try appease overload resolution in the buildbotsPete Cooper2013-05-221-1/+1
| | | | llvm-svn: 182514
* <rdar://problem/13956179>Greg Clayton2013-05-222-6/+23
| | | | | | | | Fixed ProcessMachCore to be able to locate the main executeable in the core file even if it doesn't start at a core file address range boundary. Prior to this we only checked the first bytes of each range in the core file for mach_kernel or dyld. Now we still do this, but if we don't find the mach_kernel or dyld anywhere, we go through all core file ranges and check every 0x1000 to see if we can find dyld or the mach_kernel. Now that we can properly detect the mach_kernel at any address, we don't need to call "DynamicLoaderDarwinKernel::SearchForDarwinKernel(Process*)" anymore. llvm-svn: 182513
* Recognize ValueType operands in source patterns for fast-isel.Bill Schmidt2013-05-221-3/+7
| | | | | | | | | | | | | | | | | | | | | Currently the fast-isel table generator recognizes registers, register classes, and immediates for source pattern operands. ValueType operands are not recognized. This is not a problem for existing targets with fast-isel support, but will not work for targets like PowerPC and SPARC that use types in source patterns. The proposed patch allows ValueType operands and treats them in the same manner as register classes. There is no convenient way to map from a ValueType to a register class, but there's no need to do so. The table generator already requires that all types in the source pattern be identical, and we know the register class of the output operand already. So we just assign that register class to any ValueType operands we encounter. No functional effect on existing targets. Testing deferred until the PowerPC target implements fast-isel. llvm-svn: 182512
* <rdar://problem/13880690>Greg Clayton2013-05-221-0/+3
| | | | | | Lock the lldb_private::Module mutex while tearing down the module to make sure we don't get clients accessing the contents on a module as it is going away. llvm-svn: 182511
* Change some PowerPC PatLeaf definitions to ImmLeaf for fast-isel.Bill Schmidt2013-05-222-17/+19
| | | | | | | | | | | | | | | | | Using PatLeaf rather than ImmLeaf when defining immediate predicates prevents simple patterns using those predicates from being recognized for fast instruction selection. This patch replaces the immSExt16 PatLeaf predicate with two ImmLeaf predicates, imm32SExt16 and imm64SExt16, allowing a few more patterns to be recognized (ADDI, ADDIC, MULLI, ADDI8, and ADDIC8). Using the new predicates does not help for LI, LI8, SUBFIC, and SUBFIC8 because these are rejected for other reasons, but I see no reason to retain the PatLeaf predicate. No functional change intended, and thus no test cases yet. This is preliminary work for enabling fast-isel support for PowerPC. When that support is ready, we'll be able to test this function. llvm-svn: 182510
* Use scope-resolution operator to hopefully unbreak Windows builds.Ted Kremenek2013-05-221-1/+1
| | | | llvm-svn: 182509
* SLPVectorizer: Change the order in which new instructions are added to the ↵Nadav Rotem2013-05-227-58/+236
| | | | | | | | | | | | function. We are not working on a DAG and I ran into a number of problems when I enabled the vectorizations of 'diamond-trees' (trees that share leafs). * Imroved the numbering API. * Changed the placement of new instructions to the last root. * Fixed a bug with external tree users with non-zero lane. * Fixed a bug in the placement of in-tree users. llvm-svn: 182508
* X86: Fix a bug in EltsFromConsecutiveLoads. We can't generate new loads ↵Nadav Rotem2013-05-222-8/+58
| | | | | | without chains. llvm-svn: 182507
* Simplifiy code using return value of erase().Ted Kremenek2013-05-221-3/+1
| | | | llvm-svn: 182506
* [analyzer; alternate edges] remove redundant adjacent "events" with the same ↵Ted Kremenek2013-05-221-0/+27
| | | | | | | | text. Fixes <rdar://problem/13949982> llvm-svn: 182505
* Bugfix for r181629:Adrian Prantl2013-05-222-3/+6
| | | | | | | | | - The return type should be a pointer to the class type. - Make the condition more specific. rdar://problem/13359718 llvm-svn: 182504
* Remove unneeded call to a base default ctorReid Kleckner2013-05-221-1/+1
| | | | llvm-svn: 182503
* [analyzer;alternate edges] remove puny edges on the same line that span less ↵Ted Kremenek2013-05-221-2/+70
| | | | | | | | | | | than 3 columns. These are legitimate control-flow edges, but visually they add no value. Implements <rdar://problem/13941325>. llvm-svn: 182502
* Remove unnecessary assignment.Ted Kremenek2013-05-221-2/+0
| | | | llvm-svn: 182501
* Remove unused #include <map>Reid Kleckner2013-05-221-1/+0
| | | | llvm-svn: 182500
* This is an update to a previous commit (r181216).Jean-Luc Duprat2013-05-223-56/+56
| | | | | | | | | | | | | | | | | | | | | | | The earlier change list introduced the following inst combines: B * (uitofp i1 C) —> select C, B, 0 A * (1 - uitofp i1 C) —> select C, 0, A select C, 0, B + select C, A, 0 —> select C, A, B Together these 3 changes would simplify : A * (1 - uitofp i1 C) + B * uitofp i1 C down to : select C, B, A In practice we found that the first two substitutions can have a negative effect on performance, because they reduce opportunities to use FMA contractions; between the two options FMAs are often the better choice. This change list amends the previous one to enable just these inst combines: select C, B, 0 + select C, 0, A —> select C, B, A A * (1 - uitofp i1 C) + B * uitofp i1 C —> select C, B, A llvm-svn: 182499
* scan-build: use the xcodebuild specified by the user.Jordan Rose2013-05-221-9/+4
| | | | | | | | | | This is important if the user has multiple Xcodes installed on their system -- we use xcodebuild to do a version check, and therefore we need to make sure we match the actual build command. Reported by Howard Ling! llvm-svn: 182498
* [analyzer] Don't crash if a block doesn't have a type signature.Jordan Rose2013-05-223-5/+39
| | | | | | | | | | | Currently, blocks instantiated in templates lose their "signature as written"; it's not clear if this is intentional. Change the analyzer's use of BlockDecl::getSignatureAsWritten to check whether or not the signature is actually there. <rdar://problem/13954714> llvm-svn: 182497
* Fix typo in docs/GettingStarted.rst.Rui Ueyama2013-05-221-1/+1
| | | | llvm-svn: 182496
* Unify formatting of debug output.Adrian Prantl2013-05-222-3/+3
| | | | llvm-svn: 182495
* [lld][LayoutPass] An earlier commit moved the functionality so that Atoms wouldShankar Easwaran2013-05-226-93/+93
| | | | | | | | | | | | | | | | | | | be laid out by their ordinal overrides first, there was a bug that two atoms may get the same override index due to which atoms were not ordered properly. This commit fixes the problem. Now the atoms are ordered by - Section Position hints - Atom override (Using layout-after/layout-before/in-group) - Content Permissions - Content Type - File Ordinal This also fixes the problem of running c++ static executables that was broken by an earlier patch. llvm-svn: 182494
* Fix StringMapIterator compile errors for non-MSVC compilers.Reid Kleckner2013-05-221-1/+1
| | | | llvm-svn: 182493
* Add entries to vim-lldb plugin docs/help page for :Lattach and :LdetachDaniel Malea2013-05-221-0/+6
| | | | llvm-svn: 182491
* Add the IncludeSelf parameter to the MCSubRegIterator and MCSuperRegIteratorChad Rosier2013-05-221-5/+13
| | | | | | | constructors. No functional change. Part of rdar://12906217 llvm-svn: 182490
* Use StringMap in MicrosoftMangle to resolve FIXME.Reid Kleckner2013-05-221-3/+2
| | | | llvm-svn: 182488
* [Support] Add StringMap::swap() and a default ctor for iteratorsReid Kleckner2013-05-221-0/+10
| | | | | | | | This makes StringMap<> more compatible with std::map<std::string, ...>. Differential Revision: http://llvm-reviews.chandlerc.com/D842 llvm-svn: 182487
* X86: When expanding PCMPGTQ to PCMPGTD we always want to compare the lower ↵Benjamin Kramer2013-05-222-4/+25
| | | | | | | | halves as unsigned. Take #2 on fixing PR15977. llvm-svn: 182486
* LoopVectorize: Make Value pointers that could be RAUW'ed a VHArnold Schwaighofer2013-05-222-3/+54
| | | | | | | | | | The Value pointers we store in the induction variable list can be RAUW'ed by a call to SCEVExpander::expandCodeFor, use a TrackingVH instead. Do the same thing in some other places where we store pointers that could potentially be RAUW'ed. Fixes PR16073. llvm-svn: 182485
OpenPOWER on IntegriCloud