summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixing a compiler warning about has_children being used before being initializedEnrico Granata2012-10-231-1/+1
| | | | llvm-svn: 166462
* Don't try to use inreg with 0 sized structs. Thanks to Eli for reporting theRafael Espindola2012-10-232-1/+16
| | | | | | regression. llvm-svn: 166461
* <rdar://problem/12493007>Greg Clayton2012-10-237-0/+90
| | | | | | | | | | | Added a new API call to help efficiently determine if a SBValue could have children: bool SBValue::MightHaveChildren (); This is inteneded to be used bui GUI programs that need to show if a SBValue needs a disclosure triangle when displaying a hierarchical type in a tree view without having to complete the type (by calling SBValue::GetNumChildren()) as completing the type is expensive. llvm-svn: 166460
* implement setXX patternsReed Kotler2012-10-2314-4/+472
| | | | llvm-svn: 166459
* [Options] Fix two options I mistransformed.Michael J. Spencer2012-10-231-2/+2
| | | | llvm-svn: 166458
* Improved support for language types as commandSean Callanan2012-10-233-29/+95
| | | | | | | | | | | | | | | | | | | | options: - added help ("help language") listing the possible options; - added the possibility of synonyms for language names, in this case "ObjC" for "Objective-C"; and - made matching against language names case insensitive. This should improve discoverability. <rdar://problem/12552359> llvm-svn: 166457
* Fix typo.Julien Lerouge2012-10-231-1/+1
| | | | llvm-svn: 166456
* Ugly ugly hack for libstdc++-4.6 and libstdc++-4.7 compatibility. TheseRichard Smith2012-10-233-3/+53
| | | | | | | | | | | | | | | | | libraries have an incorrect definition of std::common_type (inherited from a bug in the standard -- see LWG issue 2141), whereby they produce reference types when they should not. If we instantiate a typedef named std::common_type<...>::type, which is defined in a system header as decltype(... ? ... : ...), and the decltype produces a reference type, convert it to the non-reference type. (This doesn't affect any LWG2141-conforming implementation of common_type, such as libc++'s, because the default implementation of common_type<...>::type isn't supposed to produce a reference type.) This is horrible. I'm really sorry. :( Better ideas appreciated! llvm-svn: 166455
* Explain why DenseMap is still used here instead of MapVector.Julien Lerouge2012-10-231-1/+9
| | | | llvm-svn: 166454
* <rdar://problem/12500212> Test case for the new plugin featureEnrico Granata2012-10-235-1/+131
| | | | llvm-svn: 166453
* Handle implicitly-included PCH files the same way asDouglas Gregor2012-10-222-10/+17
| | | | | | | | implicitly-included PTH files during initialization, delaying the mapping down to the "original source file" until after later in the initialization process. llvm-svn: 166452
* [ms-inline-asm] Implement _emit directive (which is roughly equivalent to ↵Eli Friedman2012-10-222-47/+68
| | | | | | | | .byte). <rdar://problem/12470345>. llvm-svn: 166451
* Added support for zero-length arrays at the endSean Callanan2012-10-223-5/+9
| | | | | | | | of structures, and added a testcase. <rdar://problem/12551591> llvm-svn: 166450
* Allow clients of the AST reader to specify what kinds of AST loadDouglas Gregor2012-10-225-81/+175
| | | | | | | | | | failures they know how to tolerate, e.g., out-of-date input files or configuration/version mismatches. Suppress the corresponding diagnostics if the client can handle it. No clients actually use this functionality, yet. llvm-svn: 166449
* When a block ends in an indirect branch, add its successors to the machine ↵Bill Wendling2012-10-222-0/+51
| | | | | | | | | | basic block. The CFG of the machine function needs to know that the targets of the indirect branch are successors to the indirect branch. <rdar://problem/12529625> llvm-svn: 166448
* Collapse ASTReader::ReadSLocEntryRecord() into its only caller,Douglas Gregor2012-10-222-9/+3
| | | | | | ReadSLocEntry(). No functionality change. llvm-svn: 166447
* Distinguish the various kinds of AST file loading failures:Douglas Gregor2012-10-225-121/+130
| | | | | | | | file corruption, compiler version mismatch, target/language configuration mismatch, out-of-date AST file. No functionality change yet. llvm-svn: 166446
* Add support for annotated disassembly output for X86 and arm.Kevin Enderby2012-10-229-133/+570
| | | | | | | | | | | Per the October 12, 2012 Proposal for annotated disassembly output sent out by Jim Grosbach this set of changes implements this for X86 and arm. The llvm-mc tool now has a -mdis option to produced the marked up disassembly and a couple of small example test cases have been added. rdar://11764962 llvm-svn: 166445
* [Options] Add prefixes to options.Michael J. Spencer2012-10-2219-1120/+1297
| | | | | | | | | | | | | | Each option has a set of prefixes. When matching an argument such as -funroll-loops. First the leading - is removed as it is a prefix. Then a lower_bound search for "funroll-loops" is done against the option table by option name. From there each option prefix + option name combination is tested against the argument. This allows us to support Microsoft style options where both / and - are valid prefixes. It also simplifies the cases we already have where options come in both - and -- forms. Almost every option for gnu-ld happens to have this form. llvm-svn: 166444
* Proper copyright noticeEnrico Granata2012-10-221-0/+9
| | | | llvm-svn: 166443
* ASTReader.cpp: Fix a warning. [-Wunused-variable]NAKAMURA Takumi2012-10-221-0/+1
| | | | llvm-svn: 166442
* Testcase change for r166440.Eli Friedman2012-10-221-1/+1
| | | | llvm-svn: 166441
* [ms-inline asm] Don't rewrite out parts of an inline-asm skipped by .if 0 ↵Eli Friedman2012-10-221-24/+1
| | | | | | | | and friends. It's unnecessary and makes the generated assembly less faithful to the original source. llvm-svn: 166440
* <rdar://problem/12524810>Greg Clayton2012-10-221-3/+6
| | | | | | | | | | | Fixed a crasher where if an invalid SBTarget was passed to: lldb::addr_t SBAddress::GetLoadAddress (const SBTarget &target) const; We would crash. llvm-svn: 166439
* Fix for PR13334. This prevents crashes that result from badly formedRichard Trieu2012-10-222-21/+50
| | | | | | expressions involving __has_include llvm-svn: 166438
* [ms-inline asm] Add the isOffsetOf() function.Chad Rosier2012-10-222-0/+10
| | | | | | Part of rdar://12470317 llvm-svn: 166436
* Iterating over a DenseMap<std::pair<BasicBlock*, unsigned>, PHINode*> is notJulien Lerouge2012-10-221-4/+4
| | | | | | | | | deterministic, replace it with a DenseMap<std::pair<unsigned, unsigned>, PHINode*> (we already have a map from BasicBlock to unsigned). <rdar://problem/12541389> llvm-svn: 166435
* [ms-inline asm] Test case for r166433.Chad Rosier2012-10-221-0/+8
| | | | llvm-svn: 166434
* [ms-inline asm] Add support for parsing the offset operator. Callback for Chad Rosier2012-10-221-5/+21
| | | | | | | CodeGen in the front-end not implemented yet. rdar://12470317 llvm-svn: 166433
* <rdar://problem/12479701> Use the plain pydoc pager to work around Python ↵Enrico Granata2012-10-221-3/+2
| | | | | | help() pagination conflicts with our I/O management llvm-svn: 166432
* Fix pre-commit refacto failure.Daniel Dunbar2012-10-221-1/+1
| | | | llvm-svn: 166431
* driver/Darwin: Follow up to last patch, M-class CPUs are AAPCS but not EABI.Daniel Dunbar2012-10-221-1/+3
| | | | llvm-svn: 166430
* Eliminate the redundancy between source-file information in the sourceDouglas Gregor2012-10-226-204/+203
| | | | | | | | | | manager block and input-file information in the control block. The source manager entries now point back into the control block. Input files are now lazily deserialized (if validation is disabled). Reduces Cocoa's PCH by the ~70k I added when I introduced the redundancy in r166251. llvm-svn: 166429
* driver/Darwin: Default to AAPCS for M-class CPUs.Daniel Dunbar2012-10-221-1/+10
| | | | | | | - This is an assumption that is currently hardwired into the backend, we need to do this in order for the frontend and backend to agree. llvm-svn: 166428
* Don't crash if the load/store pointer is not a GEP.Nadav Rotem2012-10-222-1/+58
| | | | | | Fix by Shivarama Rao <Shivarama.Rao@amd.com> llvm-svn: 166427
* <rdar://problem/12437442>Enrico Granata2012-10-2216-147/+490
| | | | | | | | | | | Given our implementation of ValueObjects we could have a scenario where a ValueObject has a dynamic type of Foo* at one point, and then its dynamic type changes to Bar* If Bar* has synthetic children enabled, by the time we figure that out, our public API is already vending SBValues wrapping a DynamicVO, instead of a SyntheticVO and there was no trivial way for us to change the SP inside an SBValue on the fly This checkin reimplements SBValue in terms of a wrapper, ValueImpl, that allows this substitutions on-the-fly by overriding GetSP() to do The Right Thing (TM) As an additional bonus, GetNonSyntheticValue() now works, and we can get rid of the ForceDisableSyntheticChildren idiom in ScriptInterpreterPython Lastly, this checkin makes sure the synthetic VOs get the correct m_value and m_data from their parents (prevented summaries from working in some cases) llvm-svn: 166426
* Add a testcase for the previous commit.Nadav Rotem2012-10-221-0/+7
| | | | llvm-svn: 166425
* Revert r166407 because it caused analyzer tests to crash and broke self-host ↵Argyrios Kyrtzidis2012-10-222-86/+60
| | | | | | bots. llvm-svn: 166424
* BBVectorize should ignore unreachable blocks.Hal Finkel2012-10-222-0/+45
| | | | | | | | | Unreachable blocks can have invalid instructions. For example, jump threading can produce self-referential instructions in unreachable blocks. Also, we should not be spending time optimizing unreachable code. Fixes PR14133. llvm-svn: 166423
* Add the "ForceSizeOpt" attribute.Nadav Rotem2012-10-225-5/+15
| | | | | | | | | | | | Patch by Quentin Colombet <qcolombet@apple.com> Original description: """ The attached patch is the first step to have a better control on Oz related optimizations. The Oz optimization level focuses on code size, thus I propose to add an attribute called ForceSizeOpt. """ llvm-svn: 166422
* Implement hasParent()-matcher.Daniel Jasper2012-10-224-7/+73
| | | | llvm-svn: 166421
* <rdar://problem/12473003> Greg Clayton2012-10-225-10/+96
| | | | | | | | Allow type searches to specify a type keyword when searching for type. Currently supported type keywords are: struct, class, union, enum, and typedef. So now you can search for types with a string like "struct foo". llvm-svn: 166420
* Rename a variable.Nadav Rotem2012-10-221-13/+13
| | | | llvm-svn: 166410
* Vectorizer: optimize the generation of selects. If the condition is uniform, ↵Nadav Rotem2012-10-222-6/+53
| | | | | | generate a scalar-cond select (i1 as selector). llvm-svn: 166409
* Update the loop vectorizer docs.Nadav Rotem2012-10-221-17/+38
| | | | llvm-svn: 166408
* Reapply r166405, teaching tailcallelim to be smarter about nocapture, with aNick Lewycky2012-10-222-60/+86
| | | | | | | | | | | | | | | very small but very important bugfix: bool shouldExplore(Use *U) { Value *V = U->get(); if (isa<CallInst>(V) || isa<InvokeInst>(V)) [...] should have read: bool shouldExplore(Use *U) { Value *V = U->getUser(); if (isa<CallInst>(V) || isa<InvokeInst>(V)) Fixes PR14143! llvm-svn: 166407
* Revert r166405, "Teach TailRecursionElimination to consider 'nocapture' when ↵NAKAMURA Takumi2012-10-222-71/+58
| | | | | | | | deciding whether" It broke selfhosting stage2 in several builders. llvm-svn: 166406
* Teach TailRecursionElimination to consider 'nocapture' when deciding whetherNick Lewycky2012-10-212-58/+71
| | | | | | calls can be marked tail. llvm-svn: 166405
* PR14141 (part of DR1351): An implicitly-deduced "any" exception specificationRichard Smith2012-10-213-11/+61
| | | | | | | produces an exception of 'noexcept(false)' and is thus compatible with an explicit exception specification of 'noexcept(false)'. llvm-svn: 166404
* autoconf/cmake: Always require isl code generation.Tobias Grosser2012-10-2112-149/+7
| | | | | | | | This change ensures that isl is only detected if it includes code generation support. This allows us to remove a lot of conditional compilation and also avoids missing test cases in case the feature is not available. llvm-svn: 166403
OpenPOWER on IntegriCloud