summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix the help message for “one-shot”.Jim Ingham2013-04-091-1/+1
| | | | llvm-svn: 179110
* [ms-inline asm] Maintain a StringRef to reference a symbol in a parsed operand,Chad Rosier2013-04-093-38/+47
| | | | | | | | | | | rather than deriving the StringRef from the Start and End SMLocs. Using the Start and End SMLocs works fine for operands such as [Symbol], but not for operands such as [Symbol + ImmDisp]. All existing test cases that reference a variable exercise this patch. rdar://13602265 llvm-svn: 179109
* Objective-C: This patch fixes a none-issuance of warningFariborz Jahanian2013-04-092-1/+26
| | | | | | | | | | | when result type of protocol property and getter method differ by fixing a more serious problem. When a forward protocol declaration comes between its definition and its use in class protocol list, the forward protocol ast was being used in building the protocol list. // rdar://12522752 llvm-svn: 179108
* Fix comments before labels.Daniel Jasper2013-04-092-6/+14
| | | | | | | | | | | | | | | | | | | | | | Before: switch (...) { // a // b // c case first: break; } After: switch (...) { // a // b // c case first: break; } llvm-svn: 179107
* DAGCombiner: Fold a shuffle on CONCAT_VECTORS into a new CONCAT_VECTORS if ↵Benjamin Kramer2013-04-092-0/+72
| | | | | | | | | | | | | | | | | | | | possible. This pattern occurs in SROA output due to the way vector arguments are lowered on ARM. The testcase from PR15525 now compiles into this, which is better than the code we got with the old scalarrepl: _Store: ldr.w r9, [sp] vmov d17, r3, r9 vmov d16, r1, r2 vst1.8 {d16, d17}, [r0] bx lr Differential Revision: http://llvm-reviews.chandlerc.com/D647 llvm-svn: 179106
* Use virtual base registers on PPCHal Finkel2013-04-094-15/+216
| | | | | | | | | | | | On PowerPC, non-vector loads and stores have r+i forms; however, in functions with large stack frames these were not being used to access slots far from the stack pointer because such slots were out of range for the signed 16-bit immediate offset field. This increases register pressure because we need a separate register for each offset (when the r+r form is used). By enabling virtual base registers, we can deal with large stack frames without unduly increasing register pressure. llvm-svn: 179105
* Convert test PowerPC/2007-09-07-LoadStoreIdxForms to FileCheckHal Finkel2013-04-091-1/+5
| | | | llvm-svn: 179104
* Fix UseNullptr fails to replace c-style explicit cast in a return statementAriel J. Bernal2013-04-092-10/+22
| | | | | | | | | | | | This happens whenever there is a c-style explicit cast to nullptr not surrounded by parentheses following a return statement. - Added a white space before nullptr if the character before is alphanumeric when replacing the null pointer expression. - Simplified visitor - Addes tests llvm-svn: 179103
* Rewrite test/Linker tests to use FileCheck instead of grep.Eli Bendersky2013-04-0925-34/+57
| | | | | | | | | | Some translations here are not 1x1 because there are grep|grep chains that are non-trivial to implement in terms of FileCheck features. I made an effort for the tests to remain as similar as possible; do let me know if you notice anything fishy. The good news are that some buggy tests were fixed (grep | not grep - a bug waiting to happen). llvm-svn: 179102
* Again macros without trailing semicolons: don't care about declaration context.Alexander Kornienko2013-04-092-3/+123
| | | | | | | | | | | | | | | | Summary: Some codebases use these kinds of macros in functions, e.g. Chromium's IPC_BEGIN_MESSAGE_MAP, IPC_BEGIN_MESSAGE_HANDLER, etc. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D645 llvm-svn: 179099
* Improvements to clang-format integrations.Daniel Jasper2013-04-093-6/+58
| | | | | | | | This adds an emacs editor integration (thanks to Ami Fischman). Also pulls out the style into a variable for the vi integration and just uses clang-formats defaults style in clang-format-diff.py. llvm-svn: 179098
* Convert MachOObjectFile to a template.Rafael Espindola2013-04-096-925/+881
| | | | | | | For now it is templated only on being 64 or 32 bits. I will add little/big endian next. llvm-svn: 179097
* [sanitizer] Interceptors for wait*.Evgeniy Stepanov2013-04-099-31/+164
| | | | llvm-svn: 179096
* DWARF parser: Fix DWARF-2/3 incompatibility: size of DW_FORM_ref_addr is the ↵Alexey Samsonov2013-04-093-45/+35
| | | | | | same as DW_FORM_addr in DWARF2, and is 4/8 bytes on 32/64-bit DWARF starting from DWARF3. Adding a test for this is a huge pain - generating and uploading pre-built binary with DWARF3 debug info is way too ugly, and writing fine-grained unittests for DebugInfo is impossible, as it doesn't expose any headers in include/llvm. That said, I'm going to choose the second approach and submit the patch exposing DebugInfo headers for review soon enough. llvm-svn: 179095
* Mention the changes in the handling of language linkage in the release notes.Rafael Espindola2013-04-091-0/+6
| | | | llvm-svn: 179094
* [ms-cxxabi] Add "$$C" when mangling template arg QualTypesReid Kleckner2013-04-092-2/+18
| | | | | | Credit goes to Timur Iskhodzhanov for finding the problem and solution. llvm-svn: 179093
* One more follow-up to r179082 - parse PIC/PIE arguments even on platfroms ↵Alexey Samsonov2013-04-092-13/+18
| | | | | | that force default PIC (like Darwin x86-64), otherwise specifying -fPIC will produce bogus unused argument warning llvm-svn: 179092
* [msan] Intercept glob() with tests.Evgeniy Stepanov2013-04-0913-1/+118
| | | | llvm-svn: 179091
* [Sanitizer] fix TSan tests: remove global ctor from sanitizer_common, run ↵Alexey Samsonov2013-04-093-3/+9
| | | | | | load_shared_lib test only in lit llvm-svn: 179090
* Follow-up for r179082: more careful handling of ↵Alexey Samsonov2013-04-092-5/+19
| | | | | | -f(no-)sanitize-address-zero-base-shadow on Android llvm-svn: 179089
* [asan] relax Linux/zero-base-shadow.cc to make it pass on newer Ubuntu; fix lintKostya Serebryany2013-04-093-5/+5
| | | | llvm-svn: 179088
* Converted 8x tests of SimplifyCFG to use FileCheck instead of grep.Michael Gottesman2013-04-098-17/+21
| | | | llvm-svn: 179087
* Extract a function.Jakob Stoklund Olesen2013-04-091-31/+17
| | | | llvm-svn: 179086
* Remove the confusing sentence.Nadav Rotem2013-04-091-2/+0
| | | | llvm-svn: 179085
* Revert 179071 because it is not the right way to support non standard ↵Nadav Rotem2013-04-094-21/+25
| | | | | | new/new[] operators. llvm-svn: 179084
* Compute correct frame sizes for SPARC v9 64-bit frames.Jakob Stoklund Olesen2013-04-094-25/+56
| | | | | | | | | | The save area is twice as big and there is no struct return slot. The stack pointer is always 16-byte aligned (after adding the bias). Also eliminate the stack adjustment instructions around calls when the function has a reserved stack frame. llvm-svn: 179083
* If the user requested a zero-base-shadow sanitizer, infer -pie and -fPIC ↵Peter Collingbourne2013-04-0910-76/+107
| | | | | | | | when appropriate. Differential Revision: http://llvm-reviews.chandlerc.com/D502 llvm-svn: 179082
* [analyzer] Replace isIntegerType() with isIntegerOrEnumerationType().Jordan Rose2013-04-0916-29/+62
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, the analyzer used isIntegerType() everywhere, which uses the C definition of "integer". The C++ predicate with the same behavior is isIntegerOrUnscopedEnumerationType(). However, the analyzer is /really/ using this to ask if it's some sort of "integrally representable" type, i.e. it should include C++11 scoped enumerations as well. hasIntegerRepresentation() sounds like the right predicate, but that includes vectors, which the analyzer represents by its elements. This commit audits all uses of isIntegerType() and replaces them with the general isIntegerOrEnumerationType(), except in some specific cases where it makes sense to exclude scoped enumerations, or any enumerations. These cases now use isIntegerOrUnscopedEnumerationType() and getAs<BuiltinType>() plus BuiltinType::isInteger(). isIntegerType() is hereby banned in the analyzer - lib/StaticAnalysis and include/clang/StaticAnalysis. :-) Fixes real assertion failures. PR15703 / <rdar://problem/12350701> llvm-svn: 179081
* When checking for illegal expressions in a default-argumentJohn McCall2013-04-092-0/+36
| | | | | | | | expression, look through pseudo-object expressions. rdar://13602832 llvm-svn: 179080
* Skip transparent contexts when looking for using directives in name lookup.Douglas Gregor2013-04-092-5/+13
| | | | | | Fixes the bootstrap regression I introduced in r179067. llvm-svn: 179079
* Mark as referenced the functions from instantiated UserDefinedLiterals.Argyrios Kyrtzidis2013-04-092-0/+15
| | | | | | Fixes rdar://13589856 llvm-svn: 179078
* Fixed the way we allocate executable memory onSean Callanan2013-04-091-1/+1
| | | | | | | | | behalf of the JIT. We don't need it to be writable since we are using special APIs to write into it. <rdar://problem/13599185> llvm-svn: 179077
* More uses for SymbolTableEntryBase.Rafael Espindola2013-04-091-35/+9
| | | | llvm-svn: 179076
* [analyzer] Keep tracking the pointer after the escape to more aggressively ↵Anna Zaks2013-04-094-165/+212
| | | | | | | | | | | report mismatched deallocator Test that the path notes do not change. I don’t think we should print a note on escape. Also, I’ve removed a check that assumed that the family stored in the RefStete could be AF_None and added an assert in the constructor. llvm-svn: 179075
* Add a SymbolTableEntryBase.Rafael Espindola2013-04-092-52/+38
| | | | | | Use it when we don't need to know if we have a 32 or 64 bit SymbolTableEntry. llvm-svn: 179074
* Fix PointerIntPair to be enum class compatible.Joe Groff2013-04-091-26/+26
| | | | | | | | | | | Some parts of PointerIntPair assumed that the IntType of the pair was implicitly convertible to intptr_t, which is not the case for enum class values. Add a static_cast<intptr_t> to make these conversions explicit and allow PointerIntPair to be used with an enum class IntType. While we're here, rename some of the argument values so we don't have variables named "Int" floating around. llvm-svn: 179073
* Add a SectionBase struct.Rafael Espindola2013-04-082-24/+30
| | | | | | | Use it to share code and when we don't need to know if we have a 32 or 64 bit Section. llvm-svn: 179072
* c++ new operators are not malloc-like functions because they do not return ↵Nadav Rotem2013-04-084-25/+21
| | | | | | | | uninitialized memory. Users may overide new-operators and implement any function that they like. llvm-svn: 179071
* Add test case calling a deprecated method from a subclass that reimplements ↵Ted Kremenek2013-04-081-0/+28
| | | | | | | | that method gets a warning. Test case from <rdar://problem/11627873>. llvm-svn: 179070
* Don't copy just to capture a strong block pointer under ARC.John McCall2013-04-082-7/+66
| | | | | | | | | It turns out that the optimizer can't eliminate this without extra information, for which there's a separate bug. rdar://13588325 llvm-svn: 179069
* <rdar://problem/13584715> Converted constant expressions are expected to ↵Douglas Gregor2013-04-082-1/+17
| | | | | | | | | | | | | | have integral values. We were assuming that any expression used as a converted constant expression would either not have a folded constant value or would be an integer, which is not the case for some ill-formed constant expressions. Because converted constant expressions are only used where integral values are expected, we can simply treat this as an error path. If that ever changes, we'll need to widen the interface of Sema::CheckConvertedConstantExpression() anyway. llvm-svn: 179068
* <rdar://problem/13540899> Collect using directives from all of the semantic ↵Douglas Gregor2013-04-082-8/+44
| | | | | | | | | | | | contexts not represented by scopes. This fixes a regression I introduced in r178136, where we would not consider the using directives from the semantic declaration contexts that aren't represented by the lexical scopes (Scope) when performing unqualified name lookup. This lead to horribly funny diagnostics like "no identifier named 'foo'; did you mean 'foo'?". llvm-svn: 179067
* InstructionSimplify.cpp: Fix a ligature, "fi", to get rid of utf8 in comment.NAKAMURA Takumi2013-04-081-1/+1
| | | | llvm-svn: 179066
* clang/test/Index/annotate-tokens.cpp: Appease msvc-targets with ↵NAKAMURA Takumi2013-04-081-1/+1
| | | | | | -fno-delayed-template-parsing. llvm-svn: 179065
* Recognize function-like macro usages without semicolon in declaration context.Alexander Kornienko2013-04-082-9/+32
| | | | | | | | | | | | | | | | | | | | Summary: Preserve line breaks after function-like macro usages without semicolon, e.g.: QQQ(xxx) class X { }; Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D638 llvm-svn: 179064
* Redo the fix Benjamin Kramer committed in r178793 about iterator ↵Shuxin Yang2013-04-081-12/+14
| | | | | | | | | | | | | | | | | invalidation in Reassociate. I brazenly think this change is slightly simpler than r178793 because: - no "state" in functor - "OpndPtrs[i]" looks simpler than "&Opnds[OpndIndices[i]]" While I can reproduce the probelm in Valgrind, it is rather difficult to come up a standalone testing case. The reason is that when an iterator is invalidated, the stale invalidated elements are not yet clobbered by nonsense data, so the optimizer can still proceed successfully. Thank Benjamin for fixing this bug and generously providing the test case. llvm-svn: 179062
* Fix typo in assertion.Nick Lewycky2013-04-081-1/+1
| | | | llvm-svn: 179061
* Update the docs about the fact that the loop vectorizer is enabled by ↵Nadav Rotem2013-04-081-9/+4
| | | | | | default for -O3. llvm-svn: 179060
* The PNaCl target no longer permits __attribute__((regparm)).Eli Bendersky2013-04-083-73/+18
| | | | | | | Remove the custom lowering code dealing with it, disallow it in PNaclTargetInfo and adjust tests accordingly. llvm-svn: 179059
* Update PlatformDarwinKernel::GetMacDirectoriesToSearch to also tryJason Molenda2013-04-081-0/+6
| | | | | | | /Volumes/KernelDebugKit (the default mount point for the Kernel Debug Kit dmgs). llvm-svn: 179058
OpenPOWER on IntegriCloud