| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
When building with LTO, the internalize pass is hiding some global symbols
that are necessary for the JIT unittests. It seems like that may be a bug in
LTO to do that by default, but until that gets fixed, this change makes sure
that we export the necessary symbols for the tests to pass.
llvm-svn: 166220
|
|
|
|
| |
llvm-svn: 166092
|
|
|
|
|
|
| |
boundary condition for checking if I and E were in the same word were incorrect, and, beyond that, the mask computation was not using a wide enough constant.
llvm-svn: 166015
|
|
|
|
|
|
| |
setting/resetting of ranges of bits, particularly useful when dealing with very large BitVector's.
llvm-svn: 165984
|
|
|
|
| |
llvm-svn: 165908
|
|
|
|
|
|
| |
Add a basic unit test for ImmutableMap. Found by inspection.
llvm-svn: 165907
|
|
|
|
| |
llvm-svn: 165792
|
|
|
|
| |
llvm-svn: 165790
|
|
|
|
| |
llvm-svn: 165781
|
|
|
|
|
|
| |
of it."
llvm-svn: 165780
|
|
|
|
| |
llvm-svn: 165777
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Additionally, all such cases are handled with no dynamic check.
All `classof()` of the form
class Foo {
[...]
static bool classof(const Bar *) { return true; }
[...]
}
where Foo is an ancestor of Bar are no longer necessary.
Don't write them!
Note: The exact test is `is_base_of<Foo, Bar>`, which is non-strict, so
that Foo is considered an ancestor of itself.
This leads to the following rule of thumb for LLVM-style RTTI:
The argument type of `classof()` should be a strict ancestor.
For more information about implementing LLVM-style RTTI, see
docs/HowToSetUpLLVMStyleRTTI.rst
llvm-svn: 165765
|
|
|
|
| |
llvm-svn: 165403
|
|
|
|
|
|
|
|
| |
functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux.
Patch by David Tweed!
llvm-svn: 165390
|
|
|
|
|
|
| |
Patch by Daniel Malea.
llvm-svn: 165246
|
|
|
|
| |
llvm-svn: 165147
|
|
|
|
|
|
|
|
| |
not "unsigned long long".
while there add more test cases.
llvm-svn: 165140
|
|
|
|
|
|
| |
rejected
llvm-svn: 165136
|
|
|
|
|
|
| |
Patch committed on behalf of Kirill Uhanov
llvm-svn: 164831
|
|
|
|
|
|
| |
Committed on behalf of Kirill Uhanov
llvm-svn: 164736
|
|
|
|
|
|
| |
BB->end() returns a sentinel value that is not a legal insert point.
llvm-svn: 164699
|
|
|
|
|
|
|
|
| |
date, don't rely on it.
Add a couple of unit tests for special floats. Fixes 13929, found by MemorySanitizer.
llvm-svn: 164698
|
|
|
|
|
|
|
|
| |
and u/srem.
Fixed issue with Release build.
llvm-svn: 164654
|
|
|
|
| |
llvm-svn: 164627
|
|
|
|
|
|
| |
and u/srem.
llvm-svn: 164614
|
|
|
|
|
|
| |
ensure that the code was generated properly. Future work would be finding some way to test the actual result that would be computed.
llvm-svn: 164582
|
|
|
|
|
|
| |
implement section-specific protection handling in MCJIT.
llvm-svn: 164249
|
|
|
|
| |
llvm-svn: 163979
|
|
|
|
| |
llvm-svn: 163950
|
|
|
|
|
|
|
|
|
| |
- The current_pos function is supposed to return all the written bytes, not the
current position of the underlying stream.
- This caused tell() to be broken whenever the underlying stream had buffered
content.
llvm-svn: 163948
|
|
|
|
|
|
| |
Review by Chandler Carruth.
llvm-svn: 163944
|
|
|
|
|
|
| |
due to its bug.
llvm-svn: 162918
|
|
|
|
| |
llvm-svn: 162310
|
|
|
|
| |
llvm-svn: 162201
|
|
|
|
|
|
|
| |
templated union at the request of Richard Smith. This makes it
substantially easier to type. =]
llvm-svn: 162072
|
|
|
|
| |
llvm-svn: 161979
|
|
|
|
| |
llvm-svn: 161976
|
|
|
|
|
|
| |
infinity. Problem and solution identified by Steve Canon.
llvm-svn: 161969
|
|
|
|
|
|
| |
results for negative inputs to trunc. Add unit tests to verify this behavior.
llvm-svn: 161929
|
|
|
|
| |
llvm-svn: 161751
|
|
|
|
| |
llvm-svn: 161297
|
|
|
|
|
|
|
|
| |
a slice of the old name.
Fixes PR13522. Add a rudimentary unit test to exercise the behavior.
llvm-svn: 161296
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TinyPtrVector. With these, it is sufficiently functional for my more
normal / pedestrian uses.
I've not included some r-value reference stuff here because the value
type for a TinyPtrVector is, necessarily, just a pointer.
I've added tests that cover the basic behavior of these routines, but
they aren't as comprehensive as I'd like. In particular, they don't
really test the iterator semantics as thoroughly as they should. Maybe
some brave soul will feel enterprising and flesh them out. ;]
llvm-svn: 161104
|
|
|
|
|
|
|
|
| |
Since the llvm::sys::fs::map_file_pages() support function it relies on
is not yet implemented on Windows, the unit tests for FileOutputBuffer
are currently conditionalized to run only on unix.
llvm-svn: 161099
|
|
|
|
|
|
|
|
|
|
| |
No new test case is added.
This patch makes test JITTest.FunctionIsRecompiledAndRelinked pass on mips
platform.
Patch by Petar Jovanovic.
llvm-svn: 161098
|
|
|
|
| |
llvm-svn: 161085
|
|
|
|
|
|
| |
re-use allocated vectors as much as possible.
llvm-svn: 161041
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for this class. These tests exercise most of the basic properties, but
the API for TinyPtrVector is very strange currently. My plan is to start
fleshing out the API to match that of SmallVector, but I wanted a test
for what is there first.
Sadly, it doesn't look reasonable to just re-use the SmallVector tests,
as this container can only ever store pointers, and much of the
SmallVector testing is to get construction and destruction right.
Just to get this basic test working, I had to add value_type to the
interface.
While here I found a subtle bug in the combination of 'erase', 'begin',
and 'end'. Both 'begin' and 'end' wanted to use a null pointer to
indicate the "end" iterator of an empty vector, regardless of whether
there is actually a vector allocated or the pointer union is null.
Everything else was fine with this except for erase. If you erase the
last element of a vector after it has held more than one element, we
return the end iterator of the underlying SmallVector which need not be
a null pointer. Instead, simply use the pointer, and poniter + size()
begin/end definitions in the tiny case, and delegate to the inner vector
whenever it is present.
llvm-svn: 161024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test more than a single instantiation of SmallVector.
Add testing for 0, 1, 2, and 4 element sized "small" buffers. These
appear to be essentially untested in the unit tests until now.
Fix several tests to be robust in the face of a '0' small buffer. As
a consequence of this size buffer, the growth patterns are actually
observable in the test -- yes this means that many tests never caused
a grow to occur before. For some tests I've merely added a reserve call
to normalize behavior. For others, the growth is actually interesting,
and so I captured the fact that growth would occur and adjusted the
assertions to not assume how rapidly growth occured.
Also update the specialization for a '0' small buffer length to have all
the same interface points as the normal small vector.
llvm-svn: 161001
|
|
|
|
| |
llvm-svn: 160643
|