| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 198799
|
|
|
|
|
|
|
|
|
|
| |
subsequent changes are easier to review. About to fix some layering
issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to
match the usage in Memory.inc.
llvm-svn: 198685
|
|
|
|
|
|
| |
Based on a patch by Maciej Piechotka.
llvm-svn: 198334
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an iterator which you can build around a MemoryBuffer. It will
iterate through the non-empty, non-comment lines of the buffer as
a forward iterator. It should be small and reasonably fast (although it
could be made much faster if anyone cares, I don't really...).
This will be used to more simply support the text-based sample
profile file format, and is largely based on the original patch by
Diego. I've re-worked the style of it and separated it from the work of
producing a MemoryBuffer from a file which both simplifies the interface
and makes it easier to test.
The style of the API follows the C++ standard naming conventions to fit
in better with iterators in general, much like the Path and FileSystem
interfaces follow standard-based naming conventions.
llvm-svn: 198068
|
|
|
|
|
|
| |
instead.
llvm-svn: 198011
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the docs, ThreadLocal<>::get() should return NULL
if no object has been set. This patch makes that the case also for non-thread
builds and adds a very basic unit test to check it.
(This was causing PR18205 because PrettyStackTraceHead didn't get zero-
initialized and we'd crash trying to read past the end of that list. We didn't
notice this so much on Linux since we'd crash after printing all the entries,
but on Mac we print into a SmallString, and would crash before printing that.)
llvm-svn: 197718
|
|
|
|
| |
llvm-svn: 197302
|
|
|
|
|
|
|
|
|
| |
Somewhat counterintuitively the first arg in gtest is treated as the
expectation.
No change to the tests themselves.
llvm-svn: 197124
|
|
|
|
|
|
|
|
|
| |
The old AddFixedStringToRegEx() it was based on got away with this for the
longest time, but the problem became easy to spot after the cleanup in r197096.
Also add a quick unit test to cover regex escaping.
llvm-svn: 197121
|
|
|
|
|
|
| |
build.
llvm-svn: 195411
|
|
|
|
|
|
|
| |
MappingTrait template specializations can now have a validate() method which
performs semantic checking. For details, see <http://llvm.org/docs/YamlIO.html>.
llvm-svn: 195286
|
|
|
|
| |
llvm-svn: 195285
|
|
|
|
|
|
| |
attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
llvm-svn: 195134
|
|
|
|
|
|
|
|
|
| |
Fixes http://llvm.org/PR16221, http://llvm.org/PR15927
Phabricator: http://llvm-reviews.chandlerc.com/D1236
Patch by Andrew Tulloch!
llvm-svn: 195016
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
division and make the private scale in BlockFrequency more performant.
This change is the first in a series of changes improving LLVM's Block
Frequency propogation implementation to not lose probability mass in
branchy code when propogating block frequency information from a basic
block to its successors. This patch is a simple infrastructure
improvement that does not actually modify the block frequency
algorithm. The specific changes are:
1. Changes the division algorithm used when scaling block frequencies by
branch probabilities to a short division algorithm. This gives us the
remainder for free as well as provides a nice speed boost. When I
benched the old routine and the new routine on a Sandy Bridge iMac with
disabled turbo mode performing 8192 iterations on an array of length
32768, I saw ~600% increase in speed in mean/median performance.
2. Exposes a scale method that returns a remainder. This is important so
we can ensure that when we scale a block frequency by some branch
probability BP = N/D, the remainder from the division by D can be
retrieved and propagated to other children to ensure no probability mass
is lost (more to come on this).
llvm-svn: 194950
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Make identify_magic to recognize COFF import file.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2165
llvm-svn: 194852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some machine-type-neutral object files containing only undefined symbols
actually do exist in the Windows standard library. Need to recognize them
as COFF files.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2164
llvm-svn: 194734
|
|
|
|
| |
llvm-svn: 194658
|
|
|
|
| |
llvm-svn: 194655
|
|
|
|
| |
llvm-svn: 194644
|
|
|
|
| |
llvm-svn: 194607
|
|
|
|
| |
llvm-svn: 194605
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ErrorOr had quiet a bit of complexity and indirection to be able to hold a user
type with the error.
That feature is not used anymore. This patch removes it, it will live in svn
history if we ever need it again.
If we do need it again, IMHO there is one thing that should be done
differently: Holding extra info in the error is not a property a function also
returning a value or not. The ability to hold extra info should be in the error
type and ErrorOr templated over it so that we don't need the funny looking
ErrorOr<void>.
llvm-svn: 194030
|
|
|
|
|
|
| |
the case [x, INT_MIN) was not handled optimally
llvm-svn: 193694
|
|
|
|
| |
llvm-svn: 193431
|
|
|
|
| |
llvm-svn: 193429
|
|
|
|
| |
llvm-svn: 193350
|
|
|
|
| |
llvm-svn: 193344
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New ProcessInfo class to encapsulate information about child processes.
- Generalized the Wait() to support non-blocking wait on child processes.
- ExecuteNoWait() now returns a ProcessInfo object with information about
the launched child. Users will be able to use this object to
perform non-blocking wait.
- ExecuteNoWait() now accepts an ExecutionFailed param that tells if execution
failed or not.
These changes will allow users to implement basic process parallel
tools.
Differential Revision: http://llvm-reviews.chandlerc.com/D1728
llvm-svn: 191763
|
|
|
|
|
|
|
| |
range that includes a tab character will cause out-of-bounds access to the
fixit string.
llvm-svn: 191563
|
|
|
|
| |
llvm-svn: 191558
|
|
|
|
|
|
|
|
| |
--gtest_filter was filtering an invalid name for the test.
Differential Revision: http://llvm-reviews.chandlerc.com/D1733
llvm-svn: 191100
|
|
|
|
| |
llvm-svn: 190485
|
|
|
|
|
|
| |
It was turning the buildbots red.
llvm-svn: 190480
|
|
|
|
| |
llvm-svn: 190472
|
|
|
|
|
|
|
|
| |
YAMLIO printed a string as is without quotes unless it contains a newline
character. That did not suffice. We also need to quote a string if it starts
with a backquote, quote, double quote or atsign, or it's the empty string.
llvm-svn: 190469
|
|
|
|
| |
llvm-svn: 190438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, character encoding of multibyte environment variable varies
depending on settings. The only reliable way to handle it I think is to use
GetEnvironmentVariableW().
GetEnvironmentVariableW() works on wchar_t string, which is on Windows UTF16
string. That's not ideal because we use UTF-8 as the internal encoding in LLVM.
This patch defines a wrapper function which takes and returns UTF-8 string for
GetEnvironmentVariableW().
The wrapper function does not do any conversion and just forwards the argument
to getenv() on Unix.
Differential Revision: http://llvm-reviews.chandlerc.com/D1612
llvm-svn: 190423
|
|
|
|
| |
llvm-svn: 190331
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work on this project was left in an unfinished and inconsistent state.
Hopefully someone will eventually get a chance to implement this feature, but
in the meantime, it is better to put things back the way the were. I have
left support in the bitcode reader to handle the case-range bitcode format,
so that we do not lose bitcode compatibility with the llvm 3.3 release.
This reverts the following commits: 155464, 156374, 156377, 156613, 156704,
156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575,
157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884,
157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100,
159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659,
159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736
llvm-svn: 190328
|
|
|
|
|
|
| |
page size can be null terminated correctly by MemoryBuffer.
llvm-svn: 189965
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
header/source to allow using both generic and system-dependent versions on win32.
Summary:
This is needed so we can use generic columnWidthUTF8 in clang-format on
win32 simultaneously with a separate system-dependent implementations of
isPrint/columnWidth in TextDiagnostic.cpp to avoid attempts to print Unicode
characters using narrow-character interfaces (which is not supported on Windows,
and we'll have to figure out how to handle this).
Reviewers: jordan_rose
Reviewed By: jordan_rose
CC: llvm-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1559
llvm-svn: 189952
|
|
|
|
|
|
| |
contain Offset when Offset >= 65536.
llvm-svn: 189021
|
|
|
|
| |
llvm-svn: 189020
|
|
|
|
| |
llvm-svn: 189001
|
|
|
|
|
|
|
|
| |
is greater than 8000.
PageSize, aka AllocationGranularity, is 65536 on Win32 (and Cygwin).
llvm-svn: 188999
|
|
|
|
| |
llvm-svn: 188525
|
|
|
|
|
|
|
|
| |
empty sequence is the first key/value in a map which is itself in a sequence.
Patch with help from Nick Kledzik.
llvm-svn: 188508
|
|
|
|
| |
llvm-svn: 188380
|
|
|
|
|
|
|
|
|
| |
This fixes the incorrect implementation of iterating on file/directory
paths.
Differential Review: http://llvm-reviews.chandlerc.com/D1277
llvm-svn: 188183
|