summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* No need to call functions which do the same thing as the default.Bill Wendling2012-10-031-4/+0
| | | | llvm-svn: 165135
* Remove assert that's too restrictive.Bill Wendling2012-10-031-1/+4
| | | | llvm-svn: 165134
* objective-C arc: Warn under arc about a use of an ivar inside a blockFariborz Jahanian2012-10-035-1/+46
| | | | | | | that doesn't have a 'self' as this implicitly captures 'self' and could create retain cycles. Provide fixit. // rdar://11194874 llvm-svn: 165133
* Add methods which query for the specific attribute instead of using theBill Wendling2012-10-035-16/+148
| | | | | | enums. This allows for better encapsulation of the Attributes class. llvm-svn: 165132
* Implement Adnroid MIPS toolchain support:Simon Atanasyan2012-10-0316-4/+100
| | | | | | | | | | 1. Add mipsel-linux-android to the list of valid MIPS target triples. 2. Add <gcc install path>/mips-r2 to the list of toolchain specific path prefixes if target is mipsel-linux-android. The patch reviewed by Logan Chien. llvm-svn: 165131
* Fix failure of newly added test, by using %clang instead of %clang_cc1Preston Gurd2012-10-031-1/+1
| | | | | | and by specifying a target. llvm-svn: 165130
* Adds a test to verify that Clang does the optimization to use aPreston Gurd2012-10-031-0/+32
| | | | | | | | | | fast div/rem instruction (for Intel Atom). Test case for llvm commit 165126. Patch by Tyler Nowicki. llvm-svn: 165129
* Implement .rel relocation for R_ARM_ABS32 in MCJIT.Tim Northover2012-10-032-2/+26
| | | | | | Patch by Amara Emerson. llvm-svn: 165128
* This Patch corrects a problem whereby the optimization to use a faster dividePreston Gurd2012-10-031-5/+15
| | | | | | | | | | | | | | instruction (for Intel Atom) was not being done by Clang, because the type context used by Clang is not the default context. It fixes the problem by getting the global context types for each div/rem instruction in order to compare them against the types in the BypassTypeMap. Tests for this will be done as a separate patch to Clang. Patch by Tyler Nowicki. llvm-svn: 165126
* A DAGCombine optimization for mergeing consecutive stores to memory. The ↵Nadav Rotem2012-10-032-0/+668
| | | | | | | | | | | | | | | | | | | | | optimization is not profitable in many cases because modern processors perform multiple stores in parallel and merging stores prior to merging requires extra work. We handle two main cases: 1. Store of multiple consecutive constants: q->a = 3; q->4 = 5; In this case we store a single legal wide integer. 2. Store of multiple consecutive loads: int a = p->a; int b = p->b; q->a = a; q->b = b; In this case we load/store either ilegal vector registers or legal wide integer registers. llvm-svn: 165125
* Revert "InlineObjCInstanceMethod.m: Remove lines introduced in r165079."Jordan Rose2012-10-031-1/+26
| | | | | | | | | ...and fix the run line so that the expected warnings are the same on all platforms. This reverts r165088 / d09074f0ca06626914108f1c0d4e70adeb851e01. llvm-svn: 165124
* Set up MCSchedModel after detecting the CPU type in X86SubTarget.Preston Gurd2012-10-031-0/+4
| | | | | | | | | Corrects a problem whereby MCSchedModel was not being set up when the CPU type was auto-detected. Patch by Andy Zhang. llvm-svn: 165122
* Set ASAN_NEEDS_SEGV=0 on Android only.Alexander Potapenko2012-10-031-1/+1
| | | | llvm-svn: 165120
* clang-check: Add clangRewriteCore.a to the Makefile build to make it link again.Benjamin Kramer2012-10-031-2/+2
| | | | llvm-svn: 165119
* Matching block names with FileCheck requires asserts.Benjamin Kramer2012-10-031-0/+1
| | | | llvm-svn: 165118
* CodeGen: Fix a silly typo when emitting subs of block addresses.Benjamin Kramer2012-10-032-2/+14
| | | | | | Part of PR14005. llvm-svn: 165117
* When mangling an APSInt with the ms abi, make sure to look at all nibbles.Nico Weber2012-10-032-1/+10
| | | | | | Currently, it's ignored if the number of set bits isn't divisible by 4. llvm-svn: 165116
* As opposed to the clang-fixit tool described onDaniel Jasper2012-10-033-5/+74
| | | | | | | | | http://clang.llvm.org/docs/ClangTools.html, this adds -fixit option to clang-check. Thus, clang-check can become a general-purpose tool to run clang capitalizing on the info stored in a compilation database. Review: http://llvm-reviews.chandlerc.com/D51 llvm-svn: 165110
* tsan: update the test for new atomic enumsDmitry Vyukov2012-10-031-80/+80
| | | | llvm-svn: 165109
* tsan: update the test for new atomic enumsDmitry Vyukov2012-10-031-40/+40
| | | | llvm-svn: 165108
* tsan: prepare for migration to new memory_order enum values (ABI compatible)Dmitry Vyukov2012-10-031-1/+2
| | | | llvm-svn: 165107
* tsan: prepare for migration to new memory_order enum values (ABI compatible)Dmitry Vyukov2012-10-032-16/+37
| | | | llvm-svn: 165106
* Fix typo in comments.Logan Chien2012-10-031-1/+1
| | | | llvm-svn: 165105
* Comment to XML conversion: escape XML special chars correctly; use correctDmitri Gribenko2012-10-035-77/+106
| | | | | | regex for version tuples. llvm-svn: 165104
* The top-level clang Makefile is #included into other Makefiles. (sigh) So weBill Wendling2012-10-032-2/+6
| | | | | | | | can't have the logic here to add in the 'tools/{driver,libclang}' directories, because they will be added in for ALL Makefiles which #include the top-level one. Place the logic into the 'tools' Makefile. llvm-svn: 165103
* Fixed a bug in the ExecutionDependencyFix pass that caused dependencies to ↵Silviu Baranga2012-10-032-3/+28
| | | | | | not propagate through implicit defs. llvm-svn: 165102
* Fix an issue where we failed to adjust the alignment constraint onChandler Carruth2012-10-032-0/+37
| | | | | | | | a memcpy to reflect that '0' has a different meaning when applied to a load or store. Now we correctly use underaligned loads and stores for the test case added. llvm-svn: 165101
* Try to use a better set of abstractions for computing the alignmentChandler Carruth2012-10-032-20/+87
| | | | | | | | | | | | | | | | | | | | necessary during rewriting. As part of this, fix a real think-o here where we might have left off an alignment specification when the address is in fact underaligned. I haven't come up with any way to trigger this, as there is always some other factor that reduces the alignment, but it certainly might have been an observable bug in some way I can't think of. This also slightly changes the strategy for placing explicit alignments on loads and stores to only do so when the alignment does not match that required by the ABI. This causes a few redundant alignments to go away from test cases. I've also added a couple of tests that really push on the alignment that we end up with on loads and stores. More to come here as I try to fix an underlying bug I have conjectured and produced test cases for, although it's not clear if this bug is the one currently hitting dragonegg's gcc47 bootstrap. llvm-svn: 165100
* Revert 165051-165049 while looking into the foreach.m failure inEric Christopher2012-10-035-95/+27
| | | | | | more detail. llvm-svn: 165099
* Add the missing backslash-newline which was causing make errors.Bill Wendling2012-10-031-2/+2
| | | | llvm-svn: 165098
* Make sure 32-bit ASan runtime is available on 64-bit Linux platformsAlexey Samsonov2012-10-031-0/+4
| | | | llvm-svn: 165097
* Build ASan runtime on Linux for both x86_64 and i386, same as we do with ↵Alexey Samsonov2012-10-031-5/+2
| | | | | | full compiler_rt and libprofile llvm-svn: 165096
* While I'm here, resync a %select with the enum definition it selects on.Nico Weber2012-10-031-2/+2
| | | | | | | | | | | | | * nullptr used to be mapped to ERROR, now mapped to nullptr * integral was missing * expressions now have their own error message, so they won't reach this. Map them to ERROR. Note that clang usually crashes before emitting this diagnostic anyway (see PR13984), so this change alone doesn't have an observable effect. It makes the code more correct though. llvm-svn: 165095
* Fix doxygen comment to match function name.Craig Topper2012-10-031-1/+1
| | | | llvm-svn: 165094
* Move expression mangling in the microsoft mangler to its own function.Nico Weber2012-10-031-10/+21
| | | | | | | | | | This matches what's done in ItaniumMangle and makes it a bit easier to implement mangling for more expressions. Also use the slightly nicer "not yet implemented" error message from there. No functionality change (except for the different error message). llvm-svn: 165093
* Remove unused function that used to get itineraries from SubTargetFeatures. ↵Craig Topper2012-10-032-28/+0
| | | | | | This is done from MCSubTargetInfo these days. llvm-svn: 165092
* Replace a default: with an explicit list of cases. No functionality change.Nico Weber2012-10-031-1/+6
| | | | llvm-svn: 165091
* Update the block specification for some long-settled subleties.John McCall2012-10-031-9/+15
| | | | llvm-svn: 165090
* Fix 80-column violationCraig Topper2012-10-031-2/+2
| | | | llvm-svn: 165089
* InlineObjCInstanceMethod.m: Remove lines introduced in r165079. It broke ↵NAKAMURA Takumi2012-10-031-25/+0
| | | | | | | | | | some builds, on FreeBSD, Linux and Windows. error: 'warning' diagnostics expected but not seen: Line 94: types are incompatible 1 error generated. llvm-svn: 165088
* [PCH] Fix serialization of an ImportDecl.Argyrios Kyrtzidis2012-10-032-0/+2
| | | | | | | | ImportDecl's module ID was not written out and the reader accepted as module ID the serialized: Record.push_back(!IdentifierLocs.empty()); llvm-svn: 165087
* Set the file entry for a Module* that was created during deserializationArgyrios Kyrtzidis2012-10-035-5/+12
| | | | | | of a module file. llvm-svn: 165086
* Add a FIXME.Argyrios Kyrtzidis2012-10-031-0/+1
| | | | llvm-svn: 165085
* Introduce ASTConsumer::HandleImplicitImportDecl() callback that is invokedArgyrios Kyrtzidis2012-10-033-3/+17
| | | | | | when an ImportDecl that was implicitly created due to an inclusion directive. llvm-svn: 165084
* Some renames to use the 'visitor' nomenclature, no functionality change.Argyrios Kyrtzidis2012-10-033-5/+5
| | | | llvm-svn: 165083
* Improve C++11 attribute parsing.Michael Han2012-10-039-77/+145
| | | | | | | | - General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST. - Add support to parse arguments of attributes that in 'gnu' namespace. - Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic. llvm-svn: 165082
* test/ExecutionEngine/MCJIT: MCJIT should work also on mingw.NAKAMURA Takumi2012-10-032-2/+2
| | | | | FIXME: Also cygwin? llvm-svn: 165081
* The kernel loading code is now isolated in the DynamicLoaderDarwinKernel;Jason Molenda2012-10-035-189/+65
| | | | | | | | | | remove the duplicates of this code in ProcessGDBRemote and ProcessKDP. These two Process plugins will hardcode their DynamicLoader name to be the DynamicLoaderDarwinKernel so the correct DynamicLoader is picked, and return the kernel load address as the ImageInfosAddress. <rdar://problem/12417038> llvm-svn: 165080
* [analyzer] Adjust the return type of an inlined devirtualized method call.Jordan Rose2012-10-033-6/+109
| | | | | | | | | | | | | | | | | | | | | | | | | In C++, overriding virtual methods are allowed to specify a covariant return type -- that is, if the return type of the base method is an object pointer type (or reference type), the overriding method's return type can be a pointer to a subclass of the original type. The analyzer was failing to take this into account when devirtualizing a method call, and anything that relied on the return value having the proper type later would crash. In Objective-C, overriding methods are allowed to specify ANY return type, meaning we can NEVER be sure that devirtualizing will give us a "safe" return value. Of course, a program that does this will most likely crash at runtime, but the analyzer at least shouldn't crash. The solution is to check and see if the function/method being inlined is the function that static binding would have picked. If not, check that the return value has the same type. If the types don't match, see if we can fix it with a derived-to-base cast (the C++ case). If we can't, return UnknownVal to avoid crashing later. <rdar://problem/12409977> llvm-svn: 165079
* [analyzer] Push evalDynamicCast and evalDerivedToBase up to Store.Jordan Rose2012-10-033-103/+95
| | | | | | | | | These functions are store-agnostic, and would benefit from information in DynamicTypeInfo but gain nothing from the store type. No intended functionality change. llvm-svn: 165078
OpenPOWER on IntegriCloud