summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Clarify when we can avoid creating names for temp symbols.Rafael Espindola2015-06-022-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some temporary symbols are created by MC itself. These symbols are never used for lookup and are never included in the object symbol table, so we can avoid creating a name for them. Other temporaries are created by CodeGen or by the user by explicitly asking for a name starting with .L (or L on MachO). These temporaries behave like regular symbols, we just try to avoid including them in the object symbol table, but sometimes they end up there: const char *foo() { return "abc" + 3; } will have a relocation pointing to a .L symbol. It just so happens that almost all MC created temporary has the AlwaysAddSuffix option and CodeGen/user created ones don't. One interesting future optimization would be to use unnamed symbols for all temporaries, but that would require use an st_name of 0 or having the object writer create the names if a symbol does end up in the symbol table. No testcase since this just avoid creating a few extra names for MC created temporaries. llvm-svn: 238887
* Fix LLDB so that it can correctly track down dependent shared libraries that ↵Greg Clayton2015-06-023-7/+77
| | | | | | | | use @rpath. <rdar://problem/8371885> llvm-svn: 238886
* Fix typo in tutorial.Douglas Katzman2015-06-021-1/+1
| | | | llvm-svn: 238885
* [NFC] Fix spelling in comment.Sanjoy Das2015-06-021-1/+1
| | | | llvm-svn: 238884
* [RewriteStatepointsForGC] Strip deref info after rewriting.Sanjoy Das2015-06-022-0/+179
| | | | | | | | | | | | | | | | | | | | | Summary: Once a gc.statepoint has been rewritten to relocate live references, the SSA values represent physical pointers instead of logical references. Logical dereferencability does not imply physical dereferencability and after RewriteStatepointsForGC has run any attributes that imply dereferencability of the logical references need to be stripped. This current approach is conservative, and can be made more precise later if needed. For starters, we need to strip dereferencable attributes only from pointers that live in the GC address space. Reviewers: reames, pgavlin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10105 llvm-svn: 238883
* [NFCI] Change RewriteStatepointsForGC to a ModulePass.Sanjoy Das2015-06-022-14/+17
| | | | | | | | | | | | | | Summary: A later change that has RewriteStatepointsForGC change function attributes throughout the module depends on this. Reviewers: reames, pgavlin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10104 llvm-svn: 238882
* [SelectionDAG] Fix PR23603.Sanjoy Das2015-06-022-1/+35
| | | | | | | | | | | | | | | | | | | | | Summary: LLVM's MI level notion of invariant_load is different from LLVM's IR level notion of invariant_load with respect to dereferenceability. The IR notion of invariant_load only guarantees that all *non-faulting* invariant loads result in the same value. The MI notion of invariant load guarantees that the load can be legally moved to any location within its containing function. The MI notion of invariant_load is stronger than the IR notion of invariant_load -- an MI invariant_load is an IR invariant_load + a guarantee that the location being loaded from is dereferenceable throughout the function's lifetime. Reviewers: hfinkel, reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10075 llvm-svn: 238881
* Revert changes inadvertantly committedMarshall Clow2015-06-021-23/+4
| | | | llvm-svn: 238880
* Move uncaught_exeption() definition inside the #ifdef block like ↵Marshall Clow2015-06-022-5/+24
| | | | | | uncaught_exceptions() llvm-svn: 238879
* Get rid of some dead code.Jonathan Peyton2015-06-023-11/+8
| | | | | | | | | Some old references to RML and IOMP which aren't used anywhere are deleted. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000664.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238878
* [MSVC Compatibility] Permit static_cast from void-ptr to function-ptrDavid Majnemer2015-06-023-0/+14
| | | | | | | | | | | The MSVC 2013 and 2015 implementation of std::atomic is specialized for pointer types. The member functions are implemented using a static_cast from void-ptr to function-ptr which is not allowed in the standard. Permit this conversion if -fms-compatibility is present. This fixes PR23733. llvm-svn: 238877
* Correct DriverInternals.rst: ccc-print-options is gone.Douglas Katzman2015-06-021-2/+2
| | | | | | Was removed in svn r189802. llvm-svn: 238876
* clang-format: [JS] Always add space after fat arrow.Daniel Jasper2015-06-022-3/+3
| | | | | | | | | | Before: return () =>[]; After: return () => []; llvm-svn: 238875
* Tests: disable test of /proc filesystem on Darwin.Tim Northover2015-06-021-1/+1
| | | | | | | We don't have it. I'm not entirely sure "Posix" is a good name for that directory, but perhaps we should see how it develops. llvm-svn: 238874
* clang-format: [JS] Array literal detection fix #4.Daniel Jasper2015-06-022-1/+7
| | | | llvm-svn: 238873
* Update TestConcurrentEvents to use UnixSignals instead of python signals.Chaoren Lin2015-06-021-8/+4
| | | | | | | | | | | | Reviewers: clayborg, ovyalov Reviewed By: ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10195 llvm-svn: 238872
* Fixed the logic to determine the TRIPLE_VERSION correctly when it isn't ↵Greg Clayton2015-06-021-4/+6
| | | | | | specified. llvm-svn: 238871
* Fix breakage that I introduced in r238848Marshall Clow2015-06-021-3/+11
| | | | llvm-svn: 238870
* Added the ability for the "make" command to take a triple:Greg Clayton2015-06-021-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | % cd lldb/test/lang/c/array_types % make TRIPLE=x86_64-apple-ios % make clean % make TRIPLE=x86_64-apple-ios8.1 % make clean % make TRIPLE=armv7-apple-ios % make clean % make TRIPLE=armv7-apple-ios8.1 % make clean The TRIPLE variable will automatically set the following variables: SDKROOT if it isn't specified manually ARCH will be set to the architecture from the triple CFLAGS will include the extras needed for the triple which are set in TRIPLE_CFLAGS TRIPLE_VENDOR set to the triple vendor ("apple" in the above cases) TRIPLE_OS set to the triple OS ("ios" in the above cases) TRIPLE_VERSION set to the version that was specified, or automatically set to the SDK version if it is missing This allows you to change directory into any test case on MacOSX and quickly build for desktop: % make iOS simulator: % make TRIPLE=x86_64-apple-ios or iOS device: % make TRIPLE=armv7-apple-ios llvm-svn: 238869
* Pass a MCSymbolELF to a few ELF only functions. NFC.Rafael Espindola2015-06-025-14/+14
| | | | llvm-svn: 238868
* [IR/AsmWriter] Output escape sequences if the first character isdigit()Filipe Cabecinhas2015-06-024-9/+23
| | | | | | | | | | | | | | | If the first character in a metadata attachment's name is a digit, it has to be output using an escape sequence, otherwise it's not valid text IR. Removed an over-zealous assert from LLVMContext which didn't allow this. The rule should only apply to text IR. Actual names can have any sequence of non-NUL bytes. Also added some documentation on accepted names. Bug found with AFL fuzz. llvm-svn: 238867
* CHECK-LABEL-ize test. NFCFilipe Cabecinhas2015-06-021-3/+3
| | | | llvm-svn: 238866
* clang-format a few functions. NFCFilipe Cabecinhas2015-06-022-10/+8
| | | | llvm-svn: 238865
* Merge MCELF.h into MCSymbolELF.h.Rafael Espindola2015-06-0220-202/+173
| | | | | | | Now that we have a dedicated type for ELF symbol, these helper functions can become member function of MCSymbolELF. llvm-svn: 238864
* [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.Daniel Sanders2015-06-022-10/+28
| | | | | | | | | | | | | | | | | | | | | Summary: Following on from r209907 which made personality encodings indirect, do the same for TType encodings. This fixes the case where a try/catch block needs to generate references to, for example, std::exception in the .gcc_except_table. Previous attempts at committing this broke the buildbots due to bugs in IAS. These bugs have now been fixed so trying again. Reviewers: petarj Reviewed By: petarj Subscribers: srhines, joerg, tberghammer, llvm-commits Differential Revision: http://reviews.llvm.org/D9669 llvm-svn: 238863
* Fix up some comments to be more explicit. Remove some long-commented out code.Jim Ingham2015-06-023-22/+34
| | | | llvm-svn: 238862
* [x86-64 ABI] Fix for PR23082: an assertion failure when passing/returning a ↵Andrea Di Biagio2015-06-022-3/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wrapper union in a full YMM register. This patch fixes an assertion failure in method 'X86_64ABIInfo::GetByteVectorType'. Method 'GetByteVectorType' (in TargetInfo.cpp) is responsible for mapping a QualType 'Ty' (for an argument or return value) to an LLVM IR type that, according to the ABI, must be passed in a XMM/YMM vector register. When selecting the IR vector type, method 'GetByteVectorType' always tries to choose the "best" IR vector type for the 'Ty' in input. In particular, if Ty is a wrapper structure, it keeps unwrapping it until it finds a vector type VTy. That VTy is the "preferred IR type". However, function 'isSingleElementStructure' (used to unwrap structures) does not know how to look through union types. So, before this patch, if Ty was in a nest of wrapper structures with at least two union types, we would have triggered an assertion failure (added at revision 230971). With this patch, if method 'GetByteVectorType' fails to find the preferred vector type, we just return a valid (although potentially 'less friendly') vector type based on the type size. So, rather than asserting on an 'unexpected' 'Ty' in input, we conservatively return vector type <2 x double> if Ty is 16 bytes, or <4 x double> if Ty is 32 bytes. Differential Revision: http://reviews.llvm.org/D10190 llvm-svn: 238861
* Fix PlatformAndroid::PutFile to support relative destination paths.Oleksiy Vyalov2015-06-021-7/+10
| | | | llvm-svn: 238860
* Use wildcard instead of relying on shell globbing.Chaoren Lin2015-06-022-3/+2
| | | | | | | | | | Reviewers: clayborg, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10194 llvm-svn: 238859
* AArch64: fix typo in SMIN far atomics and add testsTim Northover2015-06-023-1/+10
| | | | llvm-svn: 238858
* Check that debugger is valid before enumerating targets.Chaoren Lin2015-06-021-13/+14
| | | | | | | | | | Reviewers: sivachandra Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10192 llvm-svn: 238857
* TestGlobalVariables no longer fails on FreeBSDEd Maste2015-06-021-1/+0
| | | | | | | | It has passed since ~ r223393. llvm.org/21599 llvm-svn: 238856
* add missing dependency for CodeGen libSanjay Patel2015-06-021-0/+1
| | | | | | This looks to be exposed on some bots by r238851. llvm-svn: 238855
* DebugInfo: Really support 2^16 arguments in a subprogramDuncan P. N. Exon Smith2015-06-024-1/+23
| | | | | | | | As a follow-up to r235955, actually support up to 65535 arguments in a subprogram. r235955 missed assembly support, having only tested the new limit via C++ unit tests. Code patch by Amjad Aboud. llvm-svn: 238854
* DebugInfo: Rename testcases from MD* to DI*, NFCDuncan P. N. Exon Smith2015-06-0256-0/+0
| | | | | | As a follow-up to r236120, rename testcases to match the new names. llvm-svn: 238853
* Use new get_signal_number utility function for tests.Chaoren Lin2015-06-023-9/+11
| | | | | | | | | | | | | | | | Summary: This fixes TestLldbGdbServer and TestSendSignal from Windows to Android. This change depends on D10171. Reviewers: clayborg, ovyalov Reviewed By: clayborg, ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10172 llvm-svn: 238852
* add the -mrecip driver flag and process its options (2nd try)Sanjay Patel2015-06-026-1/+213
| | | | | | | | | | | | | | | | | | | The first try to land this (r238055) was reverted due to bot failures caused by the LLVM part of the patch. That was hopefully fixed by r238788, and the LLVM patch was resubmitted at r238842. This is the front-end counterpart to D8982. The -mrecip option interface is based on maintaining compatibility with gcc: https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627 https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289 ...while adding more functionality (allowing users to specify the number of refinement steps for each estimate type). Differential Revision: http://reviews.llvm.org/D8989 llvm-svn: 238851
* Added utility function to get correct signal number from remote platform.Chaoren Lin2015-06-021-0/+41
| | | | | | | | | | | | | | | | | Summary: This change adds a utility that uses the `kill -l` command to get the correct signal number. Falls back to using `SBUnixSignals`, and finally `signal.SIG<signal>` if all else fails. Reviewers: tberghammer, clayborg, ovyalov Reviewed By: clayborg, ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10171 llvm-svn: 238850
* Fix OBJCOPY and AR for Android.Chaoren Lin2015-06-021-8/+12
| | | | | | | | | | | | | | Summary: Previously, OBJCOPY was empty because of the missing comma, and ar was just `ar`. Reviewers: ovyalov, tberghammer Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10175 llvm-svn: 238849
* Implement the first part of N4258 - allocator_traits<X>::is_always_equal. ↵Marshall Clow2015-06-024-1/+91
| | | | | | Also fixes PR#23723 llvm-svn: 238848
* Remove unused KMP_IOMP_NAME macro from kmp.hJonathan Peyton2015-06-021-3/+0
| | | | | | | Getting rid of more iomp references. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000659.html llvm-svn: 238847
* Implement uncaught_exceptions() using the newly added hooks in libc++abi, ↵Marshall Clow2015-06-024-7/+60
| | | | | | when available llvm-svn: 238846
* clang-format: Don't try to detect C++ lambdas in other languages.Daniel Jasper2015-06-022-0/+6
| | | | llvm-svn: 238845
* [mips][mcjit] Add support for R_MIPS_PC32.Daniel Sanders2015-06-022-1/+11
| | | | | | | | | | | | | | | | | | Summary: This allows us to resolve relocations for DW_EH_PE_pcrel TType encodings in the exception handling LSDA. Also fixed a nearby typo. Reviewers: petarj, vkalintiris Reviewed By: vkalintiris Subscribers: vkalintiris, llvm-commits Differential Revision: http://reviews.llvm.org/D10127 llvm-svn: 238844
* Push constness through LoopInfo::isLoopHeader and clean it up a bit.Benjamin Kramer2015-06-024-23/+10
| | | | | | NFC. llvm-svn: 238843
* make reciprocal estimate code generation more flexible by adding ↵Sanjay Patel2015-06-0212-58/+358
| | | | | | | | | | | | | | | | | | | command-line options (2nd try) The first try (r238051) to land this was reverted due to bot failures that were hopefully addressed by r238788. This patch adds a TargetRecip class for processing many recip codegen possibilities. The class is intended to handle both command-line options to llc as well as options passed in from a front-end such as clang with the -mrecip option. The x86 backend is updated to use the new functionality. Only -mcpu=btver2 with -ffast-math should see a functional change from this patch. All other x86 CPUs continue to *not* use reciprocal estimates by default with -ffast-math. Differential Revision: http://reviews.llvm.org/D8982 llvm-svn: 238842
* clang-format: [JS] Fix incorrect line length calculation.Daniel Jasper2015-06-022-2/+4
| | | | llvm-svn: 238841
* Change Intel(R) OpenMP* to LLVM* OpenMP* in libomp.rc.varJonathan Peyton2015-06-021-3/+3
| | | | | | Missed some places that referenced the Intel(R) OpenMP* Runtime Library. llvm-svn: 238840
* clang-format: [JS] Array literal detection fix #3.Daniel Jasper2015-06-022-2/+5
| | | | llvm-svn: 238839
* [mips] Add RuntimeDyld tests for currently supported O32 relocations.Daniel Sanders2015-06-021-0/+40
| | | | | | | | | | | | Reviewers: petarj, vkalintiris Reviewed By: vkalintiris Subscribers: vkalintiris, llvm-commits Differential Revision: http://reviews.llvm.org/D10126 llvm-svn: 238838
OpenPOWER on IntegriCloud