summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [WinEH] Try to make the MachineFunction CFG more accurateReid Kleckner2015-04-154-47/+83
| | | | | | | | | | | | This avoids emitting code for unreachable landingpad blocks that contain calls to llvm.eh.actions and indirectbr. It's also a first step towards unifying the SEH and WinEH lowering codepaths. I'm keeping the old fan-in lowering of SEH around until the preparation version works well enough that we can switch over without breaking existing users. llvm-svn: 235037
* [TestRvalueReferences] Fix an expectation.Siva Chandra2015-04-151-3/+1
| | | | | | | | | | | | | | | | | | | | Summary: If 'i' is an rvalue reference to an 'int', evaluating it with the 'expression' command will return an 'int' value and not an 'int &&'. Before this patch, an 'int &&' type was expected. Enabled the test for clang and gcc as all parts of the test now pass when the testcase is compiled with them. Test Plan: dotest.py -C <gcc|clang> -p TestRvalueReferences Reviewers: spyffe, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9005 llvm-svn: 235036
* [Mips] Make tests more tolerant to offsets, symbol sizes etcSimon Atanasyan2015-04-1527-129/+129
| | | | | | No functional changes. llvm-svn: 235035
* [TestMiBreak] Print a formatted string via printf in the test case.Siva Chandra2015-04-152-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: If the string is not formatted, these can happen when compiled with GCC: 1. If it is a null string "", then GCC completely removes the call to printf even with -O0. 2. If the string is a single character string, say "\n" for example, then GCC replaces the call to printf with a call to putchar. 3. If the string length is greater than 1, but is not formatted, then GCC replaces the call to printf with a call to puts. All the above will fail the test as we want a breakpoint on "printf" to hit. Test Plan: dotest.py -C gcc -p TestMiBreak Reviewers: chying, ki.stfu Reviewed By: ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9025 llvm-svn: 235034
* [Mips] clang-format the codeSimon Atanasyan2015-04-151-1/+1
| | | | llvm-svn: 235033
* [Mips] Remove redundant `.got` section lookupSimon Atanasyan2015-04-151-2/+1
| | | | | | No functional changes. llvm-svn: 235032
* [Mips] Create _GLOBAL_OFFSET_TABLE_ only if the .got section existsSimon Atanasyan2015-04-154-4/+19
| | | | llvm-svn: 235031
* [Mips] Check `_gp_disp` symbol using a trivial string comparisonSimon Atanasyan2015-04-152-13/+1
| | | | | | No functional changes. llvm-svn: 235030
* [Orc] Refactor the CompileOnDemandLayer to make its addModuleSet methodLang Hames2015-04-152-39/+58
| | | | | | | | | signature match the other layers. This makes it possible to compose other layers (e.g. IRTransformLayer) on top of CompileOnDemandLayer. llvm-svn: 235029
* Reland "[WinEH] Use the parent function when computing frameescape labels"Reid Kleckner2015-04-152-1/+164
| | | | | | Fixed the test by removing extraneous quotes. llvm-svn: 235028
* Revert "[WinEH] Use the parent function when computing frameescape labels"Reid Kleckner2015-04-152-164/+1
| | | | | | This reverts commit r235025. The test isn't passing yet. llvm-svn: 235027
* Add range iterators for post order and inverse post order. Use themDaniel Berlin2015-04-158-37/+47
| | | | llvm-svn: 235026
* [WinEH] Use the parent function when computing frameescape labelsReid Kleckner2015-04-152-1/+164
| | | | | | Fixes assertions in MC when a local label wasn't defined. llvm-svn: 235025
* Fix BXJ is undefined in AArch32.Charlie Turner2015-04-154-3/+22
| | | | | | | | | | | | | | BXJ was incorrectly said to be unsupported in ARMv8-A. It is not supported in the A64 instruction set, but it is supported in the T32 and A32 instruction sets, because it's listed as an instruction in the ARM ARM section F7.1.28. Using SP as an operand to BXJ changed from UNPREDICTABLE to PREDICTABLE in v8-A. This patch reflects that update as well. This was found by MCHammer. llvm-svn: 235024
* [Objective-C Sema]This patch fixes the warning when clang issuesFariborz Jahanian2015-04-156-52/+95
| | | | | | | | | | "multiple methods named '<selector>' found" warning by noting the method that is actualy used. It also cleans up and refactors code in this area and selects a method that matches actual arguments in case of receiver being a forward class object. rdar://19265430 llvm-svn: 235023
* Make it explicit which sections these relocations are in.Rafael Espindola2015-04-152-2/+24
| | | | llvm-svn: 235022
* [NFC] [SLSR] clean up some testsJingyue Wu2015-04-153-83/+99
| | | | llvm-svn: 235021
* Make it clear in which sections these relocations are.Rafael Espindola2015-04-152-0/+24
| | | | llvm-svn: 235020
* [SLSR] handle candidate form (B + i * S)Jingyue Wu2015-04-154-94/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: With this patch, SLSR may rewrite S1: X = B + i * S S2: Y = B + i' * S to S2: Y = X + (i' - i) * S A secondary improvement: if (i' - i) is a power of 2, emit Y as X + (S << log(i' - i)). (S << log(i' -i)) is in a canonical form and thus more likely GVN'ed than (i' - i) * S. Test Plan: slsr-add.ll Reviewers: hfinkel, sanjoy, meheff, broune, eliben Reviewed By: eliben Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8983 llvm-svn: 235019
* Make it clear where the relocations we are CHECKING are from.Rafael Espindola2015-04-151-1/+6
| | | | llvm-svn: 235018
* Add comments to LLDB-MI disassembly.Ilia K2015-04-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the comments which are included in LLDB disassembly, but are currently missing in MI, e.g. ^done,asm_insns=[...,{address="0x00000000004004ff",func-name="main",offset="18",size="2",inst="jmp 0x40050b ; <+30> at main.c:7"}] instead of ^done,asm_insns=[...,{address="0x00000000004004ff",func-name="main",offset="18",size="2",inst="jmp 0x40050b"}] Thanks, Ewan Patch from ewan@codeplay.com Reviewers: abidh, EwanCrawford Subscribers: ted, lldb-commits, deepak2427 Differential Revision: http://reviews.llvm.org/D8964 llvm-svn: 235017
* Improve MiBreakTestCase tests to expect =breakpoint-modified event after r234483Ilia K2015-04-151-3/+22
| | | | llvm-svn: 235016
* Update tests to not be as dependent on section numbers.Rafael Espindola2015-04-1546-91/+55
| | | | | | | | Many of these predate llvm-readobj. With elf-dump we had to match a relocation to symbol number and symbol number to symbol name or section number. llvm-svn: 235015
* [X86] add an exedepfix entry for movq == movlps == movlpdSanjay Patel2015-04-1513-18/+95
| | | | | | | | | | | | | This is a 1-line patch (with a TODO for AVX because that will affect even more regression tests) that lets us substitute the appropriate 64-bit store for the float/double/int domains. It's not clear to me exactly what the difference is between the 0xD6 (MOVPQI2QImr) and 0x7E (MOVSDto64mr) opcodes, but this is apparently the right choice. Differential Revision: http://reviews.llvm.org/D8691 llvm-svn: 235014
* Declare __cxa_new_handler as extern "C", or it declares a new variableReid Kleckner2015-04-151-1/+1
| | | | | | | Reverts change from r219012 to fix ABI incompatibility. Let's not worry about the GCC warning here. llvm-svn: 235013
* [x86] Implement combineRepeatedFPDivisorsSanjay Patel2015-04-153-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the transform bar at 2 divisions because the fastest current x86 FP divider circuit is in SandyBridge / Haswell at 10 cycle latency (best case) relative to a 5 cycle multiplier. So that's the worst case for this transform (no latency win), but multiplies are obviously pipelined while divisions are not, so there's still a big throughput win which we would expect to show up in typical FP code. These are the sequences I'm comparing: divss %xmm2, %xmm0 mulss %xmm1, %xmm0 divss %xmm2, %xmm0 Becomes: movss LCPI0_0(%rip), %xmm3 ## xmm3 = mem[0],zero,zero,zero divss %xmm2, %xmm3 mulss %xmm3, %xmm0 mulss %xmm1, %xmm0 mulss %xmm3, %xmm0 [Ignore for the moment that we don't optimize the chain of 3 multiplies into 2 independent fmuls followed by 1 dependent fmul...this is the DAG version of: https://llvm.org/bugs/show_bug.cgi?id=21768 ...if we fix that, then the transform becomes even more profitable on all targets.] Differential Revision: http://reviews.llvm.org/D8941 llvm-svn: 235012
* Add Modulecache::GetAndPut method which wraps sequence of Get and Put (if ↵Oleksiy Vyalov2015-04-153-56/+73
| | | | | | | | module wasn't found in cache) calls. http://reviews.llvm.org/D9013 llvm-svn: 235011
* Fix the ConvenienceVariablesCase tests after r234993Ilia K2015-04-151-4/+1
| | | | llvm-svn: 235010
* [MBP] Spell the conditions the same way through out this if statement.Chandler Carruth2015-04-151-1/+1
| | | | | | NFC. llvm-svn: 235009
* Bug 23051 - Fix zombie processes after lldb-server testsIlia K2015-04-158-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch fixes the following bug: https://llvm.org/bugs/show_bug.cgi?id=23181 For some reason some lldb-server tests should be kicked using SIGHUP and SIGINT before termination, otherwise it will leave a zombie process. I think the reason is that the lldb-server will terminate a slave process if it gets the SIGHUP/SIGINT and if so it should be fixed in lldb-server. The solution is to terminate process like it does the pexpect (including the delayafterterminate interval). Also this patch reverts the following commits: * r234549 - Skip lldb-server tests according to bug 23181 * r234765 - Skip a few tests on OS X according to the bug 23181 * r234803 - Skip the TestGdbRemoteRegisterState.test_grp_register_save_restore_works_no_suffix_debugserver_dsym test on OS X according to the bug 23181 Test Plan: ``` $ ps | grep Z | grep a.out | wc -l 447 $ ./dosep.py --options "-v --executable $INSTALLDIR/bin/lldb" [...] $ ps | grep Z | grep a.out | wc -l 447 ``` Reviewers: jasonmolenda, clayborg, tberghammer Reviewed By: clayborg Subscribers: lldb-commits, dawn, tberghammer, clayborg, jasonmolenda Differential Revision: http://reviews.llvm.org/D9019 llvm-svn: 235008
* [MBP] Sink a comment into the if block to which it pertains. This makesChandler Carruth2015-04-151-1/+1
| | | | | | the content of the comment make much more sense. llvm-svn: 235007
* [MBP] Fix a really misleading typo in a comment.Chandler Carruth2015-04-151-1/+1
| | | | llvm-svn: 235006
* Add teardown hook to shutdown an inferior processIlia K2015-04-151-2/+9
| | | | | | | | | | | | | | Summary: Add teardown hook to shutdown an inferior process Reviewers: jasonmolenda, clayborg, tberghammer Reviewed By: clayborg, tberghammer Subscribers: lldb-commits, tberghammer, clayborg, jasonmolenda Differential Revision: http://reviews.llvm.org/D9018 llvm-svn: 235005
* Write section and section table entries in the same order.Rafael Espindola2015-04-153-53/+18
| | | | | | We had two different orders, which has no value. llvm-svn: 235004
* [msp430] Only support the 'm' inline assembly memory constraint. NFC.Daniel Sanders2015-04-151-6/+0
| | | | | | | | | | | | | | Summary: MSP430 doesn't seem to have any additional constraints. Therefore remove the target hook. No functional change intended. Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8208 llvm-svn: 235003
* Skip TestMiVar test case to get build greenPavel Labath2015-04-151-0/+1
| | | | | | bug report at <https://llvm.org/bugs/show_bug.cgi?id=23239>. llvm-svn: 235002
* ELF/Arch64: Fix testcases requirementsAdhemerval Zanella2015-04-152-0/+4
| | | | | | | This patch fixes 2 aarch64 testcases that require dissassemble output when running on builds that do not enable aarch64 backend. llvm-svn: 235001
* Clarify that Twine::toVector *appends* the Twine to the given SmallString.Yaron Keren2015-04-151-1/+1
| | | | | | | That's the way it works now, since toVector does not clear the given SmallString before printing to it. llvm-svn: 235000
* Revert "Verify sizes when trying to read a VBR"Filipe Cabecinhas2015-04-154-8/+0
| | | | | | | This reverts r234984 since it seems to break some bots (most of them seemed arm*-selfhost). llvm-svn: 234998
* [mips] [IAS] Refactor the function which checks for the availability of AT. NFC.Toma Tabacu2015-04-151-8/+13
| | | | | | | | | | | | | | | | | | Summary: Refactor MipsAsmParser::getATReg to return an internal register number instead of a register index. Also change all the int's to unsigned, seeing as the current AT register index is stored as an unsigned in MipsAssemblerOptions. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8478 llvm-svn: 234996
* Fixed remote failures in TestCPP11EnumTypes, probably othersVince Harron2015-04-151-0/+5
| | | | | | | | | | | | | | | Typically, LLGS only sends stdout/stderr notifications when the inferior process is running. Because LLGS reads stdout from the process in a separate thread, sometimes these stdout notifications can be received after the server has sent a thread stop message. The host isn't expecting stdout to be generated by the target after a stop message and these messages interfere with the host's request/ response paradigm. Differential Revision: http://reviews.llvm.org/D9024 llvm-svn: 234995
* Skip reverse connect test when running remotelyVince Harron2015-04-151-0/+1
| | | | | | | This use case is not supported and may be removed in the future if not needed llvm-svn: 234994
* TestConvenienceVariables - fixed a Linux problemVince Harron2015-04-151-1/+5
| | | | | | | | | Test was waiting for wrong string on Linux. It is still marked as XFAIL because of an intermittent failure. Differential Revision: http://reviews.llvm.org/D8679 llvm-svn: 234993
* Exception registers aren't supported outside of DarwinVince Harron2015-04-151-9/+16
| | | | | | | | Updated test to match Differential Revision: http://reviews.llvm.org/D8812 llvm-svn: 234992
* [ARM] Don't generate veneers when bl->blx fixup is possibleDenis Protivensky2015-04-154-22/+174
| | | | llvm-svn: 234991
* clang-cl: support -fsyntax-only (PR23197)Hans Wennborg2015-04-152-1/+3
| | | | | | | This might help running Clang tooling (which appends this option) with clang-cl command-lines. llvm-svn: 234990
* [ARM] Pass Thumb flag to handler methods instead of atomDenis Protivensky2015-04-151-10/+9
| | | | llvm-svn: 234989
* Changed test to not brake ARM buildbots, NFC.Alexey Bataev2015-04-151-5/+5
| | | | llvm-svn: 234988
* Add single stepping logic for linux armTamas Berghammer2015-04-154-3/+170
| | | | | | | | | | | Linux arm don't support hardware stepping (neither mismatch breakpoints). This patch implement signle stepping with doing a software emulation of the next instruction and then setting a temporary breakpoint at the address where the thread will stop next. Differential revision: http://reviews.llvm.org/D8976 llvm-svn: 234987
* Fix breakpoint trap opcode detection for arm linuxTamas Berghammer2015-04-153-8/+33
| | | | llvm-svn: 234986
OpenPOWER on IntegriCloud