- Nov 16, 2016
-
-
Davide Italiano authored
This has two advantages: 1) We slowly move away from ErrorOr to the new handling interface, in the hope of having an uniform error handling in LLVM, eventually. 2) We're starting to have *meaningful* error messages for invalid object ELF files, rather than a generic "parse error". At some point we should include also the offset to improve the quality of the diagnostic. llvm-svn: 287081
-
Eric Fiselier authored
llvm-svn: 287080
-
Saleem Abdulrasool authored
Rather than using sed to generate the input and pipe the result to strings, use the static input instead. llvm-svn: 287079
-
Mike Aizatsky authored
Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D26707 llvm-svn: 287078
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D26711 llvm-svn: 287077
-
Matthias Braun authored
Doing this before register allocation reduces register pressure as we do not even have to allocate a register for those dead definitions. Differential Revision: https://reviews.llvm.org/D26111 llvm-svn: 287076
-
Richard Smith authored
llvm-svn: 287075
-
Konstantin Zhuravlyov authored
- Select `select` to `v_cndmask_b32` - Expand `select_cc` - Refactor patterns Differential Revision: https://reviews.llvm.org/D26714 llvm-svn: 287074
-
Dean Michael Berris authored
Summary: We update the documentation to define what the requirements are for the provided XRay log handler. This is to make it clear that the function pointer provided must do internal synchronisation and that there are no guarantees provided by XRay on when the function shall be invoked once it has been installed as a log handler. Reviewers: rSerge, rengolin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26651 llvm-svn: 287073
-
Rui Ueyama authored
llvm-svn: 287072
-
Rui Ueyama authored
The added module contains nothing, but it is still useful as a test to ensure that we are emitting modules that can be read back. llvm-svn: 287071
-
Quentin Colombet authored
In https://reviews.llvm.org/D25347, Geoff noticed that we still have useless copy that we can eliminate after register allocation. At the time the allocation is chosen for those copies, they are not useless but, because of changes in the surrounding code, later on they might become useless. The Greedy allocator already has a mechanism to deal with such cases with a late recoloring. However, we missed to record the some of the missed hints. This commit fixes that. llvm-svn: 287070
-
Vitaly Buka authored
Summary: r286944 introduced bugs detected by ASAN as use-after-return. r287025 have not fixed them completely. This reverts commit r286944 and r287025. Reviewers: ABataev Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26720 llvm-svn: 287069
-
Dean Michael Berris authored
Summary: Adds a CMake check for whether the compiler used to build the XRay library supports XRay-instrumentation. If the compiler we're using does support the `-fxray-instrument` flag (i.e. recently-built Clang), we define the XRAY_NEVER_INSTRUMENT macro that then makes sure that the XRay runtime functions never get XRay-instrumented. This prevents potential weirdness involved with building the XRay library with a Clang that supports XRay-instrumentation, and is attempting to XRay-instrument the build of compiler-rt. Reviewers: majnemer, rSerge, echristo Subscribers: mehdi_amini, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D26597 llvm-svn: 287068
-
Rui Ueyama authored
This is required by DbiStream, but DbiStreamBuilder didn't align these substreams, so the output of DbiSTreamBuilder couldn't be read by DbiStream. Test will be added to LLD. llvm-svn: 287067
-
Richard Smith authored
common case of a call to a non-builtin, particularly for unoptimized ASan builds (where the per-variable stack usage can be quite high). llvm-svn: 287066
-
Vyacheslav Klochkov authored
Reviewer: Michael Zolotukhin. Differential Revision: https://reviews.llvm.org/D26575 llvm-svn: 287064
-
Devin Coughlin authored
llvm-svn: 287063
-
Justin Lebar authored
Summary: We don't do BypassSlowDivision when the denominator is a constant, but we do do it when the numerator is a constant. This patch makes two related changes to BypassSlowDivision when the numerator is a constant: * If the numerator is too large to fit into the bypass width, don't bypass slow division (because we'll never run the smaller-width code). * If we bypass slow division where the numerator is a constant, don't OR together the numerator and denominator when determining whether both operands fit within the bypass width. We need to check only the denominator. Reviewers: tra Subscribers: llvm-commits, jholewinski Differential Revision: https://reviews.llvm.org/D26699 llvm-svn: 287062
-
Justin Lebar authored
if (A || (B && A)) --> if (A). llvm-svn: 287061
-
Rui Ueyama authored
These numbers are intended to be capped at 65535, but `std::max<uint16_t>(UINT16_MAX, N)` always returns N for any N because the expression is the same as `std::max((uint16_t)UINT16_MAX, (uint16_t)N)`. llvm-svn: 287060
-
Joerg Sonnenberger authored
For the default, small and medium code model, use the existing difference from the jump table towards the label. For all other code models, setup the picbase and use the difference between the picbase and the block address. Overall, this results in smaller data tables at the expensive of one or two more arithmetic operation at the jump site. Given that we only create jump tables with a lot more than two entries, it is a net win in size. For larger code models the assumption remains that individual functions are no larger than 2GB. Differential Revision: https://reviews.llvm.org/D26336 llvm-svn: 287059
-
Richard Smith authored
lambda-expression does not have a move-assignment operator. llvm-svn: 287057
-
Jan Vesely authored
wbinvl.* are vector instruction that do not sue vector registers. v2: check only M?BUF instructions Differential Revision: https://reviews.llvm.org/D26633 llvm-svn: 287056
-
Zachary Turner authored
llvm-svn: 287055
-
Sanjay Patel authored
llvm-svn: 287051
-
Kevin Enderby authored
To get a good error message for all files that could contain Mach-O files the code in llvm-objdump needs to use the archive member name and name of the architecture of a slice of a universal file in those cases where the error come from a Mach-O file in an archive or a universal file. Most of this is fixed by moving the call to checkSymbolTable() into ProcessMachO() and calling it when the operation needs the symbol table. And then calling the form of report_error() that has the ArchiveName and ArchitectureName arguments. One other place needed to call this form of report_error() also with these arguments. Also changed the code in MachODump.cpp to not use report_fatal_error() and use report_error() instead to make the code smaller and cleaner. All cases of this are for errors with the symbol table which should now never be tripped since checkSymbolTable() should be called first to get a good error message in these cases. llvm-svn: 287050
-
Sanjay Patel authored
llvm-svn: 287049
-
- Nov 15, 2016
-
-
Sanjay Patel authored
llvm-svn: 287048
-
Filipe Cabecinhas authored
This patch adds support for instrumenting masked loads and stores under ASan, if they have a constant mask. isInterestingMemoryAccess now supports returning a mask to be applied to the loads, and instrumentMop will use it to generate additional checks. Added tests for v4i32 v8i32, and v4p0i32 (~v4i64) for both loads and stores (as well as a test to verify we don't add checks to non-constant masks). Differential Revision: https://reviews.llvm.org/D26230 llvm-svn: 287047
-
Sanjay Patel authored
llvm-svn: 287046
-
Artem Dergachev authored
A combination of C++ modules, variadic functions with more than one argument, and const globals in headers (all three being necessary) causes some releases of clang to misplace the matcher objects, which causes the linker to fail. No functional change - the extra allOf() matcher is no-op here. llvm-svn: 287045
-
Amaury Sechet authored
See https://reviews.llvm.org/D26392 Patch by @maleadt llvm-svn: 287044
-
Mehdi Amini authored
This reverts commit r287039, tests are broken. llvm-svn: 287043
-
Rafael Espindola authored
This seems far more natural. A user can create larger chunks if the overhead is too large. With this linking xul with "--threads --build-id=sha1 goes from 13.938177535 to 11.035953538 seconds on linux. llvm-svn: 287042
-
Justin Lebar authored
This fails with gcc because __builtin_isnan and friends, which libcpp_isnan and friends call, are not themselves constexpr-evaluatable. llvm-svn: 287041
-
Reid Kleckner authored
Users often have their own unhandled exception filters installed. ASan already goes to great lengths to install its own filter, but our core wars with Chrome crashpad have escalated to the point that its time to declare a truce. By exposing this hook, they can call us directly when they want ASan crash reporting without worrying about who initializes when. llvm-svn: 287040
-
Mehdi Amini authored
Instead of always displaying the mangled name, try to do better and get something closer to regular functions. Differential Revision: https://reviews.llvm.org/D26522 llvm-svn: 287039
-
Peter Collingbourne authored
This makes these thin archives portable between *nix and Windows. Differential Revision: https://reviews.llvm.org/D26696 llvm-svn: 287038
-
Chad Rosier authored
Differential Revision: https://reviews.llvm.org/D26674 llvm-svn: 287037
-