summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Avoid going through Platform when creating a NativeProcessProtocol instancePavel Labath2015-07-0911-198/+99
| | | | | | | | | | | | | | | | | | | | | | | | 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. This is a resubmit of r241672, after it was reverted due to build failueres on non-linux platforms. Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10996 llvm-svn: 241796
* Fix TestStopHookMultipleThreads and TestNamespace after r241751Pavel Labath2015-07-091-6/+3
| | | | | | | | | | | | | The mentioned commit introduced a subtle change in behavior when printing variable names. This occured when we have a variable, for which we only know the demangled name, because the compiler has failed to provide one (this typically happens for variables in anonymous namespaces). A Mangled class which contains only a demangled name considers itself to be invalid (this could possibly be a bug), but it's GetName() method still returns a valid demangled name. The previous commit introduced the check for the validity of the class, and if it failed, it would fall back to printing the bare name (without the namespace prefixes, as the tests were expecting). I revert this part of the commit and check the validity of the string returned by GetName() instead. llvm-svn: 241795
* Add support for nest attribute to AArch64 backendRenato Golin2015-07-091-0/+5
| | | | | | | | | | | | | | | The nest attribute is currently supported on the x86 (32-bit) and x86-64 backends, but not on ARM (32-bit) or AArch64. This patch adds support for nest to the AArch64 backend. Register x18 is used by GCC for this purpose and hence is used here. As discussed on the GCC mailing list the register choice is an ABI issue and so choosing the same register as GCC means __builtin_call_with_static_chain is compatible. Patch by Stephen Cross. llvm-svn: 241794
* Add getSizeInBits function to the APFloat classTamas Berghammer2015-07-092-8/+19
| | | | | | | | | The newly added function returns the size of the specified floating point semantics in bits. Differential revision: http://reviews.llvm.org/D8413 llvm-svn: 241793
* Revert r241790: Fix shift legalization and lowering for big constants.Pawel Bylica2015-07-094-62/+19
| | | | llvm-svn: 241792
* [lldb-mi] Remove unused typedefs.Bruce Mitchener2015-07-091-6/+0
| | | | | | | | | | | | Summary: [lldb-mi] Remove unused typedefs. Reviewers: abidh, ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11050 llvm-svn: 241791
* Fix shift legalization and lowering for big constants.Pawel Bylica2015-07-094-19/+62
| | | | | | | | | | | | Summary: If shift amount is a constant value > 64 bit it is handled incorrectly during type legalization and X86 lowering. This patch the type of shift amount argument in function DAGTypeLegalizer::ExpandShiftByConstant from unsigned to APInt. Reviewers: nadav, majnemer, sanjoy, RKSimon Subscribers: RKSimon, llvm-commits Differential Revision: http://reviews.llvm.org/D10767 llvm-svn: 241790
* Add clang_free to libclang to free memory allocated in libclang.Yaron Keren2015-07-094-4/+17
| | | | | | | | | | | | | | One of the problems libclang tests has running under Windows is memory allocated in libclang.dll but being freed in the test executable, possibly by a different memory manager. This patch exposes a new export function, clang_free(), used to free any allocated memory with the same libclang.dll memory manager that allocated the memory. http://reviews.llvm.org/D10949 Reviewed by Reid Kleckner, Douglas Gregor. llvm-svn: 241789
* Extended syntax of vector version of getelementptr instruction.Elena Demikhovsky2015-07-099-36/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | The justification of this change is here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/082989.html According to the current GEP syntax, vector GEP requires that each index must be a vector with the same number of elements. %A = getelementptr i8, <4 x i8*> %ptrs, <4 x i64> %offsets In this implementation I let each index be or vector or scalar. All vector indices must have the same number of elements. The scalar value will mean the splat vector value. (1) %A = getelementptr i8, i8* %ptr, <4 x i64> %offsets or (2) %A = getelementptr i8, <4 x i8*> %ptrs, i64 %offset In all cases the %A type is <4 x i8*> In the case (2) we add the same offset to all pointers. The case (1) covers C[B[i]] case, when we have the same base C and different offsets B[i]. The documentation is updated. http://reviews.llvm.org/D10496 llvm-svn: 241788
* Make non-affine statement names isl compatibleTobias Grosser2015-07-0916-97/+99
| | | | | | | | | Named isl sets can generally have any name if they remain within Polly, but only certain strings can be parsed by isl. The new names we create ensure that we can always copy-past isl strings from Polly to other isl tools, e.g. for debugging. llvm-svn: 241787
* Driver: Include the driver arguments in crash reportsJustin Bogner2015-07-095-8/+32
| | | | | | | Similarly to r231989, the driver arguments can be quite helpful in diagnosing a crash. llvm-svn: 241786
* [LAA] Fix line break in commentAdam Nemet2015-07-091-1/+1
| | | | llvm-svn: 241785
* [LAA] Rename IsRTNeeded to IsRTCheckAnalysisNeededAdam Nemet2015-07-091-6/+17
| | | | | | | | | | | | The original name was too close to NeedRTCheck which is what the actual memcheck analysis returns. This flag, as the new name suggests, is only used to whether to initiate that analysis. Also a comment is added to answer one question I had about this code for a long time. Namely, how does this flag differ from isDependencyCheckNeeded since they are seemingly set at the same time. llvm-svn: 241784
* llvm-readobj: Fix an unused variable after r241764Justin Bogner2015-07-091-2/+3
| | | | llvm-svn: 241783
* Revert r241770 and add Basic to the dependencies of clang-check instead.Adrian Prantl2015-07-093-3/+4
| | | | | | PR24067. llvm-svn: 241782
* Temporarily reverting 241765, 241768, and 241772 to unbreak the build bots.Adrian Prantl2015-07-098-102/+27
| | | | llvm-svn: 241781
* Remove getDataLayout() from TargetSelectionDAGInfo (had no users)Mehdi Amini2015-07-0942-306/+28
| | | | | | | | | | | | | | | | | | Summary: Remove empty subclass in the process. This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren, ted Differential Revision: http://reviews.llvm.org/D11045 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241780
* Remove getDataLayout() from TargetLoweringMehdi Amini2015-07-0916-113/+120
| | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11042 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241779
* Make isLegalAddressingMode() taking DataLayout as an argumentMehdi Amini2015-07-0925-68/+68
| | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11040 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241778
* Make getByValTypeAlignment() taking DataLayout as an argumentMehdi Amini2015-07-098-11/+16
| | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11038 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241777
* Make TargetLowering::getShiftAmountTy() taking DataLayout as an argumentMehdi Amini2015-07-0925-143/+192
| | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11037 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241776
* Make TargetLowering::getPointerTy() taking DataLayout as an argumentMehdi Amini2015-07-0972-1326/+1568
| | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, ted, yaron.keren, rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D11028 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241775
* Make TargetTransformInfo keeping a reference to the Module DataLayoutMehdi Amini2015-07-0919-190/+61
| | | | | | | | | | | | | | | | | | | | DataLayout is no longer optional. It was initialized with or without a DataLayout, and the DataLayout when supplied could have been the one from the TargetMachine. Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11021 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241774
* Redirect DataLayout from TargetMachine to Module in ComputeValueVTs()Mehdi Amini2015-07-0916-104/+113
| | | | | | | | | | | | | | | | | | | | Summary: Avoid using the TargetMachine owned DataLayout and use the Module owned one instead. This requires passing the DataLayout up the stack to ComputeValueVTs(). This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, yaron.keren, rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D11019 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241773
* Silence a warning, trying to unbreak the build after r241765.Davide Italiano2015-07-091-1/+1
| | | | llvm-svn: 241772
* COFF: Fix import thunks and name mangling for x86.Rui Ueyama2015-07-097-25/+141
| | | | | | | With this patch, LLD is now able to correctly link a "hello world" program written in assembly for 32-bit x86. llvm-svn: 241771
* Move the definition of ~PCHContainerOperations from Basic into Frontend.Adrian Prantl2015-07-092-3/+3
| | | | | | Fixes PR24067. llvm-svn: 241770
* Fix typename issues.Michael J. Spencer2015-07-091-2/+2
| | | | llvm-svn: 241768
* COFF: Support 32-bit x86 DLL import table.Rui Ueyama2015-07-095-8/+111
| | | | llvm-svn: 241767
* [Object][ELF] Support dumping hash-tables from files with no section table.Michael J. Spencer2015-07-098-27/+102
| | | | llvm-svn: 241765
* [CodeView] Add support for emitting column informationDavid Majnemer2015-07-099-50/+259
| | | | | | | | | | Column information is present in CodeView when the line table subsection has bit 0 set to 1 in it's flags field. The column information is represented as a pair of 16-bit quantities: a starting and ending column. This information is present at the end of the chunk, after all the line-PC pairs. llvm-svn: 241764
* [LAA] Fix misleading use of word 'consecutive'Adam Nemet2015-07-091-3/+3
| | | | | | | Fix some places where the word consecutive is used but the code really means constant-stride (i.e. not just unit stride). llvm-svn: 241763
* MIR Serialization: Serialize the 'undef' register machine operand flag.Alex Lorenz2015-07-085-2/+52
| | | | llvm-svn: 241762
* Disable 32-bit SEH, againReid Kleckner2015-07-085-9/+10
| | | | | | | | Move the diagnostic back to codegen so that we can compile ATL on the self-host bot. We don't actually end up emitting code for the __try, so the diagnostic won't be hit. llvm-svn: 241761
* [SLPVectorizer] Try different vectorization factors for store chainsSanjay Patel2015-07-086-31/+76
| | | | | | | | | | | | | | | | ...and set max vector register size based on target This patch is based on discussion on the llvmdev mailing list: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-July/087405.html and also solves: https://llvm.org/bugs/show_bug.cgi?id=17170 Several FIXME/TODO items are noted in comments as potential improvements. Differential Revision: http://reviews.llvm.org/D10950 llvm-svn: 241760
* RegisterPressure: Add PressureDiff::dump()Matthias Braun2015-07-082-0/+14
| | | | | | | Also display the pressure diff in the case of a getMaxUpwardPressureDelta() verify failure. llvm-svn: 241759
* UBSan: Simplify logic for locating the RTTI object.Peter Collingbourne2015-07-081-7/+16
| | | | | | | | | The image-relative complete object locator contains a reference to itself, which we can use to compute the image base without using VirtualQuery. Spotted by David Majnemer. llvm-svn: 241758
* Fix error string in test suiteEric Fiselier2015-07-081-1/+1
| | | | llvm-svn: 241757
* [LAA] Revert a small part of r239295Adam Nemet2015-07-082-6/+62
| | | | | | | | | | | | | | | | This commit ([LAA] Fix estimation of number of memchecks) regressed the logic a bit. We shouldn't quit the analysis if we encounter a pointer without known bounds *unless* we actually need to emit a memcheck for it. The original code was using NumComparisons which is now computed differently. Instead I compute NeedRTCheck from NumReadPtrChecks and NumWritePtrChecks. As side note, I find the separation of NeedRTCheck and CanDoRT confusing, so I will try to merge them in a follow-up patch. llvm-svn: 241756
* [asan] relax the test case to allow either 'malloc' or ↵Kostya Serebryany2015-07-081-1/+1
| | | | | | '__interceptor_malloc' ; PR22681 llvm-svn: 241755
* Run clang-format before making changes to StackMaps. NFC.Juergen Ributzka2015-07-082-59/+59
| | | | llvm-svn: 241754
* Revert part of "Disallow Archive::child_iterator that don't point to an ↵Rafael Espindola2015-07-082-2/+2
| | | | | | | | archive." This reverts parts of commit r241747. MSVC doesn't like it. llvm-svn: 241753
* [x86] enable machine combiner reassociations for scalar single-precision ↵Sanjay Patel2015-07-084-8/+31
| | | | | | multiplies llvm-svn: 241752
* Make many mangled functions that might demangle a name be allowed to specify ↵Greg Clayton2015-07-0829-137/+225
| | | | | | a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so. llvm-svn: 241751
* Don't reject an archive with just a symbol table.Rafael Espindola2015-07-083-1/+5
| | | | | | It is pretty unambiguous how to interpret it and gnu ar accepts it too. llvm-svn: 241750
* Unbreak the MacOSX build.Greg Clayton2015-07-081-0/+14
| | | | llvm-svn: 241749
* DeclObjC: Move computing the type of self into a separate function (NFC).Adrian Prantl2015-07-082-5/+18
| | | | | | This function will be used for emitting debug info. llvm-svn: 241748
* Disallow Archive::child_iterator that don't point to an archive.Rafael Espindola2015-07-085-7/+6
| | | | | | NFC, just less error prone. llvm-svn: 241747
* Update for upcoming llvm change.Rafael Espindola2015-07-081-1/+1
| | | | llvm-svn: 241746
* CFI: Get check-cfi passing on Windows.Peter Collingbourne2015-07-0819-455/+570
| | | | | | | | | | | | | | | | | | | | Specifically: - Start using %expect_crash. - Provide an implementation of __ubsan::getDynamicTypeInfoFromVtable for the Microsoft C++ ABI. This is all that is needed for CFI diagnostics; UBSan's -fsanitize=vptr also requires an implementation of __ubsan::checkDynamicType. - Build the sanitizer runtimes against the release version of the C runtime, even in debug builds. - Accommodate demangling differences in tests. Differential Revision: http://reviews.llvm.org/D11029 llvm-svn: 241745
OpenPOWER on IntegriCloud