summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use computeSymbolSizes in llvm-symbolize.Rafael Espindola2015-06-253-22/+12
| | | | llvm-svn: 240646
* Use range loop. NFC.Rafael Espindola2015-06-252-20/+21
| | | | llvm-svn: 240645
* Modernize getELFDynamicSymbolIterators.Rafael Espindola2015-06-253-21/+13
| | | | | | | | * Have it return a iterator_range. * Remove the global function. * Rename to getDynamicSymbolIterators. llvm-svn: 240644
* Fix a crash by division by zero in analyzerDaniel Marjamaki2015-06-252-0/+11
| | | | | | | | Patch by takeshi-yoshimura! Differential Revision: http://reviews.llvm.org/D10145 llvm-svn: 240643
* Don't use std::make_unique.Benjamin Kramer2015-06-251-8/+9
| | | | | | | We still have to support C++11 standard libraries, make_unique is a C++14 feature. llvm-svn: 240642
* [PPC] Replace debug value skipping with getLastNonDebugInstr.Benjamin Kramer2015-06-251-16/+7
| | | | | | No functionality change intended. llvm-svn: 240641
* [ORC] Add ObjectTransformLayerJoseph Tremoulet2015-06-253-0/+414
| | | | | | | | | | | | | | | | Summary: This is a utility for clients that want to insert a layer that modifies each ObjectFile and then passes it along to the next layer. Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10456 llvm-svn: 240640
* Replace copy-pasted debug value skipping with MBB::getLastNonDebugInstrBenjamin Kramer2015-06-254-48/+20
| | | | | | No functional change intended. llvm-svn: 240639
* Enable TestInferiorCrashing and TestRecursiveInferior on androidPavel Labath2015-06-252-2/+5
| | | | | | | | | | | | | | | | | Summary: the original bug was fixed (a rogue breakpoint messing up inferior data structures) and the tests seems to pass now. Since android has a default SEGV handler, I have had to alter the test expectation in this case. Test Plan: Tests pass on android arm. Reviewers: tberghammer Subscribers: tberghammer, aemerson, lldb-commits Differential Revision: http://reviews.llvm.org/D10733 llvm-svn: 240638
* [mips] [IAS] Refactor the emitDirectiveModuleFP() functions. NFC.Toma Tabacu2015-06-253-28/+25
| | | | | | | | | | | | | | | | | | | | Summary: Simplify emitDirectiveModuleFP() by having it just print the current information from MipsABIFlagsSection and doing an updateABIInfo() before such calls. This prevents us from forgetting to update the STI.FeatureBits, because updateABIInfo() uses those to update the MipsABIFlagsSection object, and also makes sure we use the update mechanism from MipsABIFlagsSection. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits, mpf Differential Revision: http://reviews.llvm.org/D10642 llvm-svn: 240637
* Take alignment into account in isSafeToLoadUnconditionallyArtur Pilipenko2015-06-252-6/+37
| | | | | | | | Reviewed By: hfinkel Differential Revision: http://reviews.llvm.org/D10475 llvm-svn: 240636
* Make XFAIL on TestPrintStackTraces more specificPavel Labath2015-06-251-4/+1
| | | | | | the thread creation failure was fixed, but a backtracing problem remains in some situations. llvm-svn: 240635
* [SystemZ] Only attempt RxSBG optimization for integer typesUlrich Weigand2015-06-251-2/+7
| | | | | | | | | | | | As pointed out by Justin Bogner (see r240520), SystemZDAGToDAGISel::Select currently attempts to convert boolean operations into RxSBG even on some non-integer types (in particular, vector types). This would not work in any case, and it happened to trigger undefined behaviour in allOnes. This patch verifies that we have a (<= 64-bit) integer type before attempting to perform this optimization. llvm-svn: 240634
* tsan: merge function definition and declarationDmitry Vyukov2015-06-251-10/+4
| | | | llvm-svn: 240633
* Remove XFAIL from TestCreateAfterAttachPavel Labath2015-06-251-3/+0
| | | | | | | The tested functionality is implemented now. The test remains XTIMEOUTed, because it times out occasionally, probably due to test suite deficiencies. llvm-svn: 240632
* Expand result with type char* to string in -data-evaluate-expressionIlia K2015-06-253-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Expand result with type char* to string in -data-evaluate-expression. was: ``` -data-evaluate-expression str ^done,value="0x00007fffffffece0" ``` now: ``` -data-evaluate-expression str ^done,value="0x00007fffffffece0 \"hello\"" ``` All tests pass on Linux. Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi Reviewers: abidh Reviewed By: abidh Subscribers: lldb-commits, dawn, abidh Differential Revision: http://reviews.llvm.org/D10728 llvm-svn: 240631
* [mips] [IAS] Refactor the emitDirectiveModuleOddSPReg() functions. NFC.Toma Tabacu2015-06-254-22/+26
| | | | | | | | | | | | | | | | | | | Summary: We can simplify emitDirectiveModuleOddSPReg() by having it print the current OddSPReg information from MipsABIFlagsSection and doing an updateABIInfo() before such calls. This prevents us from forgetting to update the STI.FeatureBits, because updateABIInfo() uses those to update the MipsABIFlagsSection object, and also makes sure we use the update mechanism from MipsABIFlagsSection. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits, mpf Differential Revision: http://reviews.llvm.org/D10641 llvm-svn: 240630
* Add missing <array> include.Pawel Bylica2015-06-251-0/+1
| | | | llvm-svn: 240629
* Teach Clang about the PPC64 memory sanitizer implementation.Jay Foad2015-06-253-1/+20
| | | | | | | | | | | | | | | | Summary: This is the Clang part of the PPC64 memory sanitizer implementation in D10648. Reviewers: kcc, eugenis, willschm, wschmidt, samsonov Reviewed By: samsonov Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10650 llvm-svn: 240628
* Teach LLVM about the PPC64 memory sanitizer implementation.Jay Foad2015-06-251-0/+17
| | | | | | | | | | | | | | | | Summary: This is the LLVM part of the PPC memory sanitizer implementation in D10648. Reviewers: kcc, samsonov, willschm, wschmidt, eugenis Reviewed By: eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10649 llvm-svn: 240627
* Express APInt::{s,u}{l,g}e(uint64_t) in terms of ↵Pawel Bylica2015-06-252-4/+42
| | | | | | | | | APInt::{s,u}{l,g}t(uint64_t). NFC. This is preparation for http://reviews.llvm.org/D10655: Change APInt comparison with uint64_t. Some unit tests added also. llvm-svn: 240626
* [mips] [IAS] Fix parsing of memory offset expressions with parenthesis depth >1.Toma Tabacu2015-06-254-2/+54
| | | | | | | | | | | | | | | | | | | Summary: In an expression such as "(((a+b)+c)+d)", parseParenExpression() would only parse the "a+b)+c", which would result in an error later on in the parser. This means that we can only parse one level of inner parentheses. In order to fix this, I added a new function called parseParenExprOfDepth(), which parses a specified number of trailing parenthesis expressions (except for the outermost parenthesis), and changed MipsAsmParser to use it in parseMemOffset instead of parseParenExpression(). Reviewers: dsanders, rafael Reviewed By: dsanders, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9742 llvm-svn: 240625
* clang-format: [Proto] Don't treat "operator" as keyword.Daniel Jasper2015-06-252-5/+10
| | | | | | | | | | Before: optional string operator= 1; After: optional string operator = 1; llvm-svn: 240624
* Enable memory sanitizer for PPC64Jay Foad2015-06-257-1/+41
| | | | | | | | | | | | | | | | | | Summary: This patch adds basic memory sanitizer support for PPC64. PR23219. I have further patches ready to enable it in LLVM and Clang, and to fix most of the many failing tests in check-msan. Reviewers: kcc, willschm, samsonov, wschmidt, eugenis Reviewed By: eugenis Subscribers: wschmidt, llvm-commits Differential Revision: http://reviews.llvm.org/D10648 llvm-svn: 240623
* COFF: Fix a bug of __imp_ symbol.Rui Ueyama2015-06-258-6/+71
| | | | | | | | | | | The change I made in r240620 was not correct. If a symbol foo is defined, and if you use __imp_foo, __imp_foo symbol is automatically defined as a pointer (not just an alias) to foo. Now that we need to create a chunk for automatically-created symbols. I defined LocalImportChunk class for them. llvm-svn: 240622
* xcode project file updates for the movement of the POSIX files into the ↵Jason Molenda2015-06-251-40/+54
| | | | | | FreeBSD process subdir. llvm-svn: 240621
* COFF: Handle undefined symbols starting with __imp_ in a special way.Rui Ueyama2015-06-252-2/+52
| | | | | | | | | | | | | | | | | | MSVC linker is able to link an object file created from the following code. Note that __imp_hello is not defined anywhere. void hello() { printf("Hello\n"); } extern void (*__imp_hello)(); int main() { __imp_hello(); } Function symbols exported from DLLs are automatically mangled by appending __imp_ prefix, so they have two names (original one and with the prefix). This "feature" seems to simulate that behavior even for non-DLL symbols. This is in my opnion very odd feature. Even MSVC linker warns if you use this. I'm adding that anyway for the sake of compatibiltiy. llvm-svn: 240620
* Update darwin SDK version parsing to support OSX and simulatorSteven Wu2015-06-252-8/+59
| | | | | | | | | | This re-commits r226005 with a tweak. The origin attempt failed because Darwin bot sets up SDKROOT and clang can deduce SDK version from them after this patch. That broke many driver tests due to the change of deployment target version. Now the tests should not complain after r240574. llvm-svn: 240619
* [UBSan] Allow to use -fsanitize=vptr only on Mac OS 10.9+Alexey Samsonov2015-06-252-6/+12
| | | | | | | See https://llvm.org/bugs/show_bug.cgi?id=23539 for why this is necessary. llvm-svn: 240618
* [CMake] Fix PR23539: Don't reference C++ ABI symbols prior to Mac OS 10.9.Alexey Samsonov2015-06-256-2/+23
| | | | | | | | | | | | | | | | | | | | Summary: This patch implements step 1 from https://llvm.org/bugs/show_bug.cgi?id=23539#c10 I'd appreciate if you could test it on Mac OS and verify that parts of UBSan runtime that reference C++ ABI symbols are properly excluded, and fix ASan/UBSan builds. Test Plan: regression test suite Reviewers: thakis, hans Subscribers: llvm-commits, zaks.anna, kubabrecka Differential Revision: http://reviews.llvm.org/D10621 llvm-svn: 240617
* [X86] Accept hasAVX512() as well as hasFMA() when generating FMA.Ahmed Bougacha2015-06-254-5/+8
| | | | | | | | | | We don't always have FMA, for example when using 'clang -mavx512f' without an explicit CPU. Also check for an explicit +avx512f instead of CPUs in a couple related tests. llvm-svn: 240616
* [X86] Cleanup fma tests a little bit. NFC.Ahmed Bougacha2015-06-256-732/+758
| | | | | | | Reformat, isolate 213->231 xform, actually --check-prefix CHECK, and deduplicate the FMA intrinsic tests (FMA3 in AMD-land). llvm-svn: 240615
* COFF: Use COFFObjectFile::getRelocations(). NFC.Rui Ueyama2015-06-252-63/+38
| | | | llvm-svn: 240614
* Enable StackMap Serialization for COFFSwaroop Sridhar2015-06-253-2/+10
| | | | | | | | | | | | | | | | | | Summary This change turns on the emission of __LLVM_Stackmaps section when generating COFF binaries. Test Plan Added a scenario to the test case: test\CodeGen\X86\statepoint-stackmap-format.ll. Code Review: http://reviews.llvm.org/D10680 llvm-svn: 240613
* Consolidate and unify initializer list deductionHubert Tong2015-06-252-33/+56
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch reduces duplication in the template argument deduction code for handling deduction from initializer lists in a function call. This extends the fix for PR12119 to also apply to the case where the corresponding parameter is a trailing parameter pack. Test Plan: A test for deduction from nested initializer lists where the corresponding parameter is a trailing parameter pack is added in `clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp`. Reviewers: fraggamuffin, rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10681 llvm-svn: 240612
* [Concepts] Parsing of requires-clause in template-declarationHubert Tong2015-06-255-1/+142
| | | | | | | | | | | | | | | | | | | Summary: This change implements parse-only acceptance of the optional requires-clause in a template-declaration. Diagnostic testing is added for cases where the grammar is ambiguous with the expectation that the longest token sequence which matches the syntax of a constraint-expression is consumed without backtracking. Reviewers: faisalv, fraggamuffin, rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10462 llvm-svn: 240611
* libObject/COFF: Add a function to get pointers to relocation entries.Rui Ueyama2015-06-252-0/+13
| | | | llvm-svn: 240610
* Avoid C99 for-declaration statement in C files. (NFC)Logan Chien2015-06-251-2/+2
| | | | | | | To compile libunwind with gcc/g++ 4.9, it is required to avoid the for-declaration statement from C99. llvm-svn: 240609
* [ARM] The bits set in the variable HW_FP could get unsetRanjeet Singh2015-06-241-6/+10
| | | | | | | | | | | | when iterating through the Features vector if we don't keep track of what's already been set. This could lead to the macro __ARM_FP getting the wrong value. This patch fixes this issue by keeping track of the bits that have already been set in the loop. Differential Revision: http://reviews.llvm.org/D10395 llvm-svn: 240607
* Handle (or at least don't crash) trying to get the encoding for a bunch of ↵Enrico Granata2015-06-241-0/+18
| | | | | | new builtin types in clang trunk llvm-svn: 240606
* COFF: Cache raw pointers to relocation tables.Rui Ueyama2015-06-242-20/+30
| | | | | | | | | | | | | Getting an iterator to the relocation table is very hot operation in the linker. We do that not only to apply relocations but also to mark live sections and to do ICF. libObject's interface is slow. By caching pointers to the first relocation table entries makes the linker 6% faster to self-link. We probably need to fix libObject as well. llvm-svn: 240603
* update commentDerek Schuff2015-06-241-2/+4
| | | | llvm-svn: 240601
* Relax assertion in x86_64 byval argument handling for 32-bit pointersDerek Schuff2015-06-242-3/+17
| | | | | | | | | | | | | | | | Summary: Byval argument pair formation assumes that if a type is less than 8 bytes it must be an integer and not a pointer, which is not true for x32 and NaCl. Relax the assertion and add a test for a codegen case that triggered it. Reviewers: jvoung Subscribers: jfb, cfe-commits Differential Revision: http://reviews.llvm.org/D10701 llvm-svn: 240600
* Add simplify_type<const WeakVH>; simplify IndVarSimplifyDuncan P. N. Exon Smith2015-06-242-9/+10
| | | | | | | | r240214 fixed some UB in IndVarSimplify, and it needed a temporary `WeakVH` to do it. Add `simplify_type<const WeakVH>` so that this temporary isn't necessary. llvm-svn: 240599
* [X86] Simplify some stuff in X86DisassemblerDecoder. NFCDouglas Katzman2015-06-241-22/+17
| | | | | | | | | | | | | | - Deciding that insn->sibIndex is SIB_INDEX_NONE does not require another check beyond the fully decoded bits being equal to 0x4. The expression insn->sibIndex == SIB_INDEX_sib could not have been true unless index were 0x4, because SIB_INDEX_sib is merely the range base (SIB_INDEX_EAX) plus 4. Respectively SIB_INDEX_sib64. - Don't use a switch statement to perform left-shift. Differential Revision: http://reviews.llvm.org/D9762 llvm-svn: 240598
* Add __nonnull/__nullable/__null_unspecified predefines for Darwin.Douglas Gregor2015-06-242-0/+20
| | | | | | Addresses the rest of rdar://problem/21530726. llvm-svn: 240597
* Replace __double_underscored type nullability qualifiers with ↵Douglas Gregor2015-06-2445-353/+367
| | | | | | | | | | | | | | | | _Uppercase_underscored Addresses a conflict with glibc's __nonnull macro by renaming the type nullability qualifiers as follows: __nonnull -> _Nonnull __nullable -> _Nullable __null_unspecified -> _Null_unspecified This is the major part of rdar://problem/21530726, but does not yet provide the Darwin-specific behavior for the old names. llvm-svn: 240596
* [GVN] Intersect the IR flags when CSE'ing two instructionsDavid Majnemer2015-06-242-7/+17
| | | | | | | | | We performed a simple, but incomplete, intersection when it came time to CSE instructions. It didn't handle, for example, the 'exact' flag. This fixes PR23922. llvm-svn: 240595
* Spelling fixes in comments.Douglas Katzman2015-06-241-2/+2
| | | | llvm-svn: 240594
* [Reassociate] Don't propogate flags when creating negationsDavid Majnemer2015-06-243-2/+27
| | | | | | | | | Reassociate mutated existing instructions in order to form negations which would create additional reassociate opportunities. This fixes PR23926. llvm-svn: 240593
OpenPOWER on IntegriCloud