summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Hexagon] Implement commoning of GetElementPtr instructionsKrzysztof Parzyszek2015-07-085-0/+1453
| | | | llvm-svn: 241714
* COFF: Set parent name for bitcode files.Peter Collingbourne2015-07-082-5/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D10983 llvm-svn: 241713
* Implement qXfer:libraries:read.Stephane Sezer2015-07-081-59/+111
| | | | | | | | | | | | | | Summary: This is used on non-unix platforms, where qXfer:libraries-svr4:read doesn't make sense. Windows uses that for instance. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11036 llvm-svn: 241712
* Remove unused diagnostics. NFC.Benjamin Kramer2015-07-082-5/+0
| | | | llvm-svn: 241711
* LibDriver: Fix output path inference.Peter Collingbourne2015-07-082-11/+22
| | | | | | | | | The inferred output file name is based on the first input file, not the first one with extension .obj. The output file was also being written to the wrong directory; it needs to be written to whichever directory on the libpath it was found in. This change fixes both issues. llvm-svn: 241710
* [Driver] print-multi-os-directory is unsupported. Davide Italiano2015-07-082-9/+2
| | | | | | | | | Until somebody writes the code for it, be loud about the fact that it's not implemented yet. Differential Revision: http://reviews.llvm.org/D11020 llvm-svn: 241708
* [LAA] Add missing debug output after r239285Adam Nemet2015-07-081-1/+3
| | | | | | | | | r239285 ([LoopAccessAnalysis] Teach LAA to check the memory dependence between strided accesses.) introduced a new case under MemoryDepChecker::isDependent. We normally have debug output for each case. llvm-svn: 241707
* [Static Analyzer] Make the paths relative from the project root when ↵Gabor Horvath2015-07-082-4/+17
| | | | | | generating reference results in the test suite. llvm-svn: 241706
* AST: Avoid reading an unitialized valueJustin Bogner2015-07-081-2/+2
| | | | | | | | | | Desugar doesn't necessarily initialize ShouldAKA, but as of r241542 it may read it. Fix the misuse of the API and initialize this before passing it in. Found by ubsan. llvm-svn: 241705
* [SEH] Re-enable SEH on x86 Windows after r241699Reid Kleckner2015-07-083-6/+5
| | | | llvm-svn: 241704
* Object/COFF: Fix import library's getNameType method.Rui Ueyama2015-07-081-1/+1
| | | | | | | This expression to extract bits were simply wrong. I'm going to test this functionality from LLD. llvm-svn: 241703
* Try to enable TestProcessAttach tests on Linux.Oleksiy Vyalov2015-07-081-6/+0
| | | | | | http://reviews.llvm.org/D11013 llvm-svn: 241702
* COFF: Handle /machine option in a similar manner for other options. NFC.Rui Ueyama2015-07-084-21/+17
| | | | llvm-svn: 241701
* [SEH] Add missing test case from previous realignment commitReid Kleckner2015-07-081-0/+101
| | | | llvm-svn: 241700
* [SEH] Ensure that empty __except blocks have their own BBReid Kleckner2015-07-083-3/+40
| | | | | | | | | The 32-bit lowering assumed that WinEHPrepare had this invariant. WinEHPrepare did it for C++, but not SEH. The result was that we would insert calls to llvm.x86.seh.restoreframe in normal basic blocks, which corrupted the frame pointer. llvm-svn: 241699
* Expand LangRef.html's documentation on LLVM's inline assembly.James Y Knight2015-07-081-9/+619
| | | | | | | | | | While trying to figure out how this was all supposed to work, I figured I'd start writing down some documentation, since it was basically completely missing. Differential Revision: http://reviews.llvm.org/D10816 llvm-svn: 241698
* Move WindowsDYLD to the Plugins/DynamicLoader directory.Stephane Sezer2015-07-088-31/+34
| | | | | | | | | | | | | | | | | | | | | Summary: This commit moves the Windows DyanamicLoader to the common DynamicLoader directory. This is required to remote debug Windows targets. This commit also initializes the Windows DYLD plugin in SystemInitializerCommon (similarly to both POSIX and MacOSX DYLD plugins) so that we can automatically instantiate this class when connected to a windows process. Test Plan: Build. Reviewers: zturner Subscribers: lldb-commits, abdulras Differential Revision: http://reviews.llvm.org/D10882 llvm-svn: 241697
* Create lld-link2 symlink/copy for new COFF linker.Peter Collingbourne2015-07-081-0/+5
| | | | | | | | | | | | | | | | | | This situation will only be temporary; I imagine we will eventually want to have the new linker take the lld-link alias after we remove the old one. However, I would like to port the CFI test suite in the compiler-rt repository to Windows using the new COFF linker's LTO support; these tests currently use gcc-style command lines and invoke the linker via the compiler driver. We can select the linker using the -fuse-ld flag, which Clang supports on Windows, but it takes an executable name, rather than a list of arguments (so "-fuse-ld=lld -flavor link2" wouldn't work), and it doesn't seem worth the effort to extend the Clang driver to support arguments. Differential Revision: http://reviews.llvm.org/D11031 llvm-svn: 241696
* Fixed a serious bug in DeportType where the types could retain DeclContexts thatSean Callanan2015-07-082-0/+146
| | | | | | | | | | | | | pointed into the artificial function constructed for the expression. I now make anything that pointed to the function as its DeclContext be global while the copy occurs; afterward I restored the old DeclContext. Added a testcase that make sure that this works properly and doesn't crash anything. <rdar://problem/21049838> llvm-svn: 241695
* MC: Make MCSubtargetInfo::isCPUStringValid() const, NFCDuncan P. N. Exon Smith2015-07-081-1/+1
| | | | | | This method doesn't modify any members, so it should be const. llvm-svn: 241694
* MC: Constify MCSubtargetInfo in getDeprecationInfo(), NFCDuncan P. N. Exon Smith2015-07-083-7/+8
| | | | | | | There's no reason to be able to mutate `MCSubtargetInfo` in `getDeprecationInfo()`. Constify the reference. llvm-svn: 241693
* Inline function into only use.Rafael Espindola2015-07-081-12/+6
| | | | llvm-svn: 241692
* Add a helper function to reduce a bit of code duplication.Rafael Espindola2015-07-081-25/+22
| | | | llvm-svn: 241691
* Update PCHInternals.rst to document PCH wrapped in object file containers.Adrian Prantl2015-07-081-8/+18
| | | | llvm-svn: 241690
* COFF: Emit a symbol table if /debug is specifiedDavid Majnemer2015-07-086-40/+185
| | | | | | | | | | Providing a symbol table in the executable is quite useful when debugging a fully-linked executable without having to reconstruct one from DWARF. Differential Revision: http://reviews.llvm.org/D11023 llvm-svn: 241689
* Revert r241672, which breaks the OS X build by introducing a dependency onSean Callanan2015-07-0810-77/+198
| | | | | | | | | | | | | | | | platform-specific symbols that are not implemented on OS X. The build error that caused this is Undefined symbols for architecture x86_64: "lldb_private::NativeProcessProtocol::Attach(unsigned long long, lldb_private::NativeProcessProtocol::NativeDelegate&, std::__1::shared_ptr<lldb_private::NativeProcessProtocol>&)", referenced from: lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AttachToProcess(unsigned long long) in liblldb-core.a(GDBRemoteCommunicationServerLLGS.o) "lldb_private::NativeProcessProtocol::Launch(lldb_private::ProcessLaunchInfo&, lldb_private::NativeProcessProtocol::NativeDelegate&, std::__1::shared_ptr<lldb_private::NativeProcessProtocol>&)", referenced from: lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess() in liblldb-core.a(GDBRemoteCommunicationServerLLGS.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) llvm-svn: 241688
* Cosmetic cleanups - NFCEli Bendersky2015-07-082-6/+3
| | | | | | Remove commented lines, trailing whitespace, etc. llvm-svn: 241687
* [SPARC] Cleanup handling of the Y/ASR registers.James Y Knight2015-07-086-14/+44
| | | | | | | | | | | | | | | | | | - Implement copying ASR to/from GPR regs. - Mark ASRs as non-allocatable, so it won't try to arbitrarily use them inappropriately. - Instead of inserting explicit WRASR/RDASR nodes in the MUL/DIV routines, just do normal register copies. - Also...mark div as using Y, not just writing it. Added a test case with some code which previously died with an assertion failure (with -O0), or produced wrong code (otherwise). (Third time's the charm?) Differential Revision: http://reviews.llvm.org/D10401 llvm-svn: 241686
* Use a range loop. NFC.Rafael Espindola2015-07-081-8/+6
| | | | llvm-svn: 241685
* Revert "Fix a linker issue with clang-check on Linux."Adrian Prantl2015-07-081-2/+0
| | | | | | This reverts commit r241636 as it turned out to be unnecessary. llvm-svn: 241684
* [Hexagon] Generate "insert" instructions more aggressivelyKrzysztof Parzyszek2015-07-084-1/+1670
| | | | llvm-svn: 241683
* Revert 241681: causes Windows builds to failKrzysztof Parzyszek2015-07-084-1670/+1
| | | | llvm-svn: 241682
* [Hexagon] Generate "insert" instructions more aggressivelyKrzysztof Parzyszek2015-07-084-1/+1670
| | | | llvm-svn: 241681
* [CMake] clang-check: Prune redundant libdeps introduced in r241653.NAKAMURA Takumi2015-07-081-14/+0
| | | | llvm-svn: 241680
* Tolerate DWARF compile unit without filename.David Srbecky2015-07-081-14/+28
| | | | | | | | | | | Summary: The DW_AT_name attribute of compile unit is optional. If it is missing, try to get filename from the debug_line section. This allows the compile unit to be useful without the filename. Differential Revision: http://reviews.llvm.org/D11003 llvm-svn: 241679
* [MIPS] Add support for direct-to-nacl in ClangPetar Jovanovic2015-07-086-2/+84
| | | | | | | | | | | For Mips direct-to-nacl, the goal is to be close to le32 front-end and use Mips32EL backend. This patch defines new NaClMips32ELTargetInfo and modifies it slightly to be close to le32. It also adds necessary parts, inline with ARM and X86. Differential Revision: http://reviews.llvm.org/D10739 llvm-svn: 241678
* The LLD tests require 'llvm-lib', ensure that this is built.Simon Atanasyan2015-07-081-1/+1
| | | | llvm-svn: 241676
* [yaml2obj] Align section content using AddressAlign field's valueSimon Atanasyan2015-07-082-9/+67
| | | | | | | | Use AddressAlign field's value to properly align sections content in the yaml2obj tool. Before this change the yaml2obj ignored AddressAlign and always aligned section on 16 bytes boundary. llvm-svn: 241674
* [LAA] Merge memchecks for accesses separated by a constant offsetSilviu Baranga2015-07-086-53/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Often filter-like loops will do memory accesses that are separated by constant offsets. In these cases it is common that we will exceed the threshold for the allowable number of checks. However, it should be possible to merge such checks, sice a check of any interval againt two other intervals separated by a constant offset (a,b), (a+c, b+c) will be equivalent with a check againt (a, b+c), as long as (a,b) and (a+c, b+c) overlap. Assuming the loop will be executed for a sufficient number of iterations, this will be true. If not true, checking against (a, b+c) is still safe (although not equivalent). As long as there are no dependencies between two accesses, we can merge their checks into a single one. We use this technique to construct groups of accesses, and then check the intervals associated with the groups instead of checking the accesses directly. Reviewers: anemet Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10386 llvm-svn: 241673
* Avoid going through Platform when creating a NativeProcessProtocol instancePavel Labath2015-07-0810-198/+77
| | | | | | | | | | | | | | | | | | | | | Summary: This commit avoids the Platform instance when spawning or attaching to a process in lldb-server. Instead, I have the server call a (static) method of NativeProcessProtocol directly. The reason for this is that I believe that NativeProcessProtocol should be decoupled from the Platform (after all, it always knows which platform it is running on, unlike the rest of lldb). Additionally, the kind of platform actions a NativeProcessProtocol instance is likely to differ greatly from the platform actions of the lldb client, so I think the separation makes sense. After this, the only dependency NativeProcessLinux has on PlatformLinux is the ResolveExecutable method, which needs additional refactoring. Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10996 llvm-svn: 241672
* [X86][SSE] Added (V)ROUNDSD + (V)ROUNDSS stack folding supportSimon Pilgrim2015-07-083-8/+44
| | | | llvm-svn: 241671
* [EH] Fix for clang bug 24005 - no cleanup for array of memcpy-able objects ↵Alexey Bataev2015-07-082-0/+42
| | | | | | | | | in struct (patch by Denis Zobnin) The fix is to emit cleanup for arrays of memcpy-able objects in struct if an exception is thrown later during copy-construction. Differential Revision: http://reviews.llvm.org/D10989 llvm-svn: 241670
* [yaml2obj] Use regex to match sections offsets. NFCSimon Atanasyan2015-07-082-3/+3
| | | | llvm-svn: 241669
* Revert "parser: wordsmith diagnostic message" and "parser: diagnose empty ↵David Majnemer2015-07-084-9/+8
| | | | | | | | | | | | attribute blocks" This reverts commit r239846 and r239879. They caused clang's -fms-extensions behavior to incorrectly parse lambdas and includes a testcase to ensure we don't regress again. This issue was found in PR24027. llvm-svn: 241668
* [CodeGen] Correctly handle base classes which are passed in memoryDavid Majnemer2015-07-082-2/+20
| | | | | | | | | | | We didn't correctly process the case where a base class is classified as MEMORY. This would cause us to trip over an assertion. This fixes PR24020. Differential Revision: http://reviews.llvm.org/D10907 llvm-svn: 241667
* [CodeGen] Don't crash classifying a union of an AVX vector and an intDavid Majnemer2015-07-082-0/+11
| | | | | | | | | | | | We forgot to run postMerge after decided that the union had to be classified as MEMORY. This left us with Lo == MEMORY and Hi == SSEUp which is an invalid combination. This fixes PR24021. Differential Revision: http://reviews.llvm.org/D10908 llvm-svn: 241666
* Allow constfolding of llvm.sin.* and llvm.cos.* intrinsicsKarthik Bhat2015-07-082-0/+28
| | | | | | | | This patch const folds llvm.sin.* and llvm.cos.* intrinsics whenever feasible. Differential Revision: http://reviews.llvm.org/D10836 llvm-svn: 241665
* SemaDeclObjC.cpp: Escape \@ in comment lines. [-Wdocumentation]NAKAMURA Takumi2015-07-081-2/+2
| | | | llvm-svn: 241664
* Revert r241621, "[CMake] Cleanup tools/CMakeLists.txt to take advantage of ↵NAKAMURA Takumi2015-07-082-52/+88
| | | | | | | | the auto-registration that was already partially working." It broke the build that relies on LLVM_EXTERNAL_CLANG_*. llvm-svn: 241663
* [modules] When determining the visible module set during templateRichard Smith2015-07-085-3/+25
| | | | | | | instantiation, use the set of modules visible from the template definition, not from whichever declaration the specialization was instantiated from. llvm-svn: 241662
OpenPOWER on IntegriCloud