summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* If necessary for indirect encodings, emit stubs.Joerg Sonnenberger2014-05-011-0/+22
| | | | llvm-svn: 207730
* [PECOFF] Fix exported symbol name.Rui Ueyama2014-05-014-4/+15
| | | | | | | | When creating a .lib file, we should strip the leading underscore, but should not strip stdcall atsign suffix. Otherwise produced .lib files cannot be linked. llvm-svn: 207729
* Start fixing pr19147.Rafael Espindola2014-05-012-10/+32
| | | | | | | This makes the coff writer compute the correct symbol value for the test in pr19147. The section is still incorrect, that will be fixed in a followup patch. llvm-svn: 207728
* [PECOFF] Add a test for lib.exe subcommand.Rui Ueyama2014-05-015-18/+71
| | | | | | | | | | | | Previously the input file for the lib.exe command would be removed as soon as the command exits, so we couldn't write a test to check the file contents are correct. This patch adds /lldmoduledeffile: option to retain a copy of the temporary file at the given file path, so that you can see the file if you want. llvm-svn: 207727
* LexicalScopes: Use unique_ptr to manage ownership of abstract LexicalScopes.David Blaikie2014-04-302-10/+12
| | | | llvm-svn: 207726
* Forgotten reformatting.David Blaikie2014-04-301-5/+9
| | | | llvm-svn: 207725
* LexicalScopes: use unique_ptr to own LexicalScope objects.David Blaikie2014-04-302-18/+20
| | | | | | Ownership of abstract scopes coming soon. llvm-svn: 207724
* Add missing breaks.Joerg Sonnenberger2014-04-301-0/+3
| | | | llvm-svn: 207723
* The newest versions of CMake require outputs of custom commands be inChandler Carruth2014-04-301-1/+1
| | | | | | | | DEPENDS rather than SOURCES. The SOURCES just end up looking on the filesystem and not finding anything. Makes for very hard to debug build errors. =/ llvm-svn: 207722
* Switch over getArch()'s result.Joerg Sonnenberger2014-04-301-15/+28
| | | | llvm-svn: 207721
* Use a single data structure to store all user variables in DwarfDebugAlexey Samsonov2014-04-303-19/+15
| | | | | | | | | | | | | | | | | | Summary: Get rid of UserVariables set, and turn DbgValues into MapVector to get a fixed ordering, as suggested in review for http://reviews.llvm.org/D3573. Test Plan: llvm regression tests Reviewers: dblaikie Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D3579 llvm-svn: 207720
* Revert "Emit DW_AT_object_pointer once, on the declaration, for each function."David Blaikie2014-04-306-48/+14
| | | | | | | | | | | | | | Breaks GDB buildbot (http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/14517) GCC emits DW_AT_object_pointer /everywhere/ (declaration, abstract definition, inlined subroutine), but it looks like GCC relies on it being somewhere other than the declaration, at least. I'll experiment further & can hopefully still remove it from the inlined_subroutine. This reverts commit r207705. llvm-svn: 207719
* Prepare support of Itanium ABI on ARM as opposed to EHABI byJoerg Sonnenberger2014-04-302-15/+20
| | | | | | conditionally emitting .fnstart and friends only for EHABI. llvm-svn: 207718
* DebugInfo: Omit DW_AT_artificial on DW_TAG_formal_parameters in ↵David Blaikie2014-04-304-20/+34
| | | | | | | | | | | | DW_TAG_inlined_subroutines. They just don't need to be there - they're inherited from the abstract definition. In theory I would like them to be inherited from the declaration, but the DWARF standard doesn't quite say that... we can probably do it anyway but I'm less confident about that so I'll leave it for a separate commit. llvm-svn: 207717
* Restore condition incorrectly changed in r96289 to the older state.Joerg Sonnenberger2014-04-301-1/+1
| | | | llvm-svn: 207716
* Fix ClangTidyOptions constructor to initialize all members. Fixes bug ↵Alex McCarthy2014-04-301-1/+1
| | | | | | | | | | | | introduced in r207652. Reviewers: rsmith Subscribers: cfe-commits, alexfh, klimek Differential Revision: http://reviews.llvm.org/D3578 llvm-svn: 207715
* Convert more loops to range-based equivalentsAlexey Samsonov2014-04-3013-130/+103
| | | | llvm-svn: 207714
* Patch for function cloning to inline all blocks whose address is takenGerolf Hoflehner2014-04-301-34/+106
| | | | | | | | | | | | | Not all address taken blocks get inlined. The reason is that a blocks new address is known only when it is cloned. But e.g. a branch instruction in a different block could need that address earlier while it gets cloned. The solution is to collect the set of all blocks that can potentially get inlined and compute a new block address up front. Then clone and cleanup. rdar://16427209 llvm-svn: 207713
* Comment parsing: remove HTML attribute validationDmitri Gribenko2014-04-308-120/+33
| | | | | | | | | | | | Since the community says that a blacklist is not good enough, and I don't have enough time now to implement a proper whitelist, let's just remove the attribute validation. But, nevertheless, we can still communicate in the generated XML if our parser found an issue with the HTML. But this bit is best-effort and is specifically called out in the schema as such. llvm-svn: 207712
* Provide a version of getSymbolOffset that returns false on error.Rafael Espindola2014-04-303-38/+53
| | | | | | | This simplifies ELFObjectWriter::SymbolValue a bit more. This new version will also be used in the COFF writer to fix pr19147. llvm-svn: 207711
* Slightly simplify code in DwarfDebug::beginFunctionAlexey Samsonov2014-04-301-7/+5
| | | | llvm-svn: 207710
* Add %run to all lit testsGreg Fitzgerald2014-04-30422-938/+938
| | | | llvm-svn: 207709
* Move logic for calculating DBG_VALUE history map into separate file/class.Alexey Samsonov2014-04-305-124/+207
| | | | | | | | | | | | | | | | Summary: No functionality change. Test Plan: llvm regression test suite. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: echristo, llvm-commits Differential Revision: http://reviews.llvm.org/D3573 llvm-svn: 207708
* Allow any test to be executed via a %run command.Greg Fitzgerald2014-04-309-11/+35
| | | | | | | | Configure %run with COMPILER_RT_EMULATOR: $ cmake -DCOMPILER_RT_EMULATOR="qemu-arm -L $SYSROOT" llvm-svn: 207707
* Move a testcase from ELF to ARM64, incorrectly placed in r207627.James Molloy2014-04-301-0/+0
| | | | llvm-svn: 207706
* Emit DW_AT_object_pointer once, on the declaration, for each function.David Blaikie2014-04-306-14/+48
| | | | | | | | | | | | | | | | This effectively reverts r164326, but adds some comments and justification and ensures we /don't/ emit the DW_AT_object_pointer on the (abstract and concrete) definitions. (while still preserving it on standalone definitions involving ObjC Blocks) This does increase the size of member function declarations from 7 to 11 bytes, unfortunately, but still seems like the Right Thing to do so that callers that see only the declaration still have the information about the object pointer. That said, I don't know what, if any, DWARF consumers don't have a heuristic to guess this in the case of normal C++ member functions - perhaps we can remove it entirely. llvm-svn: 207705
* Don't expect to find fpcmp and PerfectShuffle when running lit testsAlexey Samsonov2014-04-301-2/+0
| | | | llvm-svn: 207704
* Remove unused field hash_state::seed.Jay Foad2014-04-301-2/+1
| | | | llvm-svn: 207703
* [ARM64] Prevent bit extraction to be adjusted by following shiftWeiming Zhao2014-04-305-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | For pattern like ((x >> C1) & Mask) << C2, DAG combiner may convert it into (x >> (C1-C2)) & (Mask << C2), which makes pattern matching of ubfx more difficult. For example: Given %shr = lshr i64 %x, 4 %and = and i64 %shr, 15 %arrayidx = getelementptr inbounds [8 x [64 x i64]]* @arr, i64 0, %i64 2, i64 %and %0 = load i64* %arrayidx With current shift folding, it takes 3 instrs to compute base address: lsr x8, x0, #1 and x8, x8, #0x78 add x8, x9, x8 If using ubfx, it only needs 2 instrs: ubfx x8, x0, #4, #4 add x8, x9, x8, lsl #3 This fixes bug 19589 llvm-svn: 207702
* Fix the clang-cl self-host build by defining ~DwarfDebug out of lineReid Kleckner2014-04-302-0/+5
| | | | | | | | | | | | DwarfDebug.h has a SmallVector member containing a unique_ptr of an incomplete type. MSVC doesn't have key functions, so the vtable and dtor are emitted in AsmPrinter.cpp, where DwarfDebug's ctor is called. AsmPrinter.cpp include DwarfUnit.h and doesn't get a complete definition of DwarfTypeUnit. We could fix the problem by including DwarfUnit.h in DwarfDebug.h, but that would increase header bloat. Instead, define ~DwarfDebug out of line. llvm-svn: 207701
* Sometimes when launching through a shell, we can run into cases where the ↵Greg Clayton2014-04-301-0/+21
| | | | | | /bin/sh or /usr/bin/arch can crash the process due to security measures. Now we correctly report when a process exited in the process of launching so we can show the reason why it crashed instead of just showing “initial process state wasn't stopped: exited”. llvm-svn: 207700
* Allow for a task port to change when we exec. Greg Clayton2014-04-304-11/+33
| | | | llvm-svn: 207699
* Report the result of waitpid() a little more clearly as well as clearly ↵Greg Clayton2014-04-301-13/+55
| | | | | | logging the process status. llvm-svn: 207698
* Add a testcase for r207627.James Molloy2014-04-301-0/+4
| | | | llvm-svn: 207697
* PR19601: std::remove_if does not really remove the elements.Arnaud A. de Grandmaison2014-04-301-2/+3
| | | | | | | | It moves them at the end of the range instead, so an extra erase is needed. It is strange that this code works without the erase. On the other hand, removing the remove_if will make fail some tests. llvm-svn: 207696
* Exceptions store the message as reference counted string forJoerg Sonnenberger2014-04-303-112/+163
| | | | | | | | | compatibility to libstdc++. Move the implementation into a header for easier sharing with libc++abi. Merge a number of improvements from that version. Provide a POD definition for <stdexcept>'s public use to avoid cast dances. Discussed with Marshall Clow. llvm-svn: 207695
* Use the new StringTableBuilder in yaml2elfHans Wennborg2014-04-303-53/+35
| | | | | | http://reviews.llvm.org/D3574 llvm-svn: 207694
* Revert r207571 - Add slp vectorization to LTO passesYi Jiang2014-04-301-3/+0
| | | | llvm-svn: 207693
* [X86] Never hoist the shift value of a shift instruction.Michael Zolotukhin2014-04-303-7/+31
| | | | | | | | | | | There is no need to check if we want to hoist the immediate value of an shift instruction. Simply return TCC_Free right away. This change is like r206101, but for X86. rdar://problem/16190769 llvm-svn: 207692
* [Driver] Check type of InputElement before request a error message. If theSimon Atanasyan2014-04-301-2/+7
| | | | | | | | element is a FileNode, request error description. If the element is Group, print hard coded error message. We need to implement a better diagnostics here but even current solution is better than a segmentation fault output. llvm-svn: 207691
* [ELF] Return result from the function ASAP.Simon Atanasyan2014-04-301-16/+6
| | | | | | No functional changes. llvm-svn: 207690
* [ELF] Factor out the code builds a library search directory pathSimon Atanasyan2014-04-301-14/+12
| | | | | | | | into the separate function. No functional changes. llvm-svn: 207689
* [Driver] Remove the redundant cast.Simon Atanasyan2014-04-301-1/+1
| | | | | | No functional changes. llvm-svn: 207688
* [Mips] Recognize MIPS emulation name 'elf32ltsmip'.Simon Atanasyan2014-04-301-0/+4
| | | | llvm-svn: 207687
* Fix typos in carries_dependency docsReid Kleckner2014-04-301-2/+2
| | | | llvm-svn: 207686
* Fix build broken by LLVM commit r207593Tom Stellard2014-04-301-0/+1
| | | | llvm-svn: 207685
* Remove clc/gentype.incTom Stellard2014-04-301-51/+0
| | | | | | | | | This file duplicates clc/math/gentype.inc and is not actually being used. Patch by: Jeroen Ketema llvm-svn: 207684
* Convert several loops over MachineFunction basic blocks to range-based loopsAlexey Samsonov2014-04-307-58/+42
| | | | llvm-svn: 207683
* Sema: Implement DR477David Majnemer2014-04-305-7/+38
| | | | | | | | | | | | Summary: Friend declarations shouldn't mention explicit or virtual. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3562 llvm-svn: 207682
* When typo-correcting a member using declaration, don't exclude member templates.Richard Smith2014-04-302-28/+35
| | | | llvm-svn: 207681
OpenPOWER on IntegriCloud