summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix APInt value initialization to give a zero value as any sane integer typeRichard Smith2015-09-042-2/+10
| | | | | | | should, rather than giving a broken value that doesn't even zero/sign-extend properly. llvm-svn: 246836
* [X86-64] Allow additional register names in inline assembler.Alexey Bataev2015-09-042-0/+61
| | | | | | | Patch allows to recognize additional registers x8d, x8b, x8w - x15d, x15b, x15w in inline assembler, already recognized by backend Differential Revision: http://reviews.llvm.org/D12594 llvm-svn: 246835
* Change the (internal to this file only) enum names from gcc_ toJason Molenda2015-09-042-117/+117
| | | | | | | | | | | | | ehframe_ & from gdb_ to stabs_ for clarity. Also document the fact that i386 eh_frame on Darwin has the register numbers swapped for ebp/esp from the DWARF register numbers so no one copies these defines for other i386 ABI plugins. This bug only ever existed on Darwin. No code changes, just renaming variables. llvm-svn: 246834
* Fix the testcase in r246790Steven Wu2015-09-041-1/+1
| | | | | | Using generic neon syntax to avoid test failure on apple platforms. llvm-svn: 246833
* [asan] Disable array cookie test on ARM, enable on Android/x86.Evgeniy Stepanov2015-09-041-2/+1
| | | | | | | | The failure is caused by the missing implementation of array cookie poisoning in Clang for ARMCXXABI and has nothing to do with Android (and the test passes on Android/x86). llvm-svn: 246832
* [asan] Delay syslog use on Android until the end of __asan_init.Evgeniy Stepanov2015-09-041-6/+9
| | | | | | | | Due to a slightly different initialization order, syslog on android/x86 calls vsnprintf, which can not be handled until interceptors are initialized at least. llvm-svn: 246831
* Fix a potential APInt memory leak when using __attribute__((flag_enum)), andRichard Smith2015-09-044-60/+25
| | | | | | simplify the implementation a bit. llvm-svn: 246830
* Set the default language to use when evaluating to that of the frame's CU.Dawn Perchik2015-09-0410-59/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | * Use the frame's context (instead of just the target's) when evaluating, so that the language of the frame's CU can be used to select the compiler and/or compiler options to use when parsing the expression. This allows for modules built with mixed languages to be parsed in the context of their frame. * Add all C and C++ language variants when determining the language options to set. * Enable C++ language options when language is C or ObjC as a workaround since the expression parser uses features of C++ to capture values. * Enable ObjC language options when language is C++ as a workaround for ObjC requirements. * Disable C++11 language options when language is C++03. * Add test TestMixedLanguages.py to check that the language being used for evaluation is that of the frame. * Fix test TestExprOptions.py to check for C++11 instead of C++ since C++ has to be enabled for C, and remove redundant expr --language test for ObjC. * Fix TestPersistentPtrUpdate.py to not require C++11 in C. Reviewed by: clayborg, spyffe, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11102 llvm-svn: 246829
* [libFuzzer] when a single mutation fails try a few more times with other ↵Kostya Serebryany2015-09-041-7/+14
| | | | | | mutations before returning un-mutated data llvm-svn: 246828
* Nuke CXXFormatterFunctions.cpp - split the contents of it across different ↵Enrico Granata2015-09-0432-682/+845
| | | | | | | | files, so that things are better organized along the C++/ObjC line This is preparatory work for moving these formatters into language categories llvm-svn: 246827
* Untabify.Eric Christopher2015-09-041-1/+1
| | | | llvm-svn: 246826
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-0410-24/+190
| | | | llvm-svn: 246825
* [PowerPC] Enable interleaved-access vectorizationHal Finkel2015-09-043-1/+73
| | | | | | | | | | | This adds a basic cost model for interleaved-access vectorization (and a better default for shuffles), and enables interleaved-access vectorization by default. The relevant difference from the default cost model for interleaved-access vectorization, is that on PPC, the shuffles that end up being used are *much* cheaper than modeling the process with insert/extract pairs (which are quite expensive, especially on older cores). llvm-svn: 246824
* Add a template helper to avoid multiple switches over the ELF kind. NFC.Rafael Espindola2015-09-042-30/+21
| | | | llvm-svn: 246823
* Only export public symbols with the cmake build.Bruce Mitchener2015-09-047-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This also moves the xcode support files to be near or the same as the ones used for cmake. The source/API/liblldb.xcodes.exports differs from the source/API/liblldb.exports in that one contains the actual symbol names (_ prefixed) while the other contains the symbol names as they are in the code. The liblldb.exports file is preprocessed by the cmake scripts into the correct per-platform file needed (like a linker script on Linux). This is not enabled on Windows as Windows doesn't use the same name mangling and so it won't be valid there. Also, this is handled already in a different way on Windows (via dll exports). Reviewers: emaste, clayborg, labath, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12599 llvm-svn: 246822
* SystemRuntime/MacOSX no longer need ObjCRuntime header.Bruce Mitchener2015-09-033-6/+2
| | | | | | | | | | | | | | | Summary: The AppleGetQueuesHandler code no longer needs to include a header from the AppleObjCRuntime, so we can remove workarounds that were present in the build systems. Reviewers: clayborg, jasonmolenda Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12589 llvm-svn: 246821
* Lookup function using full name if one with mangled name is not found.Siva Chandra2015-09-033-7/+32
| | | | | | | | | | | | | | Summary: Remove expected failure decorators from tests which now should start passing. Reviewers: clayborg, spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12613 llvm-svn: 246820
* [PowerPC] Always use aggressive interleaving on the A2Hal Finkel2015-09-032-0/+47
| | | | | | | | On the A2, with an eye toward QPX unaligned-load merging, we should always use aggressive interleaving. It is generally superior to only using concatenation unrolling. llvm-svn: 246819
* [Static Analyzer] Remove sinks from nullability checks.Gabor Horvath2015-09-032-26/+208
| | | | | | Differential Revision: http://reviews.llvm.org/D12445 llvm-svn: 246818
* Test triangle inheritance member poisoning.Naomi Musgrave2015-09-035-15/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Verify that all members are poisoned. Reviewers: eugenis, kcc Differential Revision: http://reviews.llvm.org/D12023 Test virtual functions and virtual bases poisoning proper size. Runtime testing of destroying diamond inheritance. Explicit testing for 0 optimizations. Simplify test to only test interesting values. Test poisoning on multiple inheritance with nontrivial and trivial members. Removed unnecessary header. Testing (anonymous/)bit fields. Revised object instantiation in test to avoid undefined behavior. llvm-svn: 246817
* Protect dotest.py with an if __name__ == "__main__"Zachary Turner2015-09-031-544/+545
| | | | llvm-svn: 246816
* Refactored dtor sanitizing into EHScopeStackNaomi Musgrave2015-09-036-59/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Dtor sanitization handled amidst other dtor cleanups, between cleaning bases and fields. Sanitizer call pushed onto stack of cleanup operations. Reviewers: eugenis, kcc Differential Revision: http://reviews.llvm.org/D12022 Refactoring dtor sanitizing emission order. - Support multiple inheritance by poisoning after member destructors are invoked, and before base class destructors are invoked. - Poison for virtual destructor and virtual bases. - Repress dtor aliasing when sanitizing in dtor. - CFE test for dtor aliasing, and repression of aliasing in dtor code generation. - Poison members on field-by-field basis, with collective poisoning of trivial members when possible. - Check msan flags and existence of fields, before dtor sanitizing, and when determining if aliasing is allowed. - Testing sanitizing bit fields. llvm-svn: 246815
* [WebAssembly] Initial WebAssembly support in clangDan Gohman2015-09-0332-13/+1725
| | | | | | | | | | This implements basic support for compiling (though not yet assembling or linking) for a WebAssembly target. Note that ABI details are not yet finalized, and may change. Differential Revision: http://reviews.llvm.org/D12002 llvm-svn: 246814
* [PowerPC] Try harder to find a base+offset when looking for consecutive accessesHal Finkel2015-09-032-7/+240
| | | | | | | | | | | | | | | | | | When forming permutation-based unaligned vector loads, we need to know whether it is valid to read ahead of the requested address by a full vector length. Doing so is more efficient (and allows for more CSE with later loads), but could trigger a page fault if invalid. To determine validity, we look for other loads in the same block that access the relevant address range. The relevant point here is that we need to do this as part of the process of forming permutation-based vector loads, and this happens quite early in the SDAG pipeline - specifically before many of the address calculations are fully canonicalized. As a result, we need to try harder to recognize base+offset address computations, because they still might appear as chain of adds (base+offset+offset, for example). To account for this, we'll look through chains of adds, accumulating the constant offsets. llvm-svn: 246813
* [IR] Have AttrBuilder::clear clear `TargetDepAttrs`.Sanjoy Das2015-09-032-0/+7
| | | | | | | Test case attached -- currently the parser smears the "foo bar" to all of the formal arguments. llvm-svn: 246812
* Avoid gcc warning.Rafael Espindola2015-09-031-0/+1
| | | | llvm-svn: 246811
* [RewriteStatepointsForGC] Extract common code, comment, and fix a build ↵Philip Reames2015-09-031-55/+48
| | | | | | warning [NFC] llvm-svn: 246810
* [RewriteStatepointsForGC] Strengthen invariants around BDVsPhilip Reames2015-09-031-29/+65
| | | | | | | | | | As a first step towards a new implementation of the base pointer inference algorithm, introduce an abstraction for BDVs, strengthen the assertions around them, and rewrite the BDV relation code in terms of the abstraction which includes an explicit notion of whether the BDV is also a base. The later is motivated by the fact we had a bug where insertelement was always assumed to be a base pointer even though the BDV code knew it wasn't. The strengthened assertions in this patch would have caught that bug. The next step will be to separate the DefiningValueMap into a BDV use list cache (entirely within findBasePointers) and a base pointer cache. Having the former will allow me to use a deterministic visit order when visiting BDVs in the inference algorithm and remove a bunch of ordering related hacks. Before actually doing the last step, I'm likely going to extend the lattice with a 'BaseN' (seen only base inputs) state so that I can kill the post process optimization step. Phabricator Revision: http://reviews.llvm.org/D12608 llvm-svn: 246809
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-035-69/+80
| | | | | | a class. NFC llvm-svn: 246808
* [PowerPC] Include the permutation cost for unaligned vector loadsHal Finkel2015-09-033-21/+25
| | | | | | | | | | Pre-P8, when we generate code for unaligned vector loads (for Altivec and QPX types), even when accounting for the combining that takes place for multiple consecutive such loads, there is at least one load instructions and one permutation for each load. Make sure the cost reported reflects the cost of the permutes as well. llvm-svn: 246807
* Thread safety analysis: the NO_THREAD_SAFETY_ANALYSIS attribute will nowDeLesley Hutchins2015-09-032-25/+88
| | | | | | | disable checking of arguments to the function, which is done by -Wthread-safety-reference. llvm-svn: 246806
* [PowerPC] Compute the MMO offset for an unaligned load with signed arithmeticHal Finkel2015-09-032-1/+19
| | | | | | | | | | | If you compute the MMO offset using unsigned arithmetic, you end up with a large positive offset instead of a small negative one. In theory, this could cause bad instruction-scheduling decisions later. I noticed this by inspection from the debug output, and using that for the regression test is the best I can do right now. llvm-svn: 246805
* Add target flag to clang-cl invocation in this test.Alexey Samsonov2015-09-031-1/+1
| | | | llvm-svn: 246804
* Fix PR23472þ by emitting initialized variable and its guard in the same ↵Yaron Keren2015-09-031-3/+5
| | | | | | | | | | COMDAT only for ELF objects. http://llvm.org/pr23472 Reviewed by Reid Kleckner. llvm-svn: 246803
* [ELF2] Don't allocate more SymbolBodies than needed.Davide Italiano2015-09-031-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D12605 llvm-svn: 246802
* [RewriteStatepointsForGC] Workaround a lack of determinism in visit orderPhilip Reames2015-09-031-4/+9
| | | | | | | | The visit order being used in the base pointer inference algorithm is currently non-deterministic. When working on http://reviews.llvm.org/D12583, I discovered that we were relying on a peephole optimization to get deterministic ordering in one of the test cases. This change is intented to let me test and land http://reviews.llvm.org/D12583. The current code will not be long lived. I'm starting to investigate a rewrite of the algorithm which will combine the post-process step into the initial algorithm and make the visit order determistic. Before doing that, I wanted to make sure the existing code was complete and the test were stable. Hopefully, patches should be up for review for the new algorithm this week or early next. llvm-svn: 246801
* [libFuzzer] adding a parser for AFL-style dictionaries + tests.Kostya Serebryany2015-09-035-0/+141
| | | | llvm-svn: 246800
* [sancov] Disable sanitizer coverage on functions using SEHReid Kleckner2015-09-032-6/+11
| | | | | | | Splitting basic blocks really messes up WinEHPrepare. We can remove this change when SEH uses the new EH IR. llvm-svn: 246799
* llvm.vim: 'musttail' is a keyword tooJonathan Roelofs2015-09-031-1/+1
| | | | llvm-svn: 246798
* Start adding support for shared libraries.Rafael Espindola2015-09-038-70/+177
| | | | | | | This just adds the types and enough support to detect incompatibilities among shared libraries and object files. llvm-svn: 246797
* Add a helper function for getting the first object file.Rafael Espindola2015-09-034-6/+11
| | | | | | Also preparation for shared objects. It will become the first ELF file. llvm-svn: 246796
* Add -target flag to Clang invocations in this test.Alexey Samsonov2015-09-031-9/+9
| | | | | | ASan may not be supported for the default target triple. llvm-svn: 246795
* Roll dosep.py parallel test runner into dotest.py command lineTodd Fiala2015-09-036-64/+132
| | | | | | | See the following for details: http://reviews.llvm.org/D12587 llvm-svn: 246794
* Make ObjectFiles private. NFC.Rafael Espindola2015-09-033-6/+10
| | | | | | Just preparation for adding support for shared libraries. llvm-svn: 246793
* Try to clarify the semantics of fptruncDan Liew2015-09-031-3/+5
| | | | | | | | | | | | | | | | | * ``the value cannot fit within the destination type`` is ambiguous. It could mean overflow, underflow (not in the IEEE-754 sense) or a result that cannot be exactly represented and requires rounding or it could mean some combination of these. The semantics now state it means overflow **only**. * Using "truncation" in the semantics is very misleading given that it doesn't necessarily truncate (i.e. round to zero). For example on x86_64 with SSE2 this is currently mapped to cvtsd2ss instruction who's rounding behaviour is dependent on the MXCSR register which is usually set to round to nearest even by default. The semantics now state that the rounding mode is undefined. llvm-svn: 246792
* Fix TestCompletion.py failure on Darwin after r246639Ying Chen2015-09-031-0/+2
| | | | | | | | | | | | Summary: - send empty line for multiple commands to complete Reviewers: tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12584 llvm-svn: 246791
* [AArch64] Improve ISel using across lane addition reduction.Chad Rosier2015-09-032-0/+152
| | | | | | | | | | | | | | | | | | | | In vectorized add reduction code, the final "reduce" step is sub-optimal. This change wll combine : ext v1.16b, v0.16b, v0.16b, #8 add v0.4s, v1.4s, v0.4s dup v1.4s, v0.s[1] add v0.4s, v1.4s, v0.4s into addv s0, v0.4s PR21371 http://reviews.llvm.org/D12325 Patch by Jun Bum Lim <junbuml@codeaurora.org>! llvm-svn: 246790
* [llvm-readobj] Dump MachO indirect symbols.Davide Italiano2015-09-033-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example output: File: <stdin> Format: Mach-O 32-bit i386 Arch: i386 AddressSize: 32bit Indirect Symbols { Number: 3 Symbols [ Entry { Entry Index: 0 Symbol Index: 0x4 } Entry { Entry Index: 1 Symbol Index: 0x0 } Entry { Entry Index: 2 Symbol Index: 0x1 } ] } Differential Revision: http://reviews.llvm.org/D12570 llvm-svn: 246789
* Allow global address space forward decls using IDs in .ll files.Karl Schimpf2015-09-032-16/+22
| | | | | | | | | | Summary: This fixes bugzilla bug 24656. Fixes the case where there is a forward reference to a global variable using an ID (i.e. @0). It does this by passing the address space of the initializer pointer for which the forward referenced global is used. llvm-svn: 246788
* NetBSD ships with paccept(2), a superset of accept4(2)Stephane Sezer2015-09-031-2/+4
| | | | | | | | | | | | | | Summary: accept4(2) and paccept(2) are nonstandard extensions. Reviewers: joerg, sas Subscribers: emaste, sas, lldb-commits Differential Revision: http://reviews.llvm.org/D12485 Change by Kamil Rytarowski <n54@gmx.com> llvm-svn: 246787
OpenPOWER on IntegriCloud