| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Because we don't have a separate negate( ) function, 0 - NaN does double-duty as the IEEE-754 negate( ) operation, which (unlike most FP ops) *does* attach semantic meaning to the signbit of NaN.
llvm-svn: 210428
|
|
|
|
|
|
|
|
|
| |
Avoid changing behaviour for everyone who's used to the traditional ghostview
UI, especially since it knows how to stay in the foreground unlike xdg-open.
Amendment to r210147.
llvm-svn: 210148
|
|
|
|
|
|
|
| |
This runs a suitable viewer on Unix desktop environments specified by
Freedesktop.org (GNOME, KDE, Linux distributions etc.)
llvm-svn: 210147
|
|
|
|
|
|
|
| |
This could have generated non-random output under error conditions in release
builds.
llvm-svn: 210065
|
|
|
|
| |
llvm-svn: 210005
|
|
|
|
|
|
|
| |
Amend r210001 to use the classic fallback order behaviour if the requested
graphing program isn't found.
llvm-svn: 210003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the crufty build-time configure checks for program paths with
equivalent runtime logic.
This lets users install graphing tools as needed without having to reconfigure
and rebuild LLVM, while eliminating a long chain of inappropriate compile
dependencies that included GUI programs and the windowing system.
Additional features:
* Support the OS X 'open' command to view graphs generated by any of the
Graphviz utilities. This is an alternative to the Graphviz OS X UI which is
no longer available on Mountain Lion.
* Produce informative log output upon failure to indicate which programs can
be installed to view graphs.
Ping me if this doesn't work for your particular environment.
llvm-svn: 210001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce the support structures necessary to deal with the Windows ARM EH data.
These definitions are extremely aggressive about assertions to aid future use
for generation of the entries and subsequent decoding.
The names for the various fields are meant to reflect the names used by the
Visual Studio toolchain to aid communication.
Due to the complexity in reading a few of the values, there are a couple of
additional utility functions to decode the information.
In general, there are two ways to encode the unwinding information:
- packed, which places the data inline into the
_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY structure.
- unpacked, which places the data into auxiliary structures placed into the
.xdata section.
The set of structures allow reading of data in either encoding, with the minor
caveat that epilogue scopes need to be decoded manually by constructing the
structure from the data returned by the RuntimeFunction structure.
These definitions are meant for read-only access at the current point as the
first use of them will be to decode the exception information.
llvm-svn: 209998
|
|
|
|
| |
llvm-svn: 209982
|
|
|
|
|
|
|
|
|
|
| |
Input YAML file might contain multiple object file definitions.
New option `-docnum` allows to specify an ordinal number (starting from 1)
of definition used for an object file generation.
Patch reviewed by Sean Silva.
llvm-svn: 209967
|
|
|
|
| |
llvm-svn: 209961
|
|
|
|
| |
llvm-svn: 209960
|
|
|
|
| |
llvm-svn: 209957
|
|
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209952
|
|
|
|
| |
llvm-svn: 209951
|
|
|
|
| |
llvm-svn: 209938
|
|
|
|
|
|
| |
headers
llvm-svn: 209506
|
|
|
|
| |
llvm-svn: 209420
|
|
|
|
|
|
|
| |
Based on a patch by jfcaron3@gmail.com!
PR19806
llvm-svn: 209216
|
|
|
|
|
|
|
| |
Removes old 4096 byte workaround. This functionality has been available since
Windows XP.
llvm-svn: 209137
|
|
|
|
|
|
| |
versions are not used by lldb, lld, or clang.
llvm-svn: 209103
|
|
|
|
|
|
|
|
| |
llvm::sys::path.
http://reviews.llvm.org/D3687
llvm-svn: 208980
|
|
|
|
|
|
|
| |
Fix error handling introduced in r127426 that could result in MemoryBuffers not
having null termination.
llvm-svn: 208396
|
|
|
|
|
|
| |
These were made redundant back in r186560.
llvm-svn: 208395
|
|
|
|
|
|
| |
This can happen in practice with the user changing files and we can recover from it.
llvm-svn: 208143
|
|
|
|
|
|
| |
which GCC detects and Clang does not!
llvm-svn: 208033
|
|
|
|
| |
llvm-svn: 208030
|
|
|
|
|
|
| |
about the use case for the new parameter.
llvm-svn: 208026
|
|
|
|
|
|
| |
type-erased reference to a callable object.
llvm-svn: 208025
|
|
|
|
|
|
|
|
|
| |
On x64, windows.h doesn't include intrin.h for intrinsics. It just
declares them in the global namespace and uses them, expecting the
compiler to lower it as a builtin. We basically need to do this in
clang, eventually.
llvm-svn: 208023
|
|
|
|
|
|
|
|
| |
make sure to zero-initialize the rest
of the buffer if we unexpectedly reach end-of-file while reading.
llvm-svn: 208021
|
|
|
|
|
|
|
|
| |
'IsVolatile' for the open file functions.
This provides a hint that the file may be changing often so mmap is avoided.
llvm-svn: 208007
|
|
|
|
|
|
|
|
|
|
| |
Tested that the right -target-cpu is set in the clang -cc1 command line
when running "clang -march=native -E -v - </dev/null" on both an FX-8150
and an FX-8350. Both are family 15h; the FX-8150 (Bulldozer processor)
reports a model number of 1, and the FX-8350 (Piledriver processor)
reports a model number of 2.
llvm-svn: 207973
|
|
|
|
|
|
| |
This is just bdver3 + AVX2 + BMI2.
llvm-svn: 207847
|
|
|
|
|
|
| |
necessary.
llvm-svn: 207593
|
|
|
|
| |
llvm-svn: 207559
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change `BlockFrequency` to defer to `BranchProbability::scale()` and
`BranchProbability::scaleByInverse()`.
This removes `BlockFrequency::scale()` from its API (and drops the
ability to see the remainder), but the only user was the unit tests. If
some code in the future needs an API that exposes the remainder, we can
add something to `BranchProbability`, but I find that unlikely.
llvm-svn: 207550
|
|
|
|
| |
llvm-svn: 207545
|
|
|
|
|
|
|
| |
Add API to `BranchProbability` for scaling big integers. Next job is to
rip the logic out of `BlockMass` and `BlockFrequency`.
llvm-svn: 207544
|
|
|
|
| |
llvm-svn: 207394
|
|
|
|
|
|
| |
our own portability system to cope without snprintf.
llvm-svn: 207389
|
|
|
|
|
|
| |
Unix-like OSes.
llvm-svn: 207388
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each line. This is particularly nice for tracking which run of
a particular pass over a particular function was slow.
This also required making the TimeValue string much more useful. First,
there is a standard format for writing out a date and time. Let's use
that rather than strings that would have to be parsed. Second, actually
output the nanosecond resolution that timevalue claims to have.
This is proving useful working on PR19499, so I figured it would be
generally useful to commit.
llvm-svn: 207385
|
|
|
|
|
|
| |
sys::path::filename() instead of std::string.
llvm-svn: 206990
|
|
|
|
|
|
| |
definition below all of the header #include lines, lib/Support edition.
llvm-svn: 206847
|
|
|
|
|
|
| |
and PPC, but not x86.
llvm-svn: 206830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
behavior based on other files defining DEBUG_TYPE, which means it cannot
define DEBUG_TYPE at all. This is actually better IMO as it forces folks
to define relevant DEBUG_TYPEs for their files. However, it requires all
files that currently use DEBUG(...) to define a DEBUG_TYPE if they don't
already. I've updated all such files in LLVM and will do the same for
other upstream projects.
This still leaves one important change in how LLVM uses the DEBUG_TYPE
macro going forward: we need to only define the macro *after* header
files have been #include-ed. Previously, this wasn't possible because
Debug.h required the macro to be pre-defined. This commit removes that.
By defining DEBUG_TYPE after the includes two things are fixed:
- Header files that need to provide a DEBUG_TYPE for some inline code
can do so by defining the macro before their inline code and undef-ing
it afterward so the macro does not escape.
- We no longer have rampant ODR violations due to including headers with
different DEBUG_TYPE definitions. This may be mostly an academic
violation today, but with modules these types of violations are easy
to check for and potentially very relevant.
Where necessary to suppor headers with DEBUG_TYPE, I have moved the
definitions below the includes in this commit. I plan to move the rest
of the DEBUG_TYPE macros in LLVM in subsequent commits; this one is big
enough.
The comments in Debug.h, which were hilariously out of date already,
have been updated to reflect the recommended practice going forward.
llvm-svn: 206822
|
|
|
|
| |
llvm-svn: 206492
|
|
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206252
|
|
|
|
| |
llvm-svn: 206197
|