summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [TableGen] Remove convertValue functions for UnOpInit, BinOpInit, and ↵Craig Topper2015-05-292-61/+0
| | | | | | | | TernOpInit as they weren't able to be called. I don't think converting the inputs to the Ops was the right behavior anyway. llvm-svn: 238543
* NFC: tab => spacesJingyue Wu2015-05-291-8/+8
| | | | llvm-svn: 238542
* Change ProcessEventData over to use a std::weak_ptr to a process intead of a ↵Greg Clayton2015-05-292-13/+25
| | | | | | std::shared_ptr. Anyone consuming events for a process should have the process around long enough to grab the event and anyone that holds onto an event for too long won't keep the process around. llvm-svn: 238541
* This should have been a referenceMatthias Braun2015-05-291-1/+1
| | | | llvm-svn: 238540
* CodeGen: Use mop_iterator instead of MIOperands/ConstMIOperandsMatthias Braun2015-05-2913-91/+104
| | | | | | | | | | | | | | | | | | | | | | | | MIOperands/ConstMIOperands are classes iterating over the MachineOperand of a MachineInstr, however MachineInstr::mop_iterator does the same thing. I assume these two iterators exist to have a uniform interface to iterate over the operands of a machine instruction bundle and a single machine instruction. However in practice I find it more confusing to have 2 different iterator classes, so this patch transforms (nearly all) the code to use mop_iterators. The only exception being MIOperands::anlayzePhysReg() and MIOperands::analyzeVirtReg() still needing an equivalent, I leave that as an exercise for the next patch. Differential Revision: http://reviews.llvm.org/D9932 This version is slightly modified from the proposed revision in that it introduces MachineInstr::getOperandNo to avoid the extra counting variable in the few loops that previously used MIOperands::getOperandNo. llvm-svn: 238539
* wip: Remove some unused functionsJustin Bogner2015-05-292-39/+0
| | | | llvm-svn: 238538
* Add a test for the MachineCopyPropagation change landed in r238518.Quentin Colombet2015-05-291-0/+55
| | | | llvm-svn: 238537
* [TableGen][AsmMatcherEmitter] Only parse isolated tokens as registers.Ahmed Bougacha2015-05-292-4/+25
| | | | | | | | | | | | | | Fixes PR23455, where, when TableGen generates the matcher from the AsmString, it splits "cmp${cc}ss" into tokens, and the "ss" suffix is recognized as the SS register. I can't think of a situation where that's a feature, not a bug, hence: when a token is "isolated", i.e., it is followed and preceded by separators, it shouldn't be parsed as a register. Differential Revision: http://reviews.llvm.org/D9844 llvm-svn: 238536
* Add '+' sign at the end of echo packageYing Chen2015-05-291-1/+1
| | | | | | | | | | | | | | | | | | Summary: -Fix lldb test failures introduced by r238530 -This fix TestGdbRemoteAuxvSupport.py and TestLldbGdbServer.py Test Plan: ./dotest -p TestGdbRemoteAuxvSupport.py ./dotest -p TestLldbGdbServer.py Reviewers: clayborg, chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10116 llvm-svn: 238535
* [TableGen][AsmMatcherEmitter] Factor out AsmOperand creation. NFC.Ahmed Bougacha2015-05-291-8/+15
| | | | llvm-svn: 238534
* Add support for the qEcho command to lldb-server in the common packets.Greg Clayton2015-05-294-0/+18
| | | | llvm-svn: 238533
* [TestLldbGdbServer and TestGdbRemoteXXX] Use "ls -l" instead of "readlink"Siva Chandra2015-05-291-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Old Android devices, for example API 16, do not have the "readlink" command. To take care of such devices, this commit changes to use "ls -l" instead of "readlink" to get the lldb-server exe path. The tests fixed with this change for an Android API 16 arm device are: TestGdbRemoteAttach TestGdbRemoteAuxvSupport TestGdbRemoteExpeditedRegisters TestGdbRemoteKill TestGdbRemoteProcessInfo TestGdbRemoteSegFault TestGdbRemoteThreadsInStopReply TestGdbRemote_qThreadStopInfo Further, all tests in TestLldbGdbServer pass (previously erroring out), except one which times out. Test Plan: Run dosep.py with 8 test threads targetting Android API 16 device. Reviewers: vharron, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, aemerson, lldb-commits Differential Revision: http://reviews.llvm.org/D10107 llvm-svn: 238532
* [IR] fptrunc-of-fptrunc isn't an EliminableCastPair.Ahmed Bougacha2015-05-292-1/+9
| | | | | | | Double and single rounding can produce different results. This is the IR counterpart to r228911. llvm-svn: 238531
* Add a new "qEcho" packet with the following format:Greg Clayton2015-05-299-14/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qEcho:%s where '%s' is any valid string. The response to this packet is the exact packet itself with no changes, just reply with what you received! This will help us to recover from packets timing out much more gracefully. Currently if a packet times out, LLDB quickly will hose up the debug session. For example, if we send a "abc" packet and we expect "ABC" back in response, but the "abc" command takes longer than the current timeout value this will happen: --> "abc" <-- <<<error: timeout>>> Now we want to send "def" and get "DEF" back: --> "def" <-- "ABC" We got the wrong response for the "def" packet because we didn't sync up with the server to clear any current responses from previously issues commands. The fix is to modify GDBRemoteCommunication::WaitForPacketWithTimeoutMicroSecondsNoLock() so that when it gets a timeout, it syncs itself up with the client by sending a "qEcho:%u" where %u is an increasing integer, one for each time we timeout. We then wait for 3 timeout periods to sync back up. So the above "abc" session would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second <-- "abc" <-- "qEcho:1" The first timeout is from trying to get the response, then we know we timed out and we send the "qEcho:1" packet and wait for 3 timeout periods to get back in sync knowing that we might actually get the response for the "abc" packet in the mean time... In this case we would actually succeed in getting the response for "abc". But lets say the remote GDB server is deadlocked and will never response, it would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second We then disconnect and say we lost connection. We might also have a bad GDB server that just dropped the "abc" packet on the floor. We can still recover in this case and it would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- "qEcho:1" Then we know our remote GDB server is still alive and well, and it just dropped the "abc" response on the floor and we can continue to debug. <rdar://problem/21082939> llvm-svn: 238530
* Fix TestMultithreaded.Chaoren Lin2015-05-291-1/+1
| | | | llvm-svn: 238529
* Add "Failing Tests .." line to dosep logsYing Chen2015-05-281-0/+1
| | | | | | | | | | | | | | | Summary: -Buildbot parser depends on this line as start flag -Will remove the dependency from buildbot parser, but it takes some time to take effect -Will remove this line from printout after buildbot master reconfig Reviewers: chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10110 llvm-svn: 238527
* Remove dead code.Richard Smith2015-05-281-2/+1
| | | | llvm-svn: 238526
* MachineFrameInfo: Simplify pristine register calculation.Matthias Braun2015-05-286-60/+13
| | | | | | | | | | | | | | | | | | | | | | | | | About pristine regsiters: Pristine registers "hold a value that is useless to the current function, but that must be preserved - they are callee saved registers that have not been saved." This concept saves compile time as it frees the prologue/epilogue inserter from adding every such register to every basic blocks live-in list. However the current code in getPristineRegs is formulated in a complicated way: Inside the function prologue and epilogue all callee saves are considered pristine, while in the rest of the code only the non-saved ones are considered pristine. This requires logic to differentiate between prologue/epilogue and the rest and in the presence of shrink-wrapping this even becomes complicated/expensive. It's also unnecessary because the prologue epilogue inserters already mark callee-save registers that are saved/restores properly in the respective blocks in the prologue/epilogue (see updateLiveness() in PrologueEpilogueInserter.cpp). So only declaring non-saved/restored callee saved registers as pristine just works. Differential Revision: http://reviews.llvm.org/D10101 llvm-svn: 238524
* Fix typos in variable/grammar names.Eric Christopher2015-05-281-6/+6
| | | | llvm-svn: 238523
* Remove warning when testing for timeout command.Chaoren Lin2015-05-281-2/+2
| | | | llvm-svn: 238522
* Rename Win64Exception.(cpp|h) to WinException.(cpp|h)Reid Kleckner2015-05-284-18/+18
| | | | | | | This is in preparation for reusing this for 32-bit x86 EH table emission. Also updates the type name for consistency. NFC llvm-svn: 238521
* [x86] Move the vector popcount tests into non-ISA files, and insteadChandler Carruth2015-05-284-2902/+4213
| | | | | | | | | | | | | | organize them by the width of vector. This makes it a lot easier to see that we're covering all of the vector types but not doing so excessively. This also adds tests across the spectrum of SSE versions in addition to the AVX versions. If you're really tired of seeing the *massive* sprawl of scalarized code for this, don't worry, I'm just about to land Bruno's patch that dramatically improve the situation for SSSE3 and newer. llvm-svn: 238520
* MIR Serialization: print and parse machine function names.Alex Lorenz2015-05-285-15/+167
| | | | | | | | | | | | | | | | | | This commit introduces a serializable structure called 'llvm::yaml::MachineFunction' that stores the machine function's name. This structure will mirror the machine function's state in the future. This commit prints machine functions as YAML documents containing a YAML mapping that stores the state of a machine function. This commit also parses the YAML documents that contain the machine functions. Reviewers: Duncan P. N. Exon Smith Differential Revision: http://reviews.llvm.org/D9841 llvm-svn: 238519
* [MachineCopyPropagation] Fix a bug with undef handling when the value is ↵Quentin Colombet2015-05-281-5/+9
| | | | | | | | actualy alive. Test case will follow. llvm-svn: 238518
* AST: Fix printing GNU old-style field designatorsJustin Bogner2015-05-282-2/+16
| | | | | | | | | | | | Allows StmtPrinter to print old style field designators in initializers, fixing an issue where we would print the following invalid code: struct A a = {b: = 3, .c = 4}; Patch by Nick Sumner. Thanks! llvm-svn: 238517
* Fixing broken bots after r238505.Chris Bieneman2015-05-281-0/+7
| | | | | | Need non-const iterator inserts too. These failures seem to be due to differences in the versions of libstdc++ on various operating systems. llvm-svn: 238516
* Add testcase for r238503.David Majnemer2015-05-281-0/+14
| | | | llvm-svn: 238515
* [WinEH] Start inserting state number stores for C++ EHReid Kleckner2015-05-286-414/+658
| | | | | | | | | | | | This moves all the state numbering code for C++ EH to WinEHPrepare so that we can call it from the X86 state numbering IR pass that runs before isel. Now we just call the same state numbering machinery and insert a bunch of stores. It also populates MachineModuleInfo with information about the current function. llvm-svn: 238514
* Don't special case undefined symbol when deciding the symbol order.Rafael Espindola2015-05-286-39/+31
| | | | | | | | | ELF has no restrictions on where undefined symbols go relative to other defined symbols. In fact, gas just sorts them together. Do the same. This was there since r111174 probably just because the MachO writer has it. llvm-svn: 238513
* Added a test that makes sure that structs returnedSean Callanan2015-05-281-0/+3
| | | | | | | | from expressions return intact. <rdar://problem/21146609> llvm-svn: 238512
* Update documentation for llvm-profdata.Diego Novillo2015-05-281-0/+30
| | | | | | | These options have been present for a while, but I had never updated the documentation. Fixed. llvm-svn: 238511
* Simplify regex in TestDataFormatterUnordered.py for better readability.Chaoren Lin2015-05-281-6/+22
| | | | | | | | | | | | | | | | | | Summary: Using `(match){3}` instead of `matchmatchmatch`. This is an update to D10078. Test Plan: no change in test behavior. Reviewers: clayborg, sivachandra Reviewed By: sivachandra Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10094 llvm-svn: 238510
* Fixing the polly build.Chris Bieneman2015-05-281-0/+5
| | | | | | I broke the polly build in r238505. This fixes the failure by adding non-const iterator erase methods to cl::list_storage. llvm-svn: 238509
* Revise test to run llc and llvm-mc separately.Andy Ayers2015-05-282-60/+118
| | | | | | Differential Revision: http://reviews.llvm.org/D10066 llvm-svn: 238508
* Enable exitValue rewrite only when the cost of expansion is low.Wei Mi2015-05-285-26/+231
| | | | | | | | The patch evaluates the expansion cost of exitValue in indVarSimplify pass, and only does the rewriting when the expansion cost is low or loop can be deleted with the rewriting. It provides an option "-replexitval=" to control the default aggressiveness of the exitvalue rewriting. It also fixes some missing cases in SCEVExpander::isHighCostExpansionHelper to enhance the evaluation of SCEV expansion cost. Differential Revision: http://reviews.llvm.org/D9800 llvm-svn: 238507
* Remove a trivial forwarding function. NFC.Rafael Espindola2015-05-2817-45/+35
| | | | llvm-svn: 238506
* Re-landing "Refactoring cl::list_storage from "is a" to "has a" std::vector."Chris Bieneman2015-05-281-10/+55
| | | | | | | | Originally landed r238485 MSVC resolves identifiers differently from Clang and GCC, this resulted in build bot failures. This pach re-lands r238485 and fixes the build failures. llvm-svn: 238505
* Improve user documentation on profiling.Diego Novillo2015-05-281-14/+57
| | | | | | | | This clarifies the relationship between instrumentation and sampling based PGO, code coverage analysis and the different formats supported by sample profiling. llvm-svn: 238504
* [SelectionDAG] Scalar shift amounts may require legalizationDavid Majnemer2015-05-281-3/+6
| | | | | | | | | The shift amount may be too small to cope with promoted left hand side, make sure to promote it as well. This fixes PR23664. llvm-svn: 238503
* Remove debug prints from r238487Reid Kleckner2015-05-281-6/+1
| | | | llvm-svn: 238501
* [omp] Loosen the driver test enough so that overriding the defaultsChandler Carruth2015-05-281-2/+11
| | | | | | | | | | works well for folks. This isn't terribly clean (sadly) but after chatting with both Eric and Richard, nothing cleaner really emerged. The clean way of doing this is a *lot* of work for extremely little benefit here. llvm-svn: 238500
* Resubmitting r238459 and r238460 with fix for Linux.Chaoren Lin2015-05-286-4993/+5127
| | | | llvm-svn: 238499
* [omp] Fix a typo in a comment and a line I forgot to clang-format thatChandler Carruth2015-05-281-2/+3
| | | | | | Justin pointed out in post-commit review. llvm-svn: 238498
* Revert "Move inlined cxa_demangle.cpp to a separate file."Ying Chen2015-05-285-5027/+4953
| | | | | | This reverts commit 8cb47a2140f3e93a34597fc9f11c8cd96130076d. llvm-svn: 238497
* Revert "Allow both MSVC and Itanium mangling schemes."Ying Chen2015-05-283-118/+64
| | | | | | | | Cause build break. This reverts commit 6d986061393f2863fec739e04412281148acc1f3. llvm-svn: 238496
* Skip ThreadStateTestCase.test_state_after_continue_with_dwarf on DarwinYing Chen2015-05-281-0/+6
| | | | | | | | | | | | | | | | Summary: - This test cause Python crash randomly on darwin builder - Tracked by bug 'llvm.org/pr23669' Test Plan: ./dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestThreadStates.py Reviewers: chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10053 llvm-svn: 238495
* [llvm] Adding vdtor to fix warning.Colin LeMahieu2015-05-281-0/+1
| | | | llvm-svn: 238494
* Fix the Xcode build after the recent new demangling files were added.Greg Clayton2015-05-281-0/+8
| | | | llvm-svn: 238493
* Inline trivial method. NFC.Rafael Espindola2015-05-281-14/+2
| | | | llvm-svn: 238492
* Revert "Refactoring cl::list_storage from "is a" to "has a" std::vector."Chris Bieneman2015-05-281-52/+7
| | | | | | This reverts commit 117715ca0613d3db144241499401f2ec5398f1d5. llvm-svn: 238491
OpenPOWER on IntegriCloud