summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [StaticAnalyzer] Use llvm::utostr and not to_string.Davide Italiano2015-10-231-1/+2
| | | | | | | The latter seems unsupported (at least) on MinGW and FreeBSD (where I hit this failure). We can't have nice things. llvm-svn: 251115
* Style fix.Rui Ueyama2015-10-231-2/+1
| | | | llvm-svn: 251114
* [CodeGen] Mark setjmp/catchret MBBs address-takenJoseph Tremoulet2015-10-239-19/+103
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This ensures that BranchFolding (and similar) won't remove these blocks. Also allow AsmPrinter::EmitBasicBlockStart to process MBBs which are address-taken but do not have BBs that are address-taken, since otherwise its call to getAddrLabelSymbolTableToEmit would fail an assertion on such blocks. I audited the other callers of getAddrLabelSymbolTableToEmit (and getAddrLabelSymbol); they all have BBs known to be address-taken except for the call through getAddrLabelSymbol from WinException::create32bitRef; that call is actually now unreachable, so I've removed it and updated the signature of create32bitRef. This fixes PR25168. Reviewers: majnemer, andrew.w.kaylor, rnk Subscribers: pgavlin, llvm-commits Differential Revision: http://reviews.llvm.org/D13774 llvm-svn: 251113
* [BasicAA] Bugfix for r251016James Molloy2015-10-232-2/+19
| | | | | | | | If the loaded type sizes don't match the element type of the sequential type, all bets are off and the addresses may, indeed, overlap. Surprisingly, this just got caught in one test, on one builder, out of the 30+ builders testing this change. Congratulations go to http://lab.llvm.org:8011/builders/clang-aarch64-lnt/builds/5205. llvm-svn: 251112
* Fix arm lldb-server on aarch64 deviceTamas Berghammer2015-10-232-0/+56
| | | | | | | | | | * Use PTRACE_GETVFPREGS/PTRACE_SETVFPREGS to access the floating point registers instead of the old PTRACE_GETFPREGS/PTRACE_SETFPREGS. The new call is available since armv5. * Work around a kernel issue in PTRACE_POKEUSER with reading out the full register set, modifying the neccessary value and then writing it back. llvm-svn: 251111
* [AST] Plug a memory leak when promoting a single ParentMap entry to a vector.Benjamin Kramer2015-10-231-1/+1
| | | | | | Found by asan! llvm-svn: 251110
* Try to fix MSVC build after r251105Tamas Berghammer2015-10-232-5/+8
| | | | llvm-svn: 251109
* Revert "[AArch64]Merge halfword loads into a 32-bit load"James Molloy2015-10-232-264/+45
| | | | | | This reverts commit r250719. This introduced a codegen fault in SPEC2000.gcc, when compiled for Cortex-A53. llvm-svn: 251108
* Disable the strict-aliasing warnings produced by gccTamas Berghammer2015-10-231-0/+6
| | | | | | | | | | | | | GCC produce a lot of strict-aliasing warning for the LLDB codebase what makes reading the compile output very difficult. This change disable these warnings to reduce the noise as we already ignore them. We should consider re-enabling the warning if we fix all (or most) strict-aliasing violation first. Differential revision: http://reviews.llvm.org/D13981 llvm-svn: 251107
* Re-commit "Make dwarf parsing multi-threaded"Tamas Berghammer2015-10-233-22/+78
| | | | | | | | | | | | | | | Re-commit the change after fixing a lot of race condition in LLDB exposed by this change Loading the debug info from a large application is the slowest task LLDB do. This CL makes most of the dwarf parsing code multi-threaded. As a result the speed of "attach; backtrace; exit;" when the inferior is an LLDB with full debug info increased by a factor of 2. Differential revision: http://reviews.llvm.org/D13662 llvm-svn: 251106
* Fix race conditions in Core/TimerTamas Berghammer2015-10-232-31/+52
| | | | | | | | | | | The Timer class already had some support for multi-threaded access but it still contained several race conditions. This CL fixes them in preparation of adding multi-threaded dwarf parsing (and other multi-threaded parts later). Differential revision: http://reviews.llvm.org/D13940 llvm-svn: 251105
* Fix the build when building with LLDB_DISABLE_PYTHON.Aidan Dodds2015-10-231-0/+4
| | | | llvm-svn: 251104
* Make isExpensiveToCopy() tri-state.Manuel Klimek2015-10-234-9/+8
| | | | | | This allows returning "don't know" for dependent types. llvm-svn: 251103
* Enable the libc++ tests on linuxPavel Labath2015-10-239-18/+18
| | | | | | | | | | | | | | | Summary: The list of loaded modules which skip_if_library_missing is depending on is not available on linux until after we run the target. This causes the tests to be wrongfully skipped. This commit moves the skip call after the run command. Reviewers: granata.enrico, tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13985 llvm-svn: 251102
* [AST] Re-add TypeLocs and NestedNameSpecifierLocs to the ParentMap.Benjamin Kramer2015-10-239-46/+207
| | | | | | | | | | | | | | | | | | | | This relands r250831 after some fixes to shrink the ParentMap overall with one addtional tweak: nodes with pointer identity (e.g. Decl* and friends) can be store more efficiently so I put them in a separate map. All other nodes (so far only TypeLoc and NNSLoc) go in a different map keyed on DynTypedNode. This further uglifies the code but significantly reduces memory overhead. Overall this change still make ParentMap significantly larger but it's nowhere as bad as before. I see about 25 MB over baseline (pre-r251008) on X86ISelLowering.cpp. If this becomes an issue we could consider splitting the maps further as DynTypedNode is still larger (32 bytes) than a single TypeLoc (16 bytes) but I didn't want to introduce even more complexity now. Differential Revision: http://reviews.llvm.org/D14011 llvm-svn: 251101
* Use proper output directory when naminging the libc++ outputEric Fiselier2015-10-231-1/+1
| | | | llvm-svn: 251100
* [SCEV] Get rid of an unnecessary lambda; NFCSanjoy Das2015-10-231-11/+9
| | | | llvm-svn: 251099
* [mips][microMIPS] Implement SHLL.PH, SHLL_S.PH, SHLL.QB, SHLLV.PH, ↵Zlatko Buljan2015-10-237-32/+146
| | | | | | | | SHLLV_S.PH, SHLLV.QB, SHLLV_S.W, SHLL_S.W, SHRA.QB and SHRA_R.QB instructions Differential Revision: http://reviews.llvm.org/D13929 llvm-svn: 251098
* [SCEV] Fix a latent bug in `getPreStartForExtend`Sanjoy Das2015-10-231-1/+3
| | | | | | | | | | | | | | | | | | I could not come up a way to test this -- I think this bug is latent today, and will not actually result in a miscompile. In `getPreStartForExtend`, SCEV constructs `PreStart` as a sum of all of `SA`'s operands except `Op`. It also uses `SA`'s no-wrap flags, and this is problematic because removing an element from an add expression can make it signed-wrap. E.g. if `SA` was `(127 + 1 + -1)`, then it could safely be `<nsw>` (since `sext(127) + sext(1) + sext(-1)` == `sext(127 + 1 + -1)`), but `(127 + 1)` (== `PreStart` if `Op` is `-1`) is not `<nsw>`. Transferring `<nuw>` from `SA` to `PreStart` is safe, as far as I can tell. llvm-svn: 251097
* [AVR] Add ELF constants to headersDylan McKay2015-10-236-0/+152
| | | | | | | | Also adds a 'trivial' ELF file. This was generated by assembling and linking a file with the symbol main which contains a single return instruction. llvm-svn: 251096
* [lld][MachO] Prune unused EH frames.Lang Hames2015-10-233-3/+92
| | | | llvm-svn: 251095
* Support, IR: silence -Wunused-parameterSaleem Abdulrasool2015-10-233-4/+4
| | | | | | If this is used outside of LLVM with -Werror, this would cause a failure. llvm-svn: 251094
* Add more intrumentation/runtime helper interfaces (NFC)Xinliang David Li2015-10-232-25/+72
| | | | | | | | | | | This patch converts the remaining references to literal strings for names of profile runtime entites (such as profile runtime hook, runtime hook use function, profile init method, register function etc). Also added documentation for all the new interfaces. llvm-svn: 251093
* Remove some tabs that snuck into debugserver-entitlements.plist, etc.Jason Molenda2015-10-232-14/+12
| | | | llvm-svn: 251092
* Upstreaming the apple internal changes that accumulated during theJason Molenda2015-10-2315-307/+1920
| | | | | | | | | | | | previous release. Most of the diffs are duplication in the xcode project file caused by adding a "debugserver-mini" target. Jim Ingham added support for a new SPI needed to request app launches on iOS. Greg Clayton added code to indicate the platform of the binary (macosx, ios, watchos, tvos) based on Mach-O load commands. Jason Molenda added code so debugserver will identify when it is running on a tvos/watchos device to lldb. llvm-svn: 251091
* ELF2: Improve Target::relocateOne().Rui Ueyama2015-10-233-87/+56
| | | | | | | | | | | relocateOne is a function to apply a relocation. Previously, that function took a pointer to Elf_Rel or Elf_Rela in addition to other information that can be derived from the relocation entry. This patch simplifies the parameter list. The new parameters, P or SA, are used in the ELF spec to describe each relocation. These names make relocateOne look like a mechanical, direct translation of the ELF spec. llvm-svn: 251090
* [LangRef] Fix the doc for operand bundlesSanjoy Das2015-10-231-8/+0
| | | | | | | I accidentally messed this up after a merge conflict in a previous commit. llvm-svn: 251089
* Add arm64 FreeBSD ProcessMonitor register contextEd Maste2015-10-231-0/+4
| | | | llvm-svn: 251088
* SLPVectorizer: AllSameOpcode* starts "true" only for instructionsMehdi Amini2015-10-231-3/+4
| | | | | | | r251085 wasn't as NFC as intended... From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 251087
* Fix one more place where we were using the oldJason Molenda2015-10-231-7/+3
| | | | | | | name of the xpc service. <rdar://problem/23223624> llvm-svn: 251086
* SLPVectorizer: refactor reorderInputsAccordingToOpcode (NFC)Mehdi Amini2015-10-231-52/+81
| | | | | | | This is intended to simplify the changes needed to solve PR25247. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 251085
* Log information about sections that didn't make it into the target's memory.Sean Callanan2015-10-231-2/+10
| | | | llvm-svn: 251084
* Fixed a typo in r251080.Sean Callanan2015-10-231-1/+1
| | | | llvm-svn: 251083
* [lldb-mi] display summary for simple types + refactor (use lldb formatting ↵Dawn Perchik2015-10-236-194/+134
| | | | | | | | | | | | | | | for all cases) Previously, lldb did not use type summaries for simple types with no children (like function pointers). This patch enables MI to use lldb type summaries for evaluation of all types of objects, so MI own formatters are no longer needed. Patch from evgeny.leviant@gmail.com Reviewed by: abidh Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13799 llvm-svn: 251082
* [CodeGen] Remove usage of NDEBUG in header.Davide Italiano2015-10-232-12/+0
| | | | | | Moreover, this seems unused. llvm-svn: 251081
* Summary provider for char.Dawn Perchik2015-10-232-0/+26
| | | | | | | | | | | | | | | | | | | This patch enables type summary for 'char' type. Given: char c = 'h'; Before this patch, c evaluates as: (char) $0 = 'h' After this patch, we get: (char) $0 = 104 'h' This change allows the formatting of character types in MI to be removed and replaced with that in lldb, and can be useful when evaluating non-printable characters. Patch from evgeny.leviant@gmail.com Reviewed by: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13657 llvm-svn: 251080
* [msan] Re-submit test for process_vm_readv.Evgeniy Stepanov2015-10-231-0/+66
| | | | | | | Includes a workaround for glibc < 2.15, which does not provide the function under test. llvm-svn: 251079
* [libFuzzer] use the indirect caller-callee counter as an independent search ↵Kostya Serebryany2015-10-227-1/+79
| | | | | | heuristic llvm-svn: 251078
* [msan] Temporarily remove a failing test to fix the bot.Evgeniy Stepanov2015-10-221-43/+0
| | | | | | The test requires a newer glibc version that the one on the bot. llvm-svn: 251077
* ELF2: SymbolBody::repl() never returns a nullptr.Rui Ueyama2015-10-221-1/+1
| | | | | | So we can use dyn_cast instead of dyn_cast_or_null here. llvm-svn: 251076
* [libFuzzer] more refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-222-8/+9
| | | | llvm-svn: 251075
* [libFuzzer] refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-222-33/+43
| | | | llvm-svn: 251074
* [cmake] Fix cmake build on OSX after r250335 for older versions of cmakeDawn Perchik2015-10-221-6/+16
| | | | | | | | Reviewed by: sas Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13995 llvm-svn: 251073
* Use newly introduced interfaces in LLVM (NFC)Xinliang David Li2015-10-222-3/+3
| | | | | | | Replaced references to raw strings in instrumentation and coverage code. llvm-svn: 251072
* [sanitizer-coverage] introduce __sanitizer_get_total_unique_caller_callee_pairsKostya Serebryany2015-10-223-4/+13
| | | | llvm-svn: 251071
* Minor bug fix in Profile Name Prefix interfaceXinliang David Li2015-10-221-1/+1
| | | | | | Exposed in uses by clang FE. llvm-svn: 251070
* [libFuzzer] remove the deprecated 'tokens' featureKostya Serebryany2015-10-227-99/+8
| | | | llvm-svn: 251069
* ELF2: Keep .eh_frame even if they are not live.Rui Ueyama2015-10-222-1/+8
| | | | | | | | | .eh_frame sections need to be preserved if they refer to live sections. So the liveness relation is reverse for eh_frame sections. For now, we simply preserve all .eh_frame sections. Thanks Rafael for pointing this out. .jcr are kept for the same reason. llvm-svn: 251068
* LoopPass: Remove redoLoop, it isn't used. NFCJustin Bogner2015-10-222-19/+0
| | | | | | | | In r251064 I removed a logically unreachable call to `redoLoop`, and now there aren't any callers of this API at all. Remove the needless complexity. llvm-svn: 251067
* Fix Clang-tidy modernize-use-override warnings in include/lldb/Disassembler ↵Eugene Zelenko2015-10-224-132/+130
| | | | | | | | and OperatingSystem; other minor fixes. Second attempt which should work for MSVC. llvm-svn: 251066
OpenPOWER on IntegriCloud