summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Attempt to fix buildbots by dropping the -LABEL from some FileCheck patterns.Bob Wilson2014-03-061-2/+2
| | | | llvm-svn: 203090
* Fix warnings about an variable only used in asserts.Ahmed Charles2014-03-061-0/+3
| | | | llvm-svn: 203089
* When a client asks for a queue pending item's extended backtrace,Jason Molenda2014-03-067-9/+60
| | | | | | | | | | | hold a strong pointer to that extended backtrace thread in the Process just like we do for asking a thread's extended backtrace. Also, give extended backtrace threads an invalid ThreadIndexID number. We'll still give them valid thread_id's. Clients who want to know the original thread's IndexID can call GetExtendedBacktraceOriginatingIndexID(). <rdar://problem/16126034> llvm-svn: 203088
* [OPENMP] Clause 'num_threads'Alexey Bataev2014-03-0617-17/+298
| | | | llvm-svn: 203087
* Add <cstddef> for use of std::ptrdiff_t.Ahmed Charles2014-03-061-0/+1
| | | | llvm-svn: 203086
* PGO: add instrumentation for Objective-C methods.Bob Wilson2014-03-064-8/+58
| | | | llvm-svn: 203085
* Fix break by qualifying ptrdiff_t with std::.Ahmed Charles2014-03-061-2/+2
| | | | llvm-svn: 203084
* Replace OwningPtr<T> with std::unique_ptr<T>.Ahmed Charles2014-03-06167-654/+556
| | | | | | | | | | This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. llvm-svn: 203083
* DebugInfo: Tag units as having been indexed in GNU pubnames by using a ↵David Blaikie2014-03-063-13/+7
| | | | | | | | | | DW_AT_GNU_pubnames of DW_FORM_flag(_present) rather than sec_offsets to the pubnames/types sections This is consistent with GDB ToT and reduces the number of relocations in (type and compile) units, substantially reducing relocations and debug size in fission + type units builds. llvm-svn: 203082
* [OPENMP] Added option -fopenmp=libiomp5|libgompAlexey Bataev2014-03-0617-34/+134
| | | | llvm-svn: 203081
* Remove 'break' dominated by 'return' in 'EmitBuiltinExpr'.Ted Kremenek2014-03-061-1/+0
| | | | llvm-svn: 203080
* Remove 2 dead 'break' statements. The 'break' usage in this switch is ↵Ted Kremenek2014-03-061-2/+0
| | | | | | inconsistent, making this hard to see. llvm-svn: 203079
* Remove dead return in Parser::MayBeDesignationStart().Ted Kremenek2014-03-061-2/+0
| | | | llvm-svn: 203078
* Remove dead return in BugReporter (found via -Wunreachable-code).Ted Kremenek2014-03-061-4/+2
| | | | llvm-svn: 203077
* Allow constant folding of copysignKarthik Bhat2014-03-062-0/+56
| | | | llvm-svn: 203076
* PGO: Use the main file name to help distinguish functions with local linkage.Bob Wilson2014-03-065-23/+73
| | | | | | | | | | | | In addition, for all functions, use the name from the llvm::Function to identify the function in the profile data. Compute that "function name", including the file name for local functions, once when assigning the PGO counters and store it in the CodeGenPGO class. Move the code to add InlineHint and Cold attributes out of StartFunction(), because the "function name" string isn't available at that point. llvm-svn: 203075
* PGO: Rename variables to avoid referring to the "MangledName" of a function.Bob Wilson2014-03-062-19/+18
| | | | | | | | | | | | For C++ functions, we will continue to use the mangled name to identify functions in the PGO profile data, but this name is confusing for things like Objective-C methods. For functions with local linkage, we're also going to include the file name to help distinguish those functions, so this changes to use more generic variable names. No functional changes. llvm-svn: 203074
* Refactor PGO code in preparation for handling non-C/C++ code.Bob Wilson2014-03-063-12/+11
| | | | | | | | | | | Move the PGO.assignRegionCounters() call out of StartFunction, because that function is called from many places where it does not make sense to do PGO instrumentation (e.g., compiler-generated helper functions). Change several functions to take a StringRef argument for the unique name associated with a function, so that the name can be set differently for things like Objective-C methods and block literals. llvm-svn: 203073
* PGO: don't emit counter increment if no counters have been allocated.Bob Wilson2014-03-061-1/+1
| | | | | | | | I hit this while debugging another issue where my sources were in an inconsistent state, so I don't have a testcase. Regardless, this check is simpler and more direct than checking if the option is enabled. llvm-svn: 203072
* [Modules] Fix a layering issue that is actually impacting the modulesChandler Carruth2014-03-063-12/+22
| | | | | | | | | | | | | | | | | | | | | | selfhost. The 'Core.h' C-API header is part of the IR LLVM library. (One might even argue it should be called IR.h, but that's a separate point.) We can't include it into a Support header without violating the layering, and in a way that breaks modules. MemoryBuffer's opaque C type was being defined in the Core.h C-API header despite being in the Support library, and thus we ended up with this weird issue. It turns out that there were other constructs from the Support library in the Core.h header. This patch lifts all of them into Support.h and then includes that into Core.h. The only possible fallout is if someone was including Support.h and relying on Core.h to be visible for their own uses. Considering the narrow interface actually provided by the C-API for the Support library, this seems a very, very unlikely mistake. llvm-svn: 203071
* Do not derive __gnu_cxx::hash<T> from std::hash<T>.Peter Collingbourne2014-03-064-2/+149
| | | | | | | | | | | | | | | | | | Instead, define explicit specializations for the basic types listed in the SGI documentation. This solves two problems: 1) Helps avoid silent ODR violations caused by the absence of a user-supplied __gnu_cxx::hash specialization in cases where a std::hash specialization exists (e.g. for std::string). 2) __gnu_cxx::hash semantics are slightly different to those of std::hash (for example, the former may dereference a pointer argument) so it is inappropriate for __gnu_cxx::hash to receive std::hash specializations by default. Differential Revision: http://llvm-reviews.chandlerc.com/D2747 llvm-svn: 203070
* [Layering] Move GVMaterializer.h into the IR library where itsChandler Carruth2014-03-064-6/+6
| | | | | | | | | | | | | implementation already lived. After this commit, the only IR-library headers in include/llvm/* are ones related to the legacy pass infrastructure that I'm planning to leave there until the new one is farther along. The only other headers at the top level are linking and initialization aids that aren't really libraries but just headers. llvm-svn: 203069
* Temporarily disable the JIT loading detector till we figure out why it ↵Jim Ingham2014-03-061-3/+3
| | | | | | crashes when lldb follows through exec's... llvm-svn: 203068
* [Layering] Update include of Linker.h to match its move to a LinkerChandler Carruth2014-03-061-1/+1
| | | | | | subdirectory in LLVM r203065. llvm-svn: 203067
* [cleanup] Re-sort the standard library include lines.Chandler Carruth2014-03-061-1/+1
| | | | llvm-svn: 203066
* [Layering] Sink Linker.h into a Linker subdirectory to make itChandler Carruth2014-03-068-10/+10
| | | | | | consistent with every other sub-library header in LLVM. llvm-svn: 203065
* [Layering] Move InstVisitor.h into the IR library as it is prettyChandler Carruth2014-03-0620-22/+22
| | | | | | obviously coupled to the IR. llvm-svn: 203064
* Fix crash if a submodule overrides one of its own macros, and add support forRichard Smith2014-03-067-3/+31
| | | | | | | | submodule macro overriding within the same top-level module (necessary for the testcase to be remotely reasonable). Incidentally reduces the number of libc++ testsuite regressions with modules enabled from 7 to 6. llvm-svn: 203063
* Fix test from r203061Richard Trieu2014-03-061-3/+3
| | | | llvm-svn: 203062
* Suppress diagnostics during name lookup for absolute value type.Richard Trieu2014-03-062-0/+14
| | | | llvm-svn: 203061
* Change the tag on this iterator to bidir and implement enough operators to ↵Owen Anderson2014-03-061-1/+11
| | | | | | | | make it true. It ought to be possible to make this truly random access if anyone cares enough. llvm-svn: 203060
* Use private linkage for remaining GlobalVariables with private names.Rafael Espindola2014-03-064-18/+18
| | | | | | | | | | | | | | | | | | | | | | This patch changes the remaining GlobalVariables using "\01L" and "\01l" prefixes to use private linkage. What is strange about them is that they currently use WeakAnyLinkage. There is no comment stating why and that is really odd since the symbols are completely hidden, so it doesn't make sense for them to be weak. Clang revisions like r63329, r63408, r63770, r65761 set the linkage to weak, but don't say why. I suspect they were just copying llvm-gcc. In llvm-gcc I found r58599 and r56322 that set DECL_WEAK, but they were just syncing from the apple gcc. I am not exactly sure what that means, since the last commit to svn://gcc.gnu.org/svn/gcc/branches/apple was in 2006, 2 years earlier. In summary, I have no idea why weak linkage was being used :-( To quote John McCall, "Let’s try without it and see" :-) llvm-svn: 203059
* Fix issues in the NamedMDNode operand iterator, including those pointed out byOwen Anderson2014-03-061-8/+11
| | | | | | Chandler in review. llvm-svn: 203058
* DebugInfo: Shrink pubnames/pubtypes in the presence of type units by only ↵David Blaikie2014-03-063-34/+24
| | | | | | emitting pub sections for compile units llvm-svn: 203057
* Update clang test to cover for new treatment of intrinsics as readnone.Raul E. Silvera2014-03-061-4/+4
| | | | llvm-svn: 203056
* Add some helpful comments on DIEValue types that we expect to hash.Eric Christopher2014-03-061-1/+4
| | | | llvm-svn: 203055
* The PPC global base register cannot be r0Hal Finkel2014-03-061-2/+2
| | | | | | | | | The global base register cannot be r0 because it might end up as the first argument to addi or addis. Fixes PR18316. I don't have a small stable test case. llvm-svn: 203054
* Add a iterator and interator_range interface to the operands of a NamedMDNode.Owen Anderson2014-03-061-0/+48
| | | | | | | The iterator is a little complex because we don't want to expose the implementation details (TrackingVH) of the operand vector to clients. llvm-svn: 203053
* Construct GlobalValues with the correct linkage instead of using setLinkage.Rafael Espindola2014-03-061-8/+7
| | | | llvm-svn: 203052
* [-Wunreachable-code] Handle idiomatic do...while() with an uninteresting ↵Ted Kremenek2014-03-063-10/+20
| | | | | | | | | | condition. Sometimes do..while() is used to create a scope that can be left early. In such cases, the unreachable 'while()' test is not usually interesting unless it actually does something that is observable. llvm-svn: 203051
* Change the color of comment nodes from bright yellow to blue. Bright yellow onRichard Trieu2014-03-062-20/+31
| | | | | | | a white background is difficult to read. Also include a chart showing which colors are used by which elements in the AST dump. llvm-svn: 203050
* [Layering] Update include of DebugInfo.h which moved to the IR libraryChandler Carruth2014-03-061-2/+2
| | | | | | in LLVM r203046. llvm-svn: 203049
* [Layering] Update include of DebugInfo.h which moved to the IR libraryChandler Carruth2014-03-061-1/+1
| | | | | | in LLVM r203046. llvm-svn: 203047
* [Layering] Move DebugInfo.h into the IR library where its implementationChandler Carruth2014-03-0656-58/+58
| | | | | | already lives. llvm-svn: 203046
* Fixup PPC Darwin i1 argument handlingHal Finkel2014-03-062-0/+12
| | | | | | | Like on other targets, we need to zero_extend/truncate i1 args before copying them to GPRs. llvm-svn: 203045
* Rewrite the attribute hashing algorithm to use the type of the valueEric Christopher2014-03-061-32/+36
| | | | | | | | pointed to by the attribute, rather than the form as a first step to determining how to hash the values. No functional change intended. llvm-svn: 203044
* Objective-C properties. Fixes a crash in Sema where RHS ofFariborz Jahanian2014-03-062-4/+60
| | | | | | | the property assignment is an lvalue for an incomplete type. // rdar://15118128. Reviewed offline by John McCall. llvm-svn: 203043
* Switch to an idiomatic C++ erase/remove for this loop, and fix a bug in theRichard Smith2014-03-061-3/+5
| | | | | | | process (I don't believe it's possible to write a testcase for the bug with a non-checking STL implementation). llvm-svn: 203042
* When using CR bit registers on PPC32, handle the i1 vaarg caseHal Finkel2014-03-062-0/+18
| | | | | | | | When copying an i1 value into a GPR for a vaarg call, we need to explicitly zero-extend the i1 value (otherwise an invalid CRBIT -> GPR copy will be generated). llvm-svn: 203041
* [Layering] Update include for the move of DIBuilder.h to the IR libraryChandler Carruth2014-03-061-1/+1
| | | | | | in LLVM r203038. llvm-svn: 203039
OpenPOWER on IntegriCloud