summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* <rdar://problem/13509689> Introduce -module-file-info option that provides ↵Douglas Gregor2013-03-2718-10/+234
| | | | | | | | | | | information about a particular module file. This option can be useful for end users who want to know why they ended up with a ton of different variants of the "std" module in their module cache. This problem should go away over time, as we reduce the need for module variants, but it will never go away entirely. llvm-svn: 178148
* Cleanup the simplify_type implementation.Rafael Espindola2013-03-279-114/+67
| | | | | | | | | | | | | | | | | | | | As far as simplify_type is concerned, there are 3 kinds of smart pointers: * const correct: A 'const MyPtr<int> &' produces a 'const int*'. A 'MyPtr<int> &' produces a 'int *'. * always const: Even a 'MyPtr<int> &' produces a 'const int*'. * no const: Even a 'const MyPtr<int> &' produces a 'int*'. This patch then does the following: * Removes the unused specializations. Since they are unused, it is hard to know which kind should be implemented. * Make sure we don't drop const. * Fix the default forwarding so that const correct pointer only need one specialization. * Simplifies the existing specializations. llvm-svn: 178147
* Add const in preparation for a simplify_type change in llvm.Rafael Espindola2013-03-271-1/+1
| | | | llvm-svn: 178146
* R600/SI: add SETO/SETUO patternsChristian Konig2013-03-273-0/+40
| | | | | | | | 6 more piglit tests. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 178145
* Silence warning about mixing || in &&, fix up 80-cols.Benjamin Kramer2013-03-271-1/+3
| | | | llvm-svn: 178144
* Add another expected note. Two errors => two notes.Tim Northover2013-03-271-1/+1
| | | | llvm-svn: 178143
* Print PPC ZERO as 0 (not r0) even on DarwinHal Finkel2013-03-272-5/+5
| | | | | | | It seems that the Darwin PPC assembler requires r0 to be written as 0 when it means 0 (at least in lwarx/stwcx.). Fixes PR15605. llvm-svn: 178142
* Switch to LLVM support function abs64 to keep VS2008 happy.Tim Northover2013-03-272-4/+4
| | | | llvm-svn: 178141
* Disable ASan/MSan symbolization of reports in tests.Evgeniy Stepanov2013-03-272-12/+0
| | | | | | It was using an instrumented symbolizer binary, which is a potential fork bomb. llvm-svn: 178140
* Disable ASan/MSan symbolization of reports in tests.Evgeniy Stepanov2013-03-272-11/+0
| | | | | | It was using an instrumented symbolizer binary, which is a potential fork bomb. llvm-svn: 178139
* Mark comment-to-html-xml-conversion test as XFAIL:msan, in addition to valgrind.Evgeniy Stepanov2013-03-271-0/+1
| | | | llvm-svn: 178138
* Fix target-customized spilling in the register scavengerHal Finkel2013-03-271-1/+1
| | | | | | | | | | | | This is a follow-up to r178073 (which should actually make target-customized spilling work again). I still don't have a regression test for this (but it would be good to have one; Thumb 1 and Mips16 use this callback as well). Patch by Richard Sandiford. llvm-svn: 178137
* <rdar://problem/13317030> Consider using directives when performing ↵Douglas Gregor2013-03-272-1/+45
| | | | | | unqualified name lookup into declarations contexts represented by the qualified-id but not in the actual scope hierarchy. llvm-svn: 178136
* Disable Initialize.MultipleThreads test under MemorySanitizer.Evgeniy Stepanov2013-03-271-1/+1
| | | | | | Fails due to insufficient thread stack. llvm-svn: 178135
* Enabling the generation of dependency breakers for partial updates on ↵Silviu Baranga2013-03-274-11/+47
| | | | | | Cortex-A15. Also fixing a small bug in getting the update clearence for VLD1LNd32. llvm-svn: 178134
* Split line commentsAlexander Kornienko2013-03-272-38/+111
| | | | | | | | | | | | | | | | Summary: Split line comments that exceed column limit + fixed leading whitespace handling when splitting block comments. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D577 llvm-svn: 178133
* Hexagon: Disable optimizations at O0.Jyotsna Verma2013-03-271-18/+31
| | | | llvm-svn: 178132
* [ASan] Demangle global names in error reports.Alexey Samsonov2013-03-272-1/+24
| | | | llvm-svn: 178131
* Improve performance of LinkModules when linking with modules with large ↵James Molloy2013-03-271-29/+44
| | | | | | numbers of functions which link lazily. Instead of creating and destroying function prototypes irrespective of if they are used, only create them if they are used. llvm-svn: 178130
* [TSan] Fixup for r178128: verify that TSan indeed doesn't report raceAlexey Samsonov2013-03-271-0/+2
| | | | llvm-svn: 178129
* [TSan] Run test output through FileCheckAlexey Samsonov2013-03-271-1/+3
| | | | llvm-svn: 178128
* R600/SI: add cummuting of rev instructionsChristian Konig2013-03-278-37/+90
| | | | | | | Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Tested-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 178127
* R600/SI: add mulhu/mulhs patternsChristian Konig2013-03-274-2/+36
| | | | | | | Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Tested-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 178126
* R600/SI: add srl/sha patterns for SIChristian Konig2013-03-273-2/+34
| | | | | | | Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Tested-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 178125
* Allocate r0 on PPCHal Finkel2013-03-272-2/+18
| | | | | | | The R0 register can now be allocated because instructions that cannot use R0 as a GPR have been appropriately marked. llvm-svn: 178123
* Fix testcase to add expected note.Bill Wendling2013-03-271-1/+1
| | | | llvm-svn: 178122
* Use the PPC no-r0 class on the TOC LD pseudosHal Finkel2013-03-271-2/+2
| | | | | | | | | | The register parameter in these instructions becomes the base register in an r+i ld instruction (and, thus, cannot be r0). This is not yet testable because we don't yet allocate r0 (and even then any test would be very fragile). llvm-svn: 178121
* Pass the diagnostic in for better error messages.Bill Wendling2013-03-271-8/+6
| | | | llvm-svn: 178120
* Apply the no-r0 register class to the PPC SELECT_CC_I[4|8] pseudosHal Finkel2013-03-271-2/+7
| | | | | | | | | | Either operand of these pseudo instructions can be transformed into the first operand of an isel instruction (and this operand cannot be r0). This is not yet testable because we don't yet allocate r0 (and even when we do, any test would be very fragile). llvm-svn: 178119
* Apply the no-r0 class to PPC TOC ADDI[S] pseudo instructionsHal Finkel2013-03-271-9/+9
| | | | | | | | | | | | Like the addi/addis instructions themselves, these pseudo instructions also cannot have r0 as their register parameter (because it will be interpreted as the value 0). This is not yet testable because we don't yet allocate r0 (and even when we do, any regression test would be very fragile because it would depend on the register allocator heuristics). llvm-svn: 178118
* [lib/Headers] Break the module import cycle between _Builtin_intrinsics.sse ↵Argyrios Kyrtzidis2013-03-272-1/+2
| | | | | | | | | | | | | | | | | and _Builtin_intrinsics.sse2 Module "sse" implicitly exports module "sse2". This is bad because we also have module "sse2" export module "sse" (as intended) so we end up with a cycle in the module import graph: 1. sse2 -> (also imports) sse 2. sse -> (also imports) sse2 To eliminate the cycle remove 2.; importing module "sse2" will also import module "sse", but just importing module "sse" will not also import module "sse2". rdar://13240552 llvm-svn: 178117
* Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVMDaniel Dunbar2013-03-272-71/+16
| | | | | | bootstrap with libc++. llvm-svn: 178116
* Fixed a problem where inline assembly errors causedSean Callanan2013-03-271-1/+20
| | | | | | | | LLDB to crash. <rdar://problem/13497915> llvm-svn: 178115
* Remove the link register from the GPR classes on PowerPC.Bill Schmidt2013-03-278-17/+17
| | | | | | | | | | | | | | | Some implementation detail in the forgotten past required the link register to be placed in the GPRC and G8RC register classes. This is just wrong on the face of it, and causes several extra intersection register classes to be generated. I found this was having evil effects on instruction scheduling, by causing the wrong register class to be consulted for register pressure decisions. No code generation changes are expected, other than some minor changes in instruction order. Seven tests in the test bucket required minor tweaks to adjust to the new normal. llvm-svn: 178114
* Don't use a "uintptr_t" for the metadata key, use a "void *". This removes ↵Greg Clayton2013-03-2712-73/+101
| | | | | | all of the casts that were being used and cleans the code up a bit. Also added the ability to dump the metadata. llvm-svn: 178113
* Prune more stuff out of the build and source folders after building clang.Greg Clayton2013-03-271-1/+3
| | | | llvm-svn: 178112
* Implement compiler intrinsics needed for compatibility with MSVC 2012 ↵Joao Matos2013-03-277-56/+230
| | | | | | | | <type_traits>. Patch by me and Ryan Molden. llvm-svn: 178111
* [lib/Headers] Define NULL as __DARWIN_NULL when on __APPLE__.Argyrios Kyrtzidis2013-03-271-1/+3
| | | | | | This makes it identical with the system definition. llvm-svn: 178110
* [modules] Before marking the module imported macros as ambiguous, check if ↵Argyrios Kyrtzidis2013-03-273-13/+61
| | | | | | | | | | | | | this is a case where the system macro uses a not identical definition compared to a macro from the clang headers. For example (these come from different modules): \#define LONG_MAX __LONG_MAX__ (clang's limits.h) \#define LONG_MAX 0x7fffffffffffffffL (system's limits.h) in which case don't mark them ambiguous to avoid the "ambiguous macro expansion" warning. llvm-svn: 178109
* Remove IdentifierInfo::setHadMacroDefinition()Argyrios Kyrtzidis2013-03-271-3/+0
| | | | | | It's not used anymore. llvm-svn: 178108
* [PCH/modules] Remove HiddenName::MacroUndefArgyrios Kyrtzidis2013-03-272-21/+4
| | | | llvm-svn: 178107
* [Preprocessor] Remove PPMutationListener.Argyrios Kyrtzidis2013-03-2711-95/+2
| | | | | | It's not used anymore. llvm-svn: 178106
* [modules] Re-enable the "ambiguous expansion of macro" warning.Argyrios Kyrtzidis2013-03-272-25/+24
| | | | | | | | | | Also update "test/Modules/macros.c" to test modified semantics: -When there is an ambiguous macro, expand using the latest introduced version, not the first one. -#undefs in submodules cause the macro to not be exported by that submodule, it doesn't cause undefining of macros in the translation unit that imported that submodule. This reduces macro namespace interference across modules. llvm-svn: 178105
* Revised to use MemoryBuffer. Removed redundant llvm:: qualifiers. Removed ↵John Thompson2013-03-271-117/+139
| | | | | | unnecessary c_str() calls. Reformatted with clang-format. llvm-svn: 178104
* PR15597: Fix a confusion between the implicit exception specification and theRichard Smith2013-03-273-4/+26
| | | | | | | | uninstantiated exception specification when a special member within a class template is both defaulted and given an exception specification on its first declaration. llvm-svn: 178103
* If we're unable to create the TargetMachine, then just quit producing theChad Rosier2013-03-272-1/+4
| | | | | | | backend output; there's no need to report a fatal error. This reverts r178042. Part of rdar://13295753 and rdar://13401547 llvm-svn: 178102
* Added back in the test for arc-annotations.Michael Gottesman2013-03-271-0/+307
| | | | | | | | | The test was removed since I had not turned off the test during release builds. This fails since ARC annotations support is conditionally compiled out during release builds. I added the proper requires header to assuage this issue. llvm-svn: 178101
* Update debug info test for schema change made to LLVM.David Blaikie2013-03-271-3/+3
| | | | | | | This accounts for the addition of another field to DIScopes that will be used to store a list of DIImportedModules in the future. llvm-svn: 178100
* Adding DIImportedModules to DIScopes.David Blaikie2013-03-2799-1354/+1473
| | | | | | | | | | | | This is just the basic groundwork for supporting DW_TAG_imported_module but I wanted to commit this before pushing support further into Clang or LLVM so that this rather churny change is isolated from the rest of the work. The major churn here is obviously adding another field (within the common DIScope prefix) to all DIScopes (files, classes, namespaces, lexical scopes, etc). This should be the last big churny change needed for DW_TAG_imported_module/using directive support/PR14606. llvm-svn: 178099
* Make the -Wreinterpret-base-class logic safe against invalidJohn McCall2013-03-272-6/+62
| | | | | | | declarations at any point. Patch by Alexander Zinenko, and report by Richard Smith. llvm-svn: 178098
OpenPOWER on IntegriCloud