summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a test for the previous commit.Rafael Espindola2015-06-231-0/+3
| | | | | | This shows how two symbols at the same address are handled. llvm-svn: 240374
* [LLDB][MIPS] MIPS32 branch emulation and single-steppingJaydeep Patil2015-06-238-112/+2670
| | | | | | | | | | | | | | | SUMMARY: This patch implements 1. Emulation of MIPS32 branch instructions 2. Enable single-stepping for MIPS32 instructions 3. Correction in emulation of MIPS64 branch instructions with delay slot 4. Adjust breakpoint address when breakpoint is hit in a forbidden slot of compact branch instruction Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, bhushan, lldb-commits, emaste, nitesh.jain Differential Revision: http://reviews.llvm.org/D10596 llvm-svn: 240373
* Handle multiple symbols having the same address.Rafael Espindola2015-06-231-1/+9
| | | | | | I will add an explicit test in a second, but this fixes the bots. llvm-svn: 240372
* Revert "Reduced packet counts to the remote GDB server where possible."Chaoren Lin2015-06-2315-1369/+279
| | | | | | | | | | This reverts commit 0cc0745ea9c68d7fdcadc9904cee3f13c96dae60. Due to breakage on Linux build bot: http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/3436 llvm-svn: 240371
* Change some if/else chains to 'switch' statements. NFCDouglas Katzman2015-06-231-24/+46
| | | | | | Differential Revision: http://reviews.llvm.org/D10612 llvm-svn: 240370
* [InstCombine] Optimize subtract of selects into a select of a subDavid Majnemer2015-06-232-0/+48
| | | | | | | This came up when examining some code generated by clang's IRGen for certain member pointers. llvm-svn: 240369
* Fix tests when X86 is not enabled.Rafael Espindola2015-06-232-0/+2
| | | | llvm-svn: 240368
* Compute correct symbol sizes for MachO and COFF.Rafael Espindola2015-06-232-2/+53
| | | | | | Before this would dump from the symbol start to the end of the section. llvm-svn: 240367
* Extract an utility for computing symbol sizes on MachO and COFF.Rafael Espindola2015-06-234-44/+123
| | | | | | I will add a second user in the next commit. llvm-svn: 240366
* AMDGPU: Use getAsInteger instead of atoiMatt Arsenault2015-06-231-3/+5
| | | | llvm-svn: 240365
* [FaultMaps] Move FaultMapParser to Object/Sanjoy Das2015-06-236-183/+230
| | | | | | | | | | | | | | | | | | Summary: That way llvm-objdump can rely on it without adding an extra dependency on CodeGen. This change duplicates the FaultKind enum and the code that serializes it to a string. I could not figure out a way to get around this without adding a new dependency to Object Reviewers: rafael, ab Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10619 llvm-svn: 240364
* Fix a typo in a comment in FaultMaps.h. NFC.Sanjoy Das2015-06-231-1/+1
| | | | llvm-svn: 240363
* llvm/tools/llvm-objdump/CMakeLists.txt: Update libdeps to fix r240304.NAKAMURA Takumi2015-06-231-0/+1
| | | | llvm-svn: 240362
* [x86] generalize reassociation optimization in machine combiner to 2 ↵Sanjay Patel2015-06-234-173/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instructions Currently ( D10321, http://reviews.llvm.org/rL239486 ), we can use the machine combiner pass to reassociate the following sequence to reduce the critical path: A = ? op ? B = A op X C = B op Y --> A = ? op ? B = X op Y C = A op B 'op' is currently limited to x86 AVX scalar FP adds (with fast-math on), but in theory, it could be any associative math/logic op (see TODO in code comment). This patch generalizes the pattern match to ignore the instruction that defines 'A'. So instead of a sequence of 3 adds, we now only need to find 2 dependent adds and decide if it's worth reassociating them. This generalization has a compile-time cost because we can now match more instruction sequences and we rely more heavily on the machine combiner to discard sequences where reassociation doesn't improve the critical path. For example, in the new test case: A = M div N B = A add X C = B add Y We'll match 2 reassociation patterns, but this transform doesn't reduce the critical path: A = M div N B = A add Y C = B add X We need the combiner to reject that pattern but select this: A = M div N B = X add Y C = B add A Differential Revision: http://reviews.llvm.org/D10460 llvm-svn: 240361
* Re-apply "InstrProf: When reading, copy the data instead of taking a ↵Justin Bogner2015-06-223-87/+88
| | | | | | | | | | | | | | reference. NFC" This version fixes a missing include that MSVC noticed and clarifies the ownership of the counter buffer that's passed to InstrProfRecord. This restores r240206, which was reverted in r240208. Patch by Betul Buyukkurt. llvm-svn: 240360
* InstrProf: Add a test for multiple copies of the same with different hashesJustin Bogner2015-06-221-0/+6
| | | | | | | | This functionality wasn't being tested. Patch by Betul Buyukkurt. llvm-svn: 240359
* Create Value.def helper. NFC.Pete Cooper2015-06-222-24/+94
| | | | | | | | | | This is similar to Metadata.def and Instructions.def but for Value's. It will be used in upcoming commits to devirtualize the Value class. Reviewed by Duncan Exon Smith. llvm-svn: 240358
* Fix PR23914.Evgeniy Stepanov2015-06-222-1/+17
| | | | | | | r226830 moved the declaration of Buf to a nested scope, resulting in a dangling reference (in StringRef Name), and a use-after-free. llvm-svn: 240357
* [CMake] Respect the value of -mmacosx-version-min flag.Alexey Samsonov2015-06-221-5/+12
| | | | | | | Make sure that sanitizer runtimes target OS X version provided in -mmacosx-version-min= flag. Enforce that it should be at least 10.7. llvm-svn: 240356
* Code cleanup: Remove std::move() around xvalue (NFC)Logan Chien2015-06-221-1/+1
| | | | | | | | | | | Remove std::move() around xvalue so that copy elision is eligible. In case that copy elision is not appliable, the c++ standard also guarantees the move semantics on xvalue. Thus, it is not necessary to wrap Args with std::move. This also silence a warning since r240345. llvm-svn: 240355
* Reduced packet counts to the remote GDB server where possible.Greg Clayton2015-06-2215-279/+1369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have been working on reducing the packet count that is sent between LLDB and the debugserver on MacOSX and iOS. Our approach to this was to reduce the packets required when debugging multiple threads. We currently make one qThreadStopInfoXXXX call (where XXXX is the thread ID in hex) per thread except the thread that stopped with a stop reply packet. In order to implement multiple thread infos in a single reply, we need to use structured data, which means JSON. The new jThreadsInfo packet will attempt to retrieve all thread infos in a single packet. The data is very similar to the stop reply packets, but packaged in JSON and uses JSON arrays where applicable. The JSON output looks like: [ { "tid":1580681, "metype":6, "medata":[2,0], "reason":"exception", "qaddr":140735118423168, "registers": { "0":"8000000000000000", "1":"0000000000000000", "2":"20fabf5fff7f0000", "3":"e8f8bf5fff7f0000", "4":"0100000000000000", "5":"d8f8bf5fff7f0000", "6":"b0f8bf5fff7f0000", "7":"20f4bf5fff7f0000", "8":"8000000000000000", "9":"61a8db78a61500db", "10":"3200000000000000", "11":"4602000000000000", "12":"0000000000000000", "13":"0000000000000000", "14":"0000000000000000", "15":"0000000000000000", "16":"960b000001000000", "17":"0202000000000000", "18":"2b00000000000000", "19":"0000000000000000", "20":"0000000000000000"}, "memory":[ {"address":140734799804592,"bytes":"c8f8bf5fff7f0000c9a59e8cff7f0000"}, {"address":140734799804616,"bytes":"00000000000000000100000000000000"} ] } ] It contains an array of dicitionaries with all of the key value pairs that are normally in the stop reply packet. Including the expedited registers. Notice that is also contains expedited memory in the "memory" key. Any values in this memory will get included in a new L1 cache in lldb_private::Process where if a memory read request is made and that memory request fits into one of the L1 memory cache blocks, it will use that memory data. If a memory request fails in the L1 cache, it will fall back to the L2 cache which is the same block sized caching we were using before these changes. This allows a process to expedite memory that you are likely to use and it reduces packet count. On MacOSX with debugserver, we expedite the frame pointer backchain for a thread (up to 256 entries) by reading 2 pointers worth of bytes at the frame pointer (for the previous FP and PC), and follow the backchain. Most backtraces on MacOSX and iOS now don't require us to read any memory! We will try these packets out and if successful, we should port these to lldb-server in the near future. <rdar://problem/21494354> llvm-svn: 240354
* Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").Alexander Kornienko2015-06-22344-643/+619
| | | | llvm-svn: 240353
* [LoopDist] Improve variable names and comments in LoopVersioning class, NFCAdam Nemet2015-06-223-32/+36
| | | | | | | | As with the previous patch, the goal is to turn the class into a general loop-versioning class. This patch removes any references to loop distribution. llvm-svn: 240352
* Fix a crasher on the MacOSX test suite for Objective C.Greg Clayton2015-06-221-1/+1
| | | | llvm-svn: 240351
* [modules] When building a module, if there are multiple matches for a headerRichard Smith2015-06-226-0/+12
| | | | | | | file in the loaded module maps and one of them is from the current module, that's the right match. llvm-svn: 240350
* Update for LLVM API change to return by InputArgList directly (rather than ↵David Blaikie2015-06-225-87/+89
| | | | | | by pointer) from ParseArgs llvm-svn: 240349
* Update for LLVM API change to return by InputArgList directly (rather than ↵David Blaikie2015-06-221-3/+3
| | | | | | by pointer) from ParseArgs llvm-svn: 240348
* Update for LLVM API change to return by InputArgList directly (rather than ↵David Blaikie2015-06-228-183/+185
| | | | | | by pointer) from ParseArgs llvm-svn: 240347
* Fix missed formatting in prior commit (mostly 80 cols violation and some ↵David Blaikie2015-06-229-45/+49
| | | | | | whitespace around *) llvm-svn: 240346
* Modify ParseArgs to return the InputArgList by value - there's no need for ↵David Blaikie2015-06-225-96/+115
| | | | | | | | | | | | dynamic allocation/ownership here The one caller that does anything other than keep this variable on the stack is the single use of DerivedArgList in Clang, which is a bit more interesting but can probably be cleaned up/simplified a bit further (have DerivedArgList take ownership of the InputArgList rather than needing to reference its Args indirectly) which I'll try to after this. llvm-svn: 240345
* [CMake] Treating LLVM_INCLUDE_TOOLS, which is a bool, as a string to change ↵Chris Bieneman2015-06-221-8/+5
| | | | | | | | | | | | | | | | behaviors of the build is a dirty hack. We shouldn't do it. Summary: I don't think anyone is relying on this behavior for bootstrapping (because I don't think it works), but if you do need it, speak now or forever hold your peace. Reviewers: chapuni, samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10613 llvm-svn: 240344
* Revert r240291: causes problems in self-hosted builds.Pawel Bylica2015-06-222-10/+1
| | | | llvm-svn: 240343
* [X86][FMA4] FMA4 ops can perform unaligned folded loads.Simon Pilgrim2015-06-221-64/+64
| | | | llvm-svn: 240342
* Linker: Do not expect comdat to exist in source module.Peter Collingbourne2015-06-222-2/+8
| | | | llvm-svn: 240341
* Fix line endings (NFC)Joseph Tremoulet2015-06-223-76/+76
| | | | | | | I inadvertently checked these in with Windows-style line endings in r240288. llvm-svn: 240340
* [Object] Search for architecures by name in ↵Frederic Riss2015-06-2211-33/+44
| | | | | | | | | | | | | | | | | | | | | | | | MachOUniversalBinary::getObjectForArch() The reason we need to search by name rather than by Triple::ArchType is to handle subarchitecture correclty. There is no different ArchType for the x86_64h architecture (it identifies itself as x86_64), or for the various ARM subarches. The only way to get to the subarch slice in an universal binary is to search by name. This issue led to hard to debug and transient symbolication failures in Asan tests (it mostly works, because the files are very similar). This also affects the Profiling infrastucture as it is the other user of that API. Reviewers: samsonov, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10604 llvm-svn: 240339
* [CodeGen] Teach X86_64ABIInfo about AVX512.Ahmed Bougacha2015-06-224-5/+93
| | | | | | | | | | | | | | | | As specified in the SysV AVX512 ABI drafts. It follows the same scheme as AVX2: Arguments of type __m512 are split into eight eightbyte chunks. The least significant one belongs to class SSE and all the others to class SSEUP. This also means we change the OpenMP SIMD default alignment on AVX512. Based on r240337. Differential Revision: http://reviews.llvm.org/D9894 llvm-svn: 240338
* [CodeGen] Use enum for AVX level in X86*TargetCodeGenInfo. NFCI.Ahmed Bougacha2015-06-221-21/+44
| | | | | | | Follow-up to r237989: expressing the AVX level as an enum makes it simple to extend it with AVX512. llvm-svn: 240337
* Set missing x86 arch in a CodeGen regression test.Pawel Bylica2015-06-221-1/+2
| | | | | | Fixes the regression test added in r240291. llvm-svn: 240336
* [modules] Add a flag to disable the feature that permits conflicting ↵Richard Smith2015-06-226-7/+25
| | | | | | | | | | | | redefinitions of internal-linkage symbols that are not visible. Such conflicts are an accident waiting to happen, and this feature conflicts with the desire to include existing headers into multiple modules and merge the results. (In an ideal world, it should not be possible to export internal linkage symbols from a module, but sadly the glibc and libstdc++ headers provide 'static inline' functions in a few cases.) llvm-svn: 240335
* test-release.sh: Minor fixes.Hans Wennborg2015-06-221-6/+3
| | | | llvm-svn: 240334
* [X86][AVX2] Added missing stack folding tests for vpshufhw/vpshuflwSimon Pilgrim2015-06-221-2/+14
| | | | llvm-svn: 240332
* R600/SI: Use ELF64 format instead of ELF32Tom Stellard2015-06-224-10/+17
| | | | | | | | | | Reviewers: arsenm, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10392 llvm-svn: 240331
* R600: Use EM_AMDGPU for the ELF Machine typeTom Stellard2015-06-222-5/+6
| | | | | | | | | | Reviewers: arsenm, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10390 llvm-svn: 240330
* Support/ELF: Add EM_AMDGPUTom Stellard2015-06-222-2/+4
| | | | | | | | | | | | Summary: This will be used by the R600 backend. Reviewers: chandlerc, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10389 llvm-svn: 240329
* Add comment about the importance of being adjacent. NFCDouglas Katzman2015-06-221-0/+3
| | | | llvm-svn: 240328
* Adding some more flakey tests to the XFAIL listVince Harron2015-06-224-0/+5
| | | | llvm-svn: 240327
* [X86] Teach load folding to accept scalar _Int users of MOVSS/MOVSD.Ahmed Bougacha2015-06-222-10/+188
| | | | | | | | | | | | | | | | | | | The _Int instructions are special, in that they operate on the full VR128 instead of FR32. The load folding then looks at MOVSS, at the user, and bails out when it sees a size mismatch. What we really know is that the rm_Int instructions don't load the higher lanes, so folding is fine. This happens for the straightforward intrinsic code, e.g.: _mm_add_ss(a, _mm_load_ss(p)); Fixes PR23349. Differential Revision: http://reviews.llvm.org/D10554 llvm-svn: 240326
* Enhance lldb-mi arguments test (MI)Dawn Perchik2015-06-222-10/+39
| | | | | | | | | | | | | | SUMMARY: Add additional arguments to lldb-mi args tests to make sure arguments with quotes are handled correctly. Reviewers: ki.stfu Subscribers: lldb-commits Test Plan: ./dotest.py --executable lldb -f MiInterpreterExecTestCase.test_lldbmi_settings_set_target_run_args_before ./dotest.py --executable lldb -f MiInterpreterExecTestCase.test_lldbmi_settings_set_target_run_args_after Differential Revision: http://reviews.llvm.org/D10523 llvm-svn: 240325
* MIR Serialization: Introduce a lexer for machine instructions.Alex Lorenz2015-06-227-12/+230
| | | | | | | | | | | | This commit adds a function that tokenizes the string containing the machine instruction. This commit also adds a struct called 'MIToken' which is used to represent the lexer's tokens. Reviewers: Sean Silva Differential Revision: http://reviews.llvm.org/D10521 llvm-svn: 240323
OpenPOWER on IntegriCloud