summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [GVN] Split critical-edge on the fly, instead of postpone edge-splitting to nextShuxin Yang2013-05-091-13/+39
| | | | | | | | | | iteration. This on step toward non-iterative GVN. My local hack suggests that getting rid of iteration will speedup GVN by 30%+ on a medium sized input (2k LOC, C++). I cannot explain why not 2x or more at this moment. llvm-svn: 181532
* Add testcase missed from r181527.Richard Smith2013-05-091-0/+41
| | | | llvm-svn: 181531
* Hexagon: Use relation map for getMatchingCondBranchOpcode() and Jyotsna Verma2013-05-092-535/+35
| | | | | | getInvertedPredicatedOpcode() functions instead of switch cases. llvm-svn: 181530
* Simplify the code a bit.Bill Wendling2013-05-091-19/+10
| | | | | | | | | | The compact unwind registers were defined in two different places. It's better just to place them in the function that uses them and specify that this is a 64-bit or 32-bit machine. No functionality change. llvm-svn: 181529
* Use 'auto const&' for iterators whose deref operator return a const varAriel J. Bernal2013-05-0910-28/+212
| | | | | | | | | This patch fixes PR15601. - Added check for whether the loop variable and the initializer have the same type. - Added tests. llvm-svn: 181528
* Fix the return type of the complex creal functions. Patch by YunZhong Gao, ↵Richard Smith2013-05-091-3/+3
| | | | | | modified to use _Static_assert and to check __STDC_HOSTED__ by me. llvm-svn: 181527
* Revert r181482 as it causes occasional hangs in LLDB buildbotsDaniel Malea2013-05-096-48/+2
| | | | llvm-svn: 181526
* Remove trailing whitespaceDavid Blaikie2013-05-091-9/+9
| | | | llvm-svn: 181525
* Don't replace an alias in llvm.used with its target.Rafael Espindola2013-05-092-2/+144
| | | | | | | When we replace an internal alias with its target, be careful not to replace the entry in llvm.used (and llvm.compiler_used). llvm-svn: 181524
* [doc parsing]: make single character command imposturesFariborz Jahanian2013-05-093-4/+9
| | | | | | warn in pedantic mode. llvm-svn: 181523
* Adding isConst() ASTMatcher for CXXMethodDecl nodesEdwin Vane2013-05-093-0/+35
| | | | | | Updated reference and unit tests. llvm-svn: 181522
* [doc parsing]: So, in this patch, single characterFariborz Jahanian2013-05-092-4/+4
| | | | | | | | 'commands' will not go through typo fixit logic, preserving the old behavior (no typo, no diagnostics). // rdar://12381408 llvm-svn: 181521
* [XCore] Fix handling of functions where only the LR is spilled.Richard Osborne2013-05-092-27/+41
| | | | | | | | | | | | | | Previously we only checked if the LR required saving if the frame size was non zero. However because the caller reserves 1 word for the callee to use that doesn't count towards our frame size it is possible for the LR to need saving and for the frame size to be 0. We didn't hit when the LR needed saving because of a function calls because the 1 word of stack we must allocate for our callee means the frame size is always non zero in this case. However we can hit this case if the LR is clobbered in inline asm. llvm-svn: 181520
* Updating LibASTMatchersReference to include namespaceDecl()Edwin Vane2013-05-091-0/+11
| | | | | | The namespaceDecl() ASTMatcher was added in r179027. llvm-svn: 181519
* InstCombine: Don't just copy known bits from the first operand of an srem.Benjamin Kramer2013-05-092-1/+13
| | | | | | | That's obviously wrong. Conservatively restrict it to the sign bit, which matches the original intention of this analysis. Fixes PR15940. llvm-svn: 181518
* [doc parsing]: don't attempt to fix single characterFariborz Jahanian2013-05-092-0/+7
| | | | | | commands (\t \n are common). \\ rdar://12381408 llvm-svn: 181517
* Avoid runtime type checks.Rafael Espindola2013-05-091-14/+40
| | | | | | | In most cases the relocation type implies the object word size and endianness. llvm-svn: 181515
* xopintrin.h: Add wrappers for all flavors of _mm_com.Benjamin Kramer2013-05-092-0/+484
| | | | | | | GCC defines only the wrappers, MSVC defines both, we define both now too. PR15844. llvm-svn: 181514
* Add include guards to prfchwintrin.h.Benjamin Kramer2013-05-091-0/+5
| | | | llvm-svn: 181513
* Skipping a test that asserts with gcc and icc to allow the test suite to run ↵Ashok Thirumurthi2013-05-091-2/+2
| | | | | | to completion on the gcc buildbot. llvm-svn: 181512
* Fixed a build failure introduced by r181501.Ashok Thirumurthi2013-05-091-1/+1
| | | | | | Patch by Yao Qi. llvm-svn: 181511
* libDebugInfo depends on libObject nowadays.Benjamin Kramer2013-05-091-1/+1
| | | | llvm-svn: 181510
* Introduce convenience typedefs for the 4 ELF object types.Rafael Espindola2013-05-093-50/+35
| | | | llvm-svn: 181509
* Test commit.Kai Nacke2013-05-091-0/+1
| | | | | | Add one of my contributions to CREDITS.TXT. llvm-svn: 181508
* Implement C++1y constant initializer rules: in a constant initializer for anRichard Smith2013-05-093-43/+73
| | | | | | | | object x, x's subobjects can be constructed by constexpr constructor even if they are of non-literal type, and can be read and written even though they're not members of a constexpr object or temporary. llvm-svn: 181506
* [analyzer; alternate arrows] for "loop back" edges add back the extra edge ↵Ted Kremenek2013-05-091-0/+12
| | | | | | to the closing '}' llvm-svn: 181505
* [analyzer;alternate arrows] adapt 'for' loop aesthetic cleanup to 'while' loops.Ted Kremenek2013-05-091-13/+17
| | | | llvm-svn: 181504
* [lld] Use range based for loop instead of explicit iterators (no ↵Rui Ueyama2013-05-091-3/+2
| | | | | | functionality change) llvm-svn: 181503
* Change getRelocationAdditionalInfo to be ELF only.Rafael Espindola2013-05-0910-59/+65
| | | | | | | It was only implemented for ELF where it collected the Addend, so this patch also renames it to getRelocationAddend. llvm-svn: 181502
* Changed the formerly pure virtual function:Greg Clayton2013-05-0919-397/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | namespace lldb_private { class Thread { virtual lldb::StopInfoSP GetPrivateStopReason() = 0; }; } To not be virtual. The lldb_private::Thread now handles the correct caching and will call a new pure virtual function: namespace lldb_private { class Thread { virtual bool CalculateStopInfo() = 0; } } This function must be overridden by thead lldb_private::Thread subclass and the only thing it needs to do is to set the Thread::StopInfo() with the current stop reason and return true, or return false if there is no stop reason. The lldb_private::Thread class will take care of calling this function only when it is required. This allows lldb_private::Thread subclasses to be a bit simpler and not all need to duplicate the cache and invalidation settings. Also renamed: lldb::StopInfoSP lldb_private::Thread::GetPrivateStopReason(); To: lldb::StopInfoSP lldb_private::Thread::GetPrivateStopInfo(); Also cleaned up a case where the ThreadPlanStepOverBreakpoint might not re-set its breakpoint if the thread disappears (which was happening due to a bug when using the OperatingSystem plug-ins with memory threads and real threads). llvm-svn: 181501
* Providing a more interesting command template for LLDBEnrico Granata2013-05-092-26/+42
| | | | | | This one actually exploits the SB API to obtain information about your inferior process llvm-svn: 181500
* Add all Decls found through FindExternalLexicalDeclsSean Callanan2013-05-091-0/+12
| | | | | | | | | | | | | | to the DeclContext. This fulfils the contract that we make with Clang by returning ELR_AlreadyLoaded. This is a little aggressive in that it does not allow the ASTImporter to import the child decls with any lexical parent other than the Decl that reported them as children. <rdar://problem/13517713> llvm-svn: 181498
* Changing the std::map test case to use source breakpoints instead of relying ↵Enrico Granata2013-05-092-30/+45
| | | | | | | | on the nexting always "getting it right" to stop at the locations of interest This should make us more robust in the face of changing compiler line tables and other library modifications llvm-svn: 181497
* Revert "Make sure debug info contains linkage names (DW_AT_MIPS_linkage_name)"Eric Christopher2013-05-093-135/+12
| | | | | | | | temporarily while investigating gdb.cp/templates.exp. This reverts commit r181471. llvm-svn: 181496
* LoopVectorizer: Don't assert on the absence of induction variablesArnold Schwaighofer2013-05-092-1/+36
| | | | | | | | | A computable loop exit count does not imply the presence of an induction variable. Scalar evolution can return a value for an infinite loop. Fixes PR15926. llvm-svn: 181495
* Put some diagnostics in DiagnosticCommonKinds.td in a category, mirroring ↵Ted Kremenek2013-05-091-0/+10
| | | | | | | | | what they are in other .td files. I really dislike the copy-pasting of the category strings. If there is a better way to do this with TableGen, please advise. llvm-svn: 181494
* Fix the error reporting for ProcessKDP::DoDetach.Jim Ingham2013-05-091-5/+10
| | | | llvm-svn: 181493
* [lld] Add comments to InputFiles::searchLibraries() arguments.Rui Ueyama2013-05-081-4/+11
| | | | llvm-svn: 181492
* Objective-C: Correctly encode 'retain' and 'copy' for readonly properties.Nico Weber2013-05-082-0/+16
| | | | | | | | | | clang would omit 'C' for 'copy' properties and '&' for 'retain' properties if the property was also 'readonly'. Fix this, which makes clang match gcc4.2's behavior. Fixes PR15928. llvm-svn: 181491
* [PCH] Remove the ASTReaderListener::ReadHeaderFileInfo callback.Argyrios Kyrtzidis2013-05-085-38/+5
| | | | | | | | This made sense in pre-module era, before merging of HeaderFileInfos was introduced. Final part of rdar://13840148. llvm-svn: 181490
* [modules] When building a module, make sure we don't serialize out ↵Argyrios Kyrtzidis2013-05-0811-7/+45
| | | | | | | | | | | HeaderFileInfo for headers not belonging to the module. After r180934 we may initiate module map parsing for modules not related to the module what we are building, make sure we ignore the header file info of headers from such modules. First part of rdar://13840148 llvm-svn: 181489
* Fixed the process attach by name test to get the target _after_ doing ↵Greg Clayton2013-05-081-2/+2
| | | | | | process attach. Otherwise the target isn't valid. This fixes 2 test suite failures on darwin. llvm-svn: 181488
* put noisy "unknown command tag name" warningFariborz Jahanian2013-05-082-2/+5
| | | | | | | under -Wdocumentation-unknown-command and off by default. patch by Dmitri Gribenko. llvm-svn: 181487
* Remove debug print statement.Greg Clayton2013-05-081-1/+0
| | | | llvm-svn: 181486
* typoAdrian Prantl2013-05-081-1/+1
| | | | llvm-svn: 181485
* [lld][Core] Fix latch synchronization bug.Rui Ueyama2013-05-081-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to acquire a lock before signal a condition. Otherwise threads waiting on a condition variable can miss a signal. Consider two threads: Thread A executing dec() and thread B executing sync(). The initial value of _count is 1. If these two threads are interleaved in the following order, thread B misses the signal sent by thread A, because at the time thread A sends a signal, B is not waiting for it. Thread A | Thread B | std::unique_lock<std::mutex> lock(_condMut); | while (!(_count == 0)) { if (--_count == 0) | _cond_notify_all() | | _cond.wait(); | } Note that "wait(lock, pred)" is equivalent to "while(!pred()) wait(lock)", so I expanded it in the above example. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D764 llvm-svn: 181484
* [lld] Add "explicit" to constructors where appropriate.Rui Ueyama2013-05-0811-28/+30
| | | | | | | | | | | | Summary: Add the explicit keyword to one-parameter constructors to prevent unintended type conversions. CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D765 llvm-svn: 181483
* Adding code to set thread state to stopped when the process stops.Andrew Kaylor2013-05-086-2/+48
| | | | llvm-svn: 181482
* Comment: use \code...\endcode for code examplesDmitri Gribenko2013-05-081-1/+3
| | | | llvm-svn: 181481
* All -Wdocumentation warnings are DefaultIgnoreDmitri Gribenko2013-05-081-2/+2
| | | | llvm-svn: 181480
OpenPOWER on IntegriCloud