summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update PPC loop tests after SCEV non-unit-stride checkin r193015.Andrew Trick2013-10-192-24/+12
| | | | llvm-svn: 193021
* Allow CorrectTypo to replace CXXScopeSpecifiers that refer to classes.Kaelyn Uhrain2013-10-1912-44/+113
| | | | | | | | | | | Now that CorrectTypo knows how to correctly search classes for typo correction candidates, there is no good reason to only replace an existing CXXScopeSpecifier if it refers to a namespace. While the actual enablement was a matter of changing a single comparison, the fallout from enabling the functionality required a lot more code changes (including my two previous commits). llvm-svn: 193020
* Be smarter about deciding to add a leading '::' to aKaelyn Uhrain2013-10-193-30/+57
| | | | | | NestedNameSpecifier that replaces an existing specifier. llvm-svn: 193019
* Merge NamespaceSpecifierSet's AddNamespace and AddRecord as they areKaelyn Uhrain2013-10-191-75/+9
| | | | | | essentially the same. llvm-svn: 193018
* [PECOFF] Only COMDAT symbols are allowed to be dead-stripped.Rui Ueyama2013-10-183-11/+24
| | | | | | | | | | | | | | | | | | We should dead-strip atoms only if they are created for COMDAT symbols. If we remove non-COMDAT atoms from a binary, it will no longer be guaranteed that the binary will work correctly. In COFF, you can manipulate the order of section contents in the resulting binary by section name. For example, if you have four sections .data$unique_prefix_{a,b,c,d}, it's guaranteed that the contents of A, B, C, and D will be consecutive in the resulting .data section in that order. Thus, you can access B's and C's contents by incrementing a pointer pointing to A until it reached to D. That's why we cannot dead-strip B or C even if no one is directly referencing to them. Some object files in the standard library actually use that technique. llvm-svn: 193017
* ValueObject and SBValue's GetChildMemberWithName should look through ↵Jim Ingham2013-10-182-1/+54
| | | | | | | | | | anonymous structs and unions the same way that C would. <rdar://problem/11987906> llvm-svn: 193016
* SCEV should use NSW to get trip count for positive nonunit stride loops.Andrew Trick2013-10-182-36/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCEV currently fails to compute loop counts for nonunit stride loops. This comes up frequently. It prevents loop optimization and forces vectorization to insert extra loop checks. For example: void foo(int n, int *x) { for (int i = 0; i < n; i += 3) { x[i] = i; x[i+1] = i+1; x[i+2] = i+2; } } We need to properly handle the case in which limit > INT_MAX-stride. In the above case: n > INT_MAX-3. In this case the loop counter will step beyond the limit and overflow at the same time. However, knowing that signed integer overlow in undefined, we can assume the loop test behavior is arbitrary after overflow. This obeys both C undefined behavior rules, and the more strict LLVM poison value rules. I'm finally fixing this in response to Hal Finkel's persistence. The most probable reason that we never optimized this before is that we were being careful to handle case where the developer expected a side-effect free infinite loop relying on overflow: for (int i = 0; i < n; i += s) { ++j; } return j; If INT_MAX+1 is a multiple of s and n > INT_MAX-s, then we might expect an infinite loop. However there are plenty of ways to achieve this effect without relying on undefined behavior of signed overflow. llvm-svn: 193015
* Write a simple description of the 'target triple' directive. This should be ↵Bill Wendling2013-10-181-0/+24
| | | | | | expanded. PR8976. llvm-svn: 193014
* Mark some command line flags as hiddenNadav Rotem2013-10-186-14/+14
| | | | llvm-svn: 193013
* Clarify that an alignment of 0 or 1 on a mem* intrinsic means 'no alignment'.Bill Wendling2013-10-181-3/+3
| | | | llvm-svn: 193012
* YAMLBench.cpp: Use llvm_move instead of std::move also here.NAKAMURA Takumi2013-10-181-1/+1
| | | | llvm-svn: 193011
* Consumed analysis: fix assert failure.DeLesley Hutchins2013-10-182-8/+63
| | | | llvm-svn: 193010
* Remove reference to obsolete arguments.Bill Wendling2013-10-181-4/+4
| | | | llvm-svn: 193009
* Update to reflect current GC APIs and usage. The example code is taken from ↵Bill Wendling2013-10-181-62/+48
| | | | | | the Erlang GC implementation. llvm-svn: 193008
* Can we move to C++11 already?Michael J. Spencer2013-10-181-3/+3
| | | | llvm-svn: 193007
* clang-cl: diagnose setting asm listing filename with multiple inputsHans Wennborg2013-10-183-2/+15
| | | | llvm-svn: 193006
* Fix crash if a submodule @imports another submodule from the same module. TheRichard Smith2013-10-187-6/+33
| | | | | | | test also adds FIXMEs for a number of places where imports and includes of submodules don't work very well. llvm-svn: 193005
* [Support][YAML] Add support for accessing tags and tag handle substitution.Michael J. Spencer2013-10-186-47/+169
| | | | llvm-svn: 193004
* ObjectiveC. Added support for methods annotated with format_argFariborz Jahanian2013-10-182-4/+45
| | | | | | | attributes when such methods are actually envoked in message expression. // rdar://15242010 llvm-svn: 193003
* Debug Info: add a newly-created DIE to a parent in the same function.Manman Ren2013-10-182-24/+29
| | | | | | | | | | With this commit, all DIEs created in CompileUnit will be added to parents inside the same function. Also make getOrCreateTemplateType|Value functions private. No functionality change. llvm-svn: 193002
* Debug Info: simplify code a bit.Manman Ren2013-10-181-1/+1
| | | | llvm-svn: 193001
* MC asm parser: allow ?'s in symbol names, and handle @'s in names in MS asmHans Wennborg2013-10-188-13/+87
| | | | | | | | | | | | | | | | | | | | This is another (final?) stab at making us able to parse our own asm output on Windows. Symbols on Windows often contain @'s and ?'s in their names. Our asm parser didn't like this. ?'s were not allowed, and @'s were intepreted as trying to reference PLT/GOT/etc. We can't just add quotes around the bad names, since e.g. for MinGW, we use gas to assemble, and it doesn't like quotes in some places (notably in .def directives). This commit makes us allow ?'s in symbol names, and @'s in symbol names for MS assembly. Differential Revision: http://llvm-reviews.chandlerc.com/D1978 llvm-svn: 193000
* Fix build failure on FreeBSD/clang by using auto iterator typeEd Maste2013-10-181-1/+1
| | | | llvm-svn: 192999
* Reverted r192992 broke windows and freebsd builds.Ariel J. Bernal2013-10-182-56/+4
| | | | llvm-svn: 192997
* Check for errors when calling lto_codegen_add_module in the gold plugin.Rafael Espindola2013-10-181-2/+7
| | | | | | Thanks to Milan Lenčo for noticing it. llvm-svn: 192996
* Consumed analysis: assume that non-const reference parameters are initiallyDeLesley Hutchins2013-10-182-24/+45
| | | | | | in the "uknown" state. Patch by chris.wailes@gmail.com. Reviewed by delesley. llvm-svn: 192995
* Add stub FreeBSD ProcessMonitor::ReadThreadPointerEd Maste2013-10-182-0/+10
| | | | llvm-svn: 192994
* <rdar://problem/15182550>Enrico Granata2013-10-184-69/+36
| | | | | | | | | | | | | | | | | | | Removing Host/Atomic.h This header file was not being copied as part of our public API headers and this in turn was causing any plugin to link against LLDB.framework, since SharingPtr.h depends on it Out of several possible options to fix this issue, the cleanest one is to revert LLDB to use std::atomic<>, as we are a C++11 project and should take advantage of it The original rationale for going from std::atomic to Host/Atomic.h was that MSVC++ fails to link in CLR mode when std::atomic is used This is a very Visual Studio/.net specific issue, which hopefully will be fixed Until them, to allow Windows development to proceed, we are going with a targeted solution where we #ifdef include the Windows specific calls, and let everyone else use the proper atomic support, as should be If there is an unavoidable need for a LLDB-specific atomic header, the right way to go at it would be to make an API/lldb-atomic.h header and #ifdef the Windows dependency there The FormatManager should not need to conditionalize use of std::atomic<>, as other parts of the LLDB internals are successfully using atomic (Address and IRExecutionUnit), so this Win-specific hack is limited to SharingPtr llvm-svn: 192993
* This patch fixes replacements that are not applied when relative paths areAriel J. Bernal2013-10-182-4/+56
| | | | | | | | | | specified. In particular it makes sure that relative paths for non-virtual files aren't made absolute. Added unittest. llvm-svn: 192992
* Consumed analysis: All the return_typestate parameter to be attached to theDeLesley Hutchins2013-10-182-28/+42
| | | | | | default constructor. Patch by chris.wailes@gmail.com, reviewed by delesley. llvm-svn: 192991
* [asan] fix stack trace printing on MacKostya Serebryany2013-10-181-0/+4
| | | | llvm-svn: 192990
* Mark the selected frame of the selected thread in backtraces.Jim Ingham2013-10-185-11/+46
| | | | | | <rdar://problem/15252474> llvm-svn: 192989
* clang-format: Be more aggressive on incorrect code.Daniel Jasper2013-10-182-10/+7
| | | | | | | | | | | | | | | | Before, clang-format would not adjust leading indents if it found a structural error (e.g. unmatched {}). It seems, however, that clang-format has gotten good enough at parsing the code structure that this hurts in almost all cases. Commonly, while writing code, it is very useful to be able to correclty indent incomplete if statements or for loops. In case this leads to errors that we don't anticipate, we need to find out and fix those. This fixed llvm.org/PR17594. llvm-svn: 192988
* Make sure the CallFunction Thread plans don't try to do DoTakedown if their ↵Jim Ingham2013-10-182-4/+16
| | | | | | | | | | thread has gone away by the time they get around to doing it. <rdar://problem/15245544> llvm-svn: 192987
* BreakpointResolverFileRegex.cpp wandered from the lldb-core target to the ↵Jim Ingham2013-10-181-2/+2
| | | | | | | | LLDB.framework target. Put it back where it belongs. llvm-svn: 192986
* Revert the rest of r192749 to bring back the buildbot. These twoEric Christopher2013-10-181-2/+4
| | | | | | error messages should not be able to occur at the same time. llvm-svn: 192985
* clang-format: Don't force linebreak between return and multiline string.Daniel Jasper2013-10-182-2/+8
| | | | | | | | | | | | | | | This looks ugly and leads to llvm.org/PR17590. Before (with AlwaysBreakBeforeMultilineStrings): return "aaaa" "bbbb"; After: return "aaaa" "bbbb"; llvm-svn: 192984
* Make clang-format slightly more willing to break before trailing annotations.Daniel Jasper2013-10-182-17/+20
| | | | | | | | | | | | | | | | | Specifically, prefer breaking before trailing annotations over breaking before the first parameter. Before: void ffffffffffffffffffffffff( int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) OVERRIDE; After: void ffffffffffffffffffffffff(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) OVERRIDE; llvm-svn: 192983
* Add another MinGW header include pathHans Wennborg2013-10-181-0/+1
| | | | llvm-svn: 192982
* clang-format: Improve formatting of templated builder-type calls.Daniel Jasper2013-10-182-3/+13
| | | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaa().aaaaaaaaaaaaaaaaa().has< bbbbbbbbbbbbbbbbbbbbb>(); After: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa() .aaaaaaaaaaaaaaaaaaaaaaaaaa() .has<bbbbbbbbbbbbbbbbbbbbb>(); llvm-svn: 192981
* [asan] allocate AsanThreadContext using LowLevelAllocator instead of mmap to ↵Kostya Serebryany2013-10-181-1/+5
| | | | | | save space llvm-svn: 192980
* [asan] reduce the size of AsanThreadContext by storing the stack trace in ↵Kostya Serebryany2013-10-185-10/+17
| | | | | | the stack depot llvm-svn: 192979
* Test case for r192957David Majnemer2013-10-181-0/+21
| | | | | | Forgot to 'svn add' llvm-svn: 192978
* Pure refactoring change.Richard Barton2013-10-181-73/+86
| | | | | | Patch by Artyom Skrobov. llvm-svn: 192977
* [PATCH] Fix PR17168 (DAG scheduler inserts DBG_VALUE before PHI with fast-isel)Bill Schmidt2013-10-182-1/+524
| | | | | | | | | | | | | | | | | | | | | | | | PR17168 describes a test case that fails when compiling for debug with fast-isel. Investigation showed that the test was failing because a DBG_VALUE machine instruction was placed prior to a PHI. For this problem to occur requires the following: * Compile for debug * Compile with fast-isel * In a block B, fast-isel must partially succeed before punting to DAG-isel * B must start with a PHI * The first unhandled node in the DAG must not generate a machine instruction * A debug value with an order less than that of that first node exists When all of these circumstances apply, the existing test that an instruction was not inserted won't fire. Currently it tests whether the block is empty, or whether the last instruction generated is a phi. When fast-isel has partially succeeded, the last instruction generated will not be a phi. Instead, we need to check whether the current insert position is immediately following a phi. This patch adds that check, and adds the test case from the PR as a regression test. llvm-svn: 192976
* [ASan] fix compilation of sanitizer_platform_limits_posix.cc on OSX.Alexander Potapenko2013-10-181-0/+1
| | | | llvm-svn: 192975
* R600: Remove \ at EOL from ascii art comments.Benjamin Kramer2013-10-181-4/+4
| | | | | | | Completely harmless, but GCC likes to warn about it even when the next line is a comment. llvm-svn: 192974
* [ASan] fix compilation of atexit_stats.cc on OSXAlexander Potapenko2013-10-181-0/+2
| | | | llvm-svn: 192973
* Add hint disassembly syntax for 16-bit Thumb hint instructions.Richard Barton2013-10-187-38/+48
| | | | | | Patch by Artyom Skrobov llvm-svn: 192972
* [AArch64] Add support for NEON scalar extract narrow instructions.Chad Rosier2013-10-184-3/+97
| | | | llvm-svn: 192971
OpenPOWER on IntegriCloud