Evgeniy Stepanov
ef94169938
Add IRBuilderBase::getIntPtrTy.
...
llvm-svn: 167111
2012-10-31 09:50:01 +00:00
Duncan Sands
e2395dc27b
Fix isEliminableCastPair to work correctly in the presence of pointers
...
with different sizes.
llvm-svn: 167018
2012-10-30 16:03:32 +00:00
Ulrich Weigand
d9f7e259aa
Implement arithmetic on APFloat with PPCDoubleDouble semantics by
...
treating it as if it were an IEEE floating-point type with 106-bit
mantissa.
This makes compile-time arithmetic on "long double" for PowerPC
in clang (in particular parsing of floating point constants)
work, and fixes all "long double" related failures in the test
suite.
llvm-svn: 166951
2012-10-29 18:09:01 +00:00
Pete Cooper
8ba353da39
Fixed bug in SmallDenseMap where it wouldn't leave enough space for an empty bucket if the number of values was exactly equal to the small capacity. This led to an infinite loop when finding a non-existent element
...
llvm-svn: 166492
2012-10-23 18:47:35 +00:00
Bob Wilson
0f295dec0d
Use an export list when building JIT unittests. <rdar://problem/12473675>
...
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
2012-10-18 20:25:36 +00:00
Bill Wendling
003516b592
Marked this variable as 'used' so that LTO doesn't get rid of it.
...
llvm-svn: 166092
2012-10-17 08:08:06 +00:00
Owen Anderson
04b8daa970
Fix a bug in the set(I,E)/reset(I,E) methods that I recently added. The 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
2012-10-16 06:04:27 +00:00
Owen Anderson
6b7bdf88c9
Add range-based set()/reset() to BitVector. These allow fast setting/resetting of ranges of bits, particularly useful when dealing with very large BitVector's.
...
llvm-svn: 165984
2012-10-15 22:05:27 +00:00
Benjamin Kramer
b9a9273826
Update CMake build.
...
llvm-svn: 165908
2012-10-14 16:06:09 +00:00
Benjamin Kramer
43f2507fce
Fix a typo that made ImmutableMap::getMaxElement() useless.
...
Add a basic unit test for ImmutableMap. Found by inspection.
llvm-svn: 165907
2012-10-14 15:56:39 +00:00
Duncan Sands
d5772de0eb
Add powerpc-ibm-aix to Triple. Patch by Kai.
...
llvm-svn: 165792
2012-10-12 11:08:57 +00:00
NAKAMURA Takumi
2d1bd7cca7
JITTest.cpp: Use LLVM_ATTRIBUTE_USED, rather than __attribute__ directly!
...
llvm-svn: 165790
2012-10-12 08:09:29 +00:00
Bill Wendling
35ac231d7e
Mark function as 'used' so that LTO doesn't try to get rid of it.
...
llvm-svn: 165781
2012-10-12 01:44:08 +00:00
NAKAMURA Takumi
4668e3cd6a
Revert r165777, "Mark function as 'used' so that LTO doesn't try to get rid of it."
...
llvm-svn: 165780
2012-10-12 01:34:07 +00:00
Bill Wendling
408668a834
Mark function as 'used' so that LTO doesn't try to get rid of it.
...
llvm-svn: 165777
2012-10-12 01:15:17 +00:00
Sean Silva
35dd8779fa
Casting.h: Automatically handle isa<Base>(Derived).
...
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
2012-10-11 23:30:40 +00:00
Micah Villmow
9cfc13d46c
Move TargetData to DataLayout.
...
llvm-svn: 165403
2012-10-08 16:39:34 +00:00
James Molloy
0ae35af518
Some regression tests which are testing the old jit and are exercising 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
2012-10-08 13:06:30 +00:00
Andrew Kaylor
5e7d792689
Adding MCJIT and MemoryBuffer unit tests
...
Patch by Daniel Malea.
llvm-svn: 165246
2012-10-04 20:29:44 +00:00
Nick Kledzik
85a62b1a1d
Use unsigned long long instead of uin64_t for OS where that matters.
...
llvm-svn: 165147
2012-10-03 19:27:25 +00:00
Benjamin Kramer
d95ceff092
Don't call getAsUnsignedInteger directly, it fails to compile if uint64_t is not "unsigned long long".
...
while there add more test cases.
llvm-svn: 165140
2012-10-03 18:54:36 +00:00
Nick Kledzik
f8a75eef85
Add getAsUnsignedInteger test case that checks that known bad values are rejected
...
llvm-svn: 165136
2012-10-03 18:15:27 +00:00
Andrew Kaylor
5808c7d828
Removing dependency on third party library for Intel JIT event support.
...
Patch committed on behalf of Kirill Uhanov
llvm-svn: 164831
2012-09-28 17:35:20 +00:00
Andrew Kaylor
c091ea33f0
Fix of hang during Intel JIT profiling
...
Committed on behalf of Kirill Uhanov
llvm-svn: 164736
2012-09-26 23:43:56 +00:00
Benjamin Kramer
576f5a10e6
Remove unneeded and invalid SetInsertPoint calls from unittest.
...
BB->end() returns a sentinel value that is not a legal insert point.
llvm-svn: 164699
2012-09-26 15:16:05 +00:00
Benjamin Kramer
c38fab2013
APFloat::roundToIntegral: Special values don't keep the exponent value up to date, don't rely on it.
...
Add a couple of unit tests for special floats. Fixes 13929, found by MemorySanitizer.
llvm-svn: 164698
2012-09-26 14:06:58 +00:00
Michael Ilseman
a398d4cfaf
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
...
Fixed issue with Release build.
llvm-svn: 164654
2012-09-26 01:55:01 +00:00
Chad Rosier
88387f5332
Revert r164614 to appease the buildbots.
...
llvm-svn: 164627
2012-09-25 19:57:20 +00:00
Michael Ilseman
506150a071
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
...
llvm-svn: 164614
2012-09-25 17:56:47 +00:00
Michael Ilseman
02a6babb3e
Unit tests for IntegerDivision. Currently, just a basic sanity check to 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
2012-09-25 01:33:33 +00:00
Andrew Kaylor
1f66100755
This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT.
...
llvm-svn: 164249
2012-09-19 20:46:12 +00:00
Craig Topper
bc40d7e023
Fix includes of llvm files that used angle brackets.
...
llvm-svn: 163979
2012-09-15 18:45:38 +00:00
Daniel Dunbar
b93a2ceba5
cmake: Fix file path.
...
llvm-svn: 163950
2012-09-14 23:36:56 +00:00
Daniel Dunbar
9affb245a5
formatted_raw_ostream: Fix a serious bug in tell().
...
- 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
2012-09-14 23:15:56 +00:00
David Blaikie
21e27ce264
Fix up erroneous alignas usage while making this portable to GCC 4.7
...
Review by Chandler Carruth.
llvm-svn: 163944
2012-09-14 22:26:11 +00:00
NAKAMURA Takumi
3ead47e718
ADTTests: [CMake] Exclude DenseMapTest.cpp and SmallVectorTest.cpp on MSVC9 due to its bug.
...
llvm-svn: 162918
2012-08-30 16:22:32 +00:00
Richard Smith
c4379c3b7e
Don't pass a null pointer to cast<> in its unit tests.
...
llvm-svn: 162310
2012-08-21 20:39:25 +00:00
Benjamin Kramer
1b07ab51e4
DataExtractor: Fix integer truncation issues in LEB128 extraction.
...
llvm-svn: 162201
2012-08-20 10:52:11 +00:00
Chandler Carruth
9b9cec24b8
Flatten the aligned-char-array utility template to be a directly
...
templated union at the request of Richard Smith. This makes it
substantially easier to type. =]
llvm-svn: 162072
2012-08-17 01:47:25 +00:00
Michael J. Spencer
135611f7fc
Properly test the LLVM_USE_RVALUE_REFERENCES macro.
...
llvm-svn: 161979
2012-08-15 19:21:42 +00:00
Michael J. Spencer
ef2284fbad
[PathV2] Add mapped_file_region. Implementation for Windows and POSIX.
...
llvm-svn: 161976
2012-08-15 19:05:47 +00:00
Owen Anderson
352dfff447
Fix another roundToIntegral bug where very large values could become infinity. Problem and solution identified by Steve Canon.
...
llvm-svn: 161969
2012-08-15 18:28:45 +00:00
Owen Anderson
1ff74b0d2d
Fix a problem with APFloat::roundToIntegral where it would return incorrect results for negative inputs to trunc. Add unit tests to verify this behavior.
...
llvm-svn: 161929
2012-08-15 05:39:46 +00:00
Alexander Kornienko
8c724a758b
Added test for non-static use of cl::opt (fixed in r160170)
...
llvm-svn: 161751
2012-08-13 10:43:36 +00:00
Benjamin Kramer
6d29c29631
Update cmake build.
...
llvm-svn: 161297
2012-08-04 09:52:39 +00:00
Benjamin Kramer
3849fcbe0e
Postpone the deletion of the old name in StructType::setName to allow using a slice of the old name.
...
Fixes PR13522. Add a rudimentary unit test to exercise the behavior.
llvm-svn: 161296
2012-08-04 09:47:02 +00:00
Chandler Carruth
f2113f3b48
Add range erase, element insert, and range insert methods to
...
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
2012-08-01 08:40:48 +00:00
Nick Kledzik
5fce8c4ffe
Initial commit of new FileOutputBuffer support class.
...
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
2012-08-01 02:29:50 +00:00
Akira Hatanaka
0820f0ca8e
Implement MipsJITInfo::replaceMachineCodeForFunction.
...
No new test case is added.
This patch makes test JITTest.FunctionIsRecompiledAndRelinked pass on mips
platform.
Patch by Petar Jovanovic.
llvm-svn: 161098
2012-08-01 02:29:24 +00:00
Nick Kledzik
204720bc71
Suppress stderr noise when test case runs.
...
llvm-svn: 161085
2012-07-31 22:18:15 +00:00