summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* test: fix overzealous matchSaleem Abdulrasool2015-10-291-1/+1
| | | | | | Accidentally made the test too strict. llvm-svn: 251603
* Driver: CrossWindows sanitizers link supportSaleem Abdulrasool2015-10-292-0/+29
| | | | | | | Add the required libraries to the linker invocation when building with sanitizers. llvm-svn: 251600
* Driver: inline some small arraysSaleem Abdulrasool2015-10-291-10/+4
| | | | | | Use an initializer list to remove a couple of small static arrays. NFC. llvm-svn: 251599
* Driver: tweak CrossWindows sanitizer supportSaleem Abdulrasool2015-10-293-0/+20
| | | | | | | Indicate support for ASAN on the CrossWindows toolchain. Although this is insufficient, this at least permits the handling of the driver flag. llvm-svn: 251598
* [InstSimplify] sgt on i1s also encodes implicationPhilip Reames2015-10-292-0/+22
| | | | | | | | | | | | | | | Follow on to http://reviews.llvm.org/D13074, implementing something pointed out by Sanjoy. His truth table from his comment on that bug summarizes things well: LHS | RHS | LHS >=s RHS | LHS implies RHS 0 | 0 | 1 (0 >= 0) | 1 0 | 1 | 1 (0 >= -1) | 1 1 | 0 | 0 (-1 >= 0) | 0 1 | 1 | 1 (-1 >= -1) | 1 The key point is that an "i1 1" is the value "-1", not "1". Differential Revision: http://reviews.llvm.org/D13756 llvm-svn: 251597
* [SimplifyCFG] Constant fold a branch implied by it's incoming edgePhilip Reames2015-10-292-0/+94
| | | | | | | | | | | The most common use case is when eliminating redundant range checks in an example like the following: c = a[i+1] + a[i]; Note that all the smarts of the transform (the implication engine) is already in ValueTracking and is tested directly through InstructionSimplify. Differential Revision: http://reviews.llvm.org/D13040 llvm-svn: 251596
* [SimplifyLibCalls] Factor out common unsafe-math checks.Davide Italiano2015-10-291-29/+23
| | | | llvm-svn: 251595
* Remove CRLF line endings.Benjamin Kramer2015-10-291-6/+6
| | | | llvm-svn: 251594
* Tweak test check pattern to fix bot failure.Diego Novillo2015-10-291-1/+1
| | | | llvm-svn: 251593
* Add a flag vectorizer-maximize-bandwidth in loop vectorizer to enable using ↵Cong Hou2015-10-293-32/+143
| | | | | | | | larger vectorization factor. To be able to maximize the bandwidth during vectorization, this patch provides a new flag vectorizer-maximize-bandwidth. When it is turned on, the vectorizer will determine the vectorization factor (VF) using the smallest instead of widest type in the loop. To avoid increasing register pressure too much, estimates of the register usage for different VFs are calculated so that we only choose a VF when its register usage doesn't exceed the number of available registers. llvm-svn: 251592
* [analyzer] Update analyzer website for release of checker-277.Devin Coughlin2015-10-294-3/+33
| | | | llvm-svn: 251591
* Leave TestAttachResume as flakey on linuxPavel Labath2015-10-291-0/+1
| | | | | | there must be (at least) one more race hidden there... llvm-svn: 251590
* Correctly include LLVM_EXTERNAL_CLANG_SOURCE_DIR.Chaoren Lin2015-10-291-1/+5
| | | | | | | | | | Reviewers: sas, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14166 llvm-svn: 251589
* [Sema] Implement -Wdouble-promotion for clang.George Burgess IV2015-10-294-0/+46
| | | | | | | | | | | | | | | GCC has a warning called -Wdouble-promotion, which warns you when an implicit conversion increases the width of a floating point type. This is useful when writing code for architectures that can perform hardware FP ops on floats, but must fall back to software emulation for larger types (i.e. double, long double). This fixes PR15109 <https://llvm.org/bugs/show_bug.cgi?id=15109>. Thanks to Carl Norum for the patch! llvm-svn: 251588
* Fix Clang-tidy modernize-use-nullptr warnings in include/lldb/Expression and ↵Eugene Zelenko2015-10-2914-175/+185
| | | | | | Host; other minor fixes. llvm-svn: 251587
* Xcode suggested enabling a "no common blocks" warningJason Molenda2015-10-2910-49/+84
| | | | | | | (whatever that is) and wanted to clean up some duplicated entries in the project files. llvm-svn: 251586
* Explicitly cast size_t var to (uint64_t) when printf format is PRIx64.Jason Molenda2015-10-291-2/+2
| | | | llvm-svn: 251585
* Static analyzer noticed that a null get_pending_items_caller couldJason Molenda2015-10-291-1/+7
| | | | | | be used. Guard against that. llvm-svn: 251584
* Fix potential null deref; after SymbolContextSpecifier::SymbolContextMatchesJason Molenda2015-10-281-1/+1
| | | | | | | has tested that sc.function is null, it would try to deref sc.function. It should be calling sc.symbol here. llvm-svn: 251583
* [PowerPC] Recurse through constants when looking for TLS globalsHal Finkel2015-10-282-2/+50
| | | | | | | | | | | | | We cannot form ctr-based loops around function calls, including calls to __tls_get_addr used for PIC TLS variables. References to such TLS variables, however, might be buried within constant expressions, and so we need to search the entire constant expression to be sure that no references to such TLS variables exist. Fixes PR25256, reported by Eric Schweitz. This is a slightly-modified version of the patch suggested by Eric in the bug report, and a test case I created. llvm-svn: 251582
* Remove an unused local variableEnrico Granata2015-10-281-1/+0
| | | | llvm-svn: 251581
* Revert r251578. I was in the middle of editing the commit messageJason Molenda2015-10-281-1/+1
| | | | | | | | | | | | | and decided to not commit the change, but accidentally committed it anyway. This was based on a static analysis complaint; it thought there was a code path where AdbClient::PushFile would call AdbClient::ReadSyncHeader and AdbClient::ReadSyncHeader wouldn't set data_len. But in that case, the Error object returned will be Fail and we won't use the data_len or response_id contents. llvm-svn: 251580
* Make sure we don't over specify an architecture when we connect to KDP and ↵Greg Clayton2015-10-283-26/+49
| | | | | | | | use the CPU type and subtype to fill out an architecture. We do this by letting the vendor be an unspecified unknown, or any. We also grab the target architecture, get the KDP host arch, and then merge the two before putting it back into the target. Also change MH_PRELOAD to be use "unspecified unknown" (any) for the OS and vendor since these mach files can really be anything. llvm-svn: 251579
* Initialize data_len to 0 in source/Plugins/Platform/Android/AdbClient.cppJason Molenda2015-10-281-1/+1
| | | | llvm-svn: 251578
* Reapply: [asan] On OS X, log reports to syslog and os_traceAnna Zaks2015-10-2814-46/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When ASan currently detects a bug, by default it will only print out the text of the report to stderr. This patch changes this behavior and writes the full text of the report to syslog before we terminate the process. It also calls os_trace (Activity Tracing available on OS X and iOS) with a message saying that the report is available in syslog. This is useful, because this message will be shown in the crash log. For this to work, the patch makes sure we store the full report into error_message_buffer unconditionally, and it also strips out ANSI escape sequences from the report (they are used when producing colored reports). I've initially tried to log to syslog during printing, which is done on Android right now. The advantage is that if we crash during error reporting or the produced error does not go through ScopedInErrorReport, we would still get a (partial) message in the syslog. However, that solution is very problematic on OS X. One issue is that the logging routine uses GCD, which may spawn a new thread on its behalf. In many cases, the reporting logic locks threadRegistry, which leads to deadlocks. Reviewed at http://reviews.llvm.org/D13452 (In addition, add sanitizer_common_libcdep.cc to buildgo.sh to avoid build failures on Linux.) llvm-svn: 251577
* [WinEH] Mark calls inside cleanups as noinlineReid Kleckner2015-10-284-21/+41
| | | | | | | | | | | | | | | This works around PR25162. The MSVC tables make it very difficult to correctly inline a C++ destructor that contains try / catch. We've attempted to address PR25162 in LLVM's backend, but it feels pretty infeasible. MSVC and ICC both appear to avoid inlining such complex destructors. Long term, we want to fix this by making the inliner smart enough to know when it is inlining into a cleanup, so it can inline simple destructors (~unique_ptr and ~vector) while avoiding destructors containing try / catch. llvm-svn: 251576
* [PowerPC] Don't return unsupported register classes for asm constraintsHal Finkel2015-10-282-5/+20
| | | | | | | | | As a follow-up to r251566, do the same for the other optionally-supported register classes (mostly for vector registers). Don't return an unavailable register class (which would cause an assert later), but fail cleanly when provided an unsupported inline asm constraint. llvm-svn: 251575
* ARM: add watchOS default version support function.Tim Northover2015-10-282-2/+32
| | | | | | It's useful for Clang's Driver faff. llvm-svn: 251574
* ARM: add support for WatchOS's compact unwind information.Tim Northover2015-10-2814-16/+456
| | | | llvm-svn: 251573
* [asan] Fix asan_device_setup script on KitKat.Evgeniy Stepanov2015-10-281-0/+2
| | | | | | | | | app_process32, when started via a shell script wrapper, needs a different security context to satisty SELinux. Patch by Abhishek Arya. llvm-svn: 251572
* ARM: teach backend about WatchOS and TvOS libcalls.Tim Northover2015-10-285-26/+226
| | | | | | | The most substantial changes are again for watchOS: libcalls are hard-float if needed and sincos has a different calling convention. llvm-svn: 251571
* ARM: add backend support for the ABI used in WatchOSTim Northover2015-10-289-16/+188
| | | | | | | At the LLVM level this ABI is essentially a minimal modification of AAPCS to support 16-byte alignment for vector types and the stack. llvm-svn: 251570
* ARM: support .watchos_version_min and .tvos_version_min.Tim Northover2015-10-2819-54/+280
| | | | | | | | These MachO file directives are used by linkers and other tools to provide compatibility information, much like the existing .ios_version_min and .macosx_version_min. llvm-svn: 251569
* SamplePGO - Add flag to check sampling coverage.Diego Novillo2015-10-283-3/+133
| | | | | | | | | | | | | | | | This adds the flag -mllvm -sample-profile-check-coverage=N to the SampleProfile pass. N is the percent of input sample records that the user expects to apply. If the pass does not use N% (or more) of the sample records in the input, it emits a warning. This is useful to detect some forms of stale profiles. If the code has drifted enough from the original profile, there will be records that do not match the IR anymore. This will not detect cases where a sample profile record for line L is referring to some other instructions that also used to be at line L. llvm-svn: 251568
* Fix the calling convention of Mingw64 long double valuesReid Kleckner2015-10-283-21/+67
| | | | | | | | | | GCC uses the x87DoubleExtended model for long doubles, and passes them indirectly by address through function calls. Also replace the existing mingw-long-double assembly emitting test with an IR-level test. llvm-svn: 251567
* [PowerPC] Cleanly reject asm crbit constraint with -crbitsHal Finkel2015-10-282-1/+18
| | | | | | | When crbits are disabled, cleanly reject the constraint (return the register class only to cause an assert later). llvm-svn: 251566
* Fix missing builtin identifier infos with PCH+modulesBen Langmuir2015-10-284-2/+15
| | | | | | | | | | | | | | Use the *current* state of "is-moduleness" rather than the state at serialization time so that if we read a builtin identifier from a module that wasn't "interesting" to that module, we will still write it out to a PCH that imports that module. Otherwise, we would get mysterious "unknown builtin" errors when using PCH+modules. rdar://problem/23287656 llvm-svn: 251565
* Change Target::EvaluateExpression to take an ExecutionContextScope * rather ↵Jim Ingham2015-10-284-4/+6
| | | | | | | | | | | | | | | | than a StackFrame * (StackFrame is an ExecutionContextScope.) That allows you to call an expression on a particular Thread, but not using the context of any particular frame. That in turn is useful for injecting utility functions that don't actually depend on locals/self/etc of the current frame. I also had to include StackFrame.h in a couple of places so the compiler knew how to downcast StackFrame to ExecutionContextScope. <rdar://problem/22852953> llvm-svn: 251564
* Remove unused SUN_LEN macro for Android.Oleksiy Vyalov2015-10-281-7/+0
| | | | llvm-svn: 251563
* Revert "r251451 - [AliasSetTracker] Use mod/ref information for UnknownInstr"Hal Finkel2015-10-283-136/+55
| | | | | | | | | | | | | | | It looks like this broke the stage 2 builder: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto/6989/ Original commit message: AliasSetTracker does not need to convert the access mode to ModRefAccess if the new visited UnknownInst has only 'REF' modrefinfo to existing pointers in the sets. Patch by Andrew Zhogin! llvm-svn: 251562
* Fix Clang-tidy modernize-use-nullptr warnings in remaining files in ↵Eugene Zelenko2015-10-2815-302/+197
| | | | | | include/lldb/Core; other minor fixes. llvm-svn: 251561
* [Orc] Remove the 'takeOwnershipOfBuffers' kludge.Lang Hames2015-10-283-28/+1
| | | | | | Keno Fischer fixed the underlying issue that necessitated this in r236341. llvm-svn: 251560
* Skip this test is the test suite is running in a mode where it has no ↵Enrico Granata2015-10-281-6/+9
| | | | | | WindowServer access llvm-svn: 251559
* [SCEV] Compute max backedge count for loops with "shift ivs"Sanjoy Das2015-10-283-0/+324
| | | | | | | | | | | | | | This teaches SCEV to compute //max// backedge taken counts for loops like for (int i = k; i != 0; i >>>= 1) whatever(); SCEV yet cannot represent the exact backedge count for these loops, and this patch does not change that. This is really geared towards teaching SCEV that loops like the above are *not* infinite. llvm-svn: 251558
* [JumpThreading] Use dominating conditions to prove implicationsSanjoy Das2015-10-282-2/+138
| | | | | | | | | | | | | | | Summary: If P branches to Q conditional on C and Q branches to R conditional on C' and C => C' then the branch conditional on C' can be folded to an unconditional branch. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13972 llvm-svn: 251557
* Fix Clang-tidy modernize-use-nullptr warnings in some files in ↵Eugene Zelenko2015-10-286-212/+141
| | | | | | include/lldb/Core; other minor fixes. llvm-svn: 251556
* Don't crash when opening a fuzzed mach-o file that has bad dyld trie data.Greg Clayton2015-10-281-9/+17
| | | | | | <rdar://problem/21991784> llvm-svn: 251555
* [asan] Disable a flaky test on Android.Evgeniy Stepanov2015-10-281-0/+3
| | | | | Bug: https://github.com/google/sanitizers/issues/618 llvm-svn: 251554
* sanitizer_common: be more verbose, when symbolizer is not found.Ivan Krasin2015-10-281-2/+4
| | | | | | | | | | | | | | | | | Summary: I have othen been stuck when I got an ASAN report, but no symbols are resolved. The reasons might be different, and it always requires a bit of detective work to track down. These more verbose error messages will help the users like me. Reviewers: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14135 llvm-svn: 251553
* [analyzer] Preserve the order checkers were enabled/disabled.Anton Yartsev2015-10-281-4/+19
| | | | | | | In addition to r251524: preserve the order the checkers were enabled/disabled to be deterministic. Additionally return the number of arguments read by 'ProcessArgs' - for debug purpose. llvm-svn: 251552
OpenPOWER on IntegriCloud