Daniel Dunbar
6bbe0f1151
Support writing a StringRef to a raw_ostream directly.
...
llvm-svn: 76754
2009-07-22 17:13:20 +00:00
Ryan Flynn
a78abdc35e
cast signed APInt constructor params to uint64_t to suppress signedness warning
...
llvm-svn: 76744
2009-07-22 16:17:36 +00:00
Daniel Dunbar
30c92a0aee
Add StringRef::{substr, startswith}.
...
llvm-svn: 76559
2009-07-21 09:18:49 +00:00
Daniel Dunbar
8ab30670cc
Add StringRef class, with fixes.
...
llvm-svn: 76543
2009-07-21 07:28:51 +00:00
Torok Edwin
4f4888bcf0
unbreak unit-tests on gcc-4.4.
...
llvm-svn: 76542
2009-07-21 07:09:05 +00:00
Nick Lewycky
3b459607de
Fix ConstantRange::unionWith. Also make it work a little hard in some cases to
...
return the smallest union of two ranges instead of just any range that happens
to contain the union.
llvm-svn: 76360
2009-07-19 03:44:35 +00:00
Nick Lewycky
ec10fcbd04
Replace intersectWith with maximalIntersectWith. The latter guarantees that
...
all values belonging to the intersection will belong to the resulting range.
The former was inconsistent about that point (either way is fine, just pick
one.) This is part of PR4545.
llvm-svn: 76289
2009-07-18 06:34:42 +00:00
Daniel Dunbar
cf0c706052
Unbreak unittests build.
...
- Reid, please check, I'm not sure if this is what was intended.
llvm-svn: 76286
2009-07-18 06:08:49 +00:00
Reid Kleckner
5460ad390c
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
...
Also a test commit.
llvm-svn: 76276
2009-07-18 00:42:18 +00:00
Daniel Dunbar
156565ace2
Add SmallString unit test.
...
- Patch by Ryan Flynn!
llvm-svn: 76081
2009-07-16 17:00:06 +00:00
Owen Anderson
8c85061ee6
Move EVER MORE stuff over to LLVMContext.
...
llvm-svn: 75703
2009-07-14 23:09:55 +00:00
Dan Gohman
b4db50265f
Port this unittest to use LLVMContext.
...
llvm-svn: 75583
2009-07-14 01:26:26 +00:00
Nick Lewycky
0cc1d245c4
Fix an error in ConstantRange::getSignedMax on wrapped ranges. Thanks once
...
again to Daniel Dunbar and KLEE!
llvm-svn: 75449
2009-07-13 04:50:21 +00:00
Nick Lewycky
41a9bdab7b
'i8 full-range' sign extended to i16 should equal [-128, 128) not [-128, 127).
...
Found by Daniel Dunbar and KLEE.
llvm-svn: 75448
2009-07-13 04:17:23 +00:00
Owen Anderson
393d8b0a0c
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
...
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Nick Lewycky
fee90bcb80
Multiply was very wrong for wrapped ranges. This supplies a half-fix that will
...
generally return Full on all wrapped inputs. "Fixes" PR4545.
llvm-svn: 75444
2009-07-13 03:27:41 +00:00
Nick Lewycky
7280c39dc7
Fix a bug summing two full sets. The overflow checking doesn't handle sets as
...
large as the full set, only those one size smaller. Thanks to Daniel Dunbar
who found this bug using Klee!
llvm-svn: 75443
2009-07-13 02:49:08 +00:00
Daniel Dunbar
29416147f7
Clarify a FIXME.
...
llvm-svn: 75422
2009-07-12 19:45:34 +00:00
Nick Lewycky
dc5ef94320
Implement udiv for ConstantRanges.
...
llvm-svn: 75413
2009-07-12 05:18:18 +00:00
Nick Lewycky
7cb010e885
This is not overly conservative.
...
Some = [10, 2730). A subset of that is [1024..2048) which covers every possible
10-bit pattern.
llvm-svn: 75411
2009-07-12 02:28:40 +00:00
Nick Lewycky
6663d6ad6f
Implement ConstantRange::multiply based on the code in LoopVR.
...
llvm-svn: 75410
2009-07-12 02:19:05 +00:00
Nick Lewycky
3e43cd4105
Fix handling of max and full set.
...
A full set is a constant range that represents any number. If you take the
umax of that and [5, 10) you end up with [5, INT_MAX] because the values less
than 5 would be umax's against a value which is at least 5.
llvm-svn: 75372
2009-07-11 19:22:21 +00:00
Nick Lewycky
d2817afb0e
Break the world's largest unit test down a few logical lines. No semantic
...
changes.
llvm-svn: 75369
2009-07-11 18:43:20 +00:00
Dan Gohman
6f78ed8f74
Don't use a void return type with a function that returns a value.
...
llvm-svn: 75364
2009-07-11 13:56:14 +00:00
Owen Anderson
565efa7c72
Fix unit tests.
...
llvm-svn: 75262
2009-07-10 18:58:29 +00:00
Dan Gohman
8a58b8f83b
Revert the part of 75177 that split ConstantRange into two classes, and
...
merge the new functionality and unittests into ConstantRange. Thanks to
Nick Lewycky for pointing out that it isn't necessary to have two separate
classes here.
llvm-svn: 75191
2009-07-09 23:16:10 +00:00
Dan Gohman
33251eff97
Add a ConstantSignedRange class, which does for signed integers
...
what ConstantRange does for unsigned integers. Factor out a
common base class for common functionality.
Add some new functions for performing arithmetic on constant
ranges. Some of these are currently just stubbed out with
conservative implementations.
Add unittests for ConstantRange and ConstantSignedRange.
llvm-svn: 75177
2009-07-09 22:07:27 +00:00
Jeffrey Yasskin
2ef60bd58a
Add an option to allocate JITed global data separately from code. By
...
default, this option is not enabled to support clients who rely on
this behavior.
Fixes http://llvm.org/PR4483
A patch to allocate additional memory for globals after we run out is
forthcoming.
Patch by Reid Kleckner!
llvm-svn: 75059
2009-07-08 21:59:57 +00:00
Devang Patel
23e55694c5
Drop "constant" from
...
!0 = constant metadata !{...}
llvm-svn: 75057
2009-07-08 21:57:07 +00:00
Devang Patel
cbb39980cf
Update SLotTracker to handle MDNode slots.
...
Simplify MDNode printing.
llvm-svn: 75053
2009-07-08 21:44:25 +00:00
Owen Anderson
cf112e59c3
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Owen Anderson
a2b98c3a6e
Fix unit tests for LLVMContext+Module.
...
llvm-svn: 74622
2009-07-01 18:14:20 +00:00
Dan Gohman
148d3bb9b4
Reapply 74494, this time removing the conflicting definition of operator<<
...
in APIntTest.cpp.
llvm-svn: 74550
2009-06-30 20:10:56 +00:00
Daniel Dunbar
5d4e95558e
Revert my intentional breakage.
...
llvm-svn: 74531
2009-06-30 16:26:57 +00:00
Daniel Dunbar
e2d86964db
Intentionally break a unittest to test my buildbot gtest command.
...
- Apologies in advance for the noise.
llvm-svn: 74530
2009-06-30 16:11:58 +00:00
Daniel Dunbar
b60266824c
Fix order of arguments to EXPECT_EQ
...
llvm-svn: 74441
2009-06-29 19:57:24 +00:00
Torok Edwin
9c5c74d4ca
Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes as well.
...
Also don't call finalizers for LoopPass if initialization was not called.
Add a unittest that tests that these methods are called, in the proper
order, and the correct number of times.
llvm-svn: 74438
2009-06-29 18:49:09 +00:00
Jeffrey Yasskin
c431f61520
Add a JITEventListener interface that gets called back when a new function is
...
emitted or the machine code for a function is freed. Chris mentioned that we
may also want a notification when a stub is emitted, but that'll be a future
change. I intend to use this to tell oprofile where functions are emitted and
what lines correspond to what addresses.
llvm-svn: 74157
2009-06-25 02:04:04 +00:00
Daniel Dunbar
5f2b8ca5e4
Sketch streamer support for .align, .org functionality.
...
llvm-svn: 74109
2009-06-24 19:25:34 +00:00
Daniel Dunbar
082dc70875
We decided to not worry about Atoms for now, it should be straightforward to
...
reintroduce them later.
Also, don't require MCSection* when creating a symbol.
llvm-svn: 74081
2009-06-24 17:00:42 +00:00
Daniel Dunbar
691e6009bd
MCStreamer: Test printing values.
...
llvm-svn: 74076
2009-06-24 16:05:35 +00:00
Daniel Dunbar
0e5051b251
Start MCAsmStreamer implementation.
...
llvm-svn: 74044
2009-06-24 01:03:06 +00:00
Misha Brukman
789c11dcc0
Reversed order of args in EXPECT_EQ() macros to be in the correct order:
...
EXPECT_EQ(expected, actual) . This will make error messages understandable as
it uses terms such as "expected" and "actual" based on the order of arguments.
llvm-svn: 73150
2009-06-09 21:48:57 +00:00
Nick Lewycky
a9de2f1c81
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
llvm-svn: 72610
2009-05-30 05:06:04 +00:00
Daniel Dunbar
711313f3ac
Fix a compile warning.
...
llvm-svn: 71993
2009-05-18 03:44:24 +00:00
Nick Lewycky
f417462ddf
Make MDNode use CallbackVH. Also change MDNode to store Value* instead of
...
Constant* in preperation of a future change to support holding non-Constants
in an MDNode.
llvm-svn: 71407
2009-05-10 20:57:05 +00:00
Dan Gohman
dc96a23780
Apply Jeffrey Yasskin's CallbackVH patch, with minor tweaks from me
...
to make the copy constructor and destructor protected, and corresponding
adjustments to the unittests.
llvm-svn: 70644
2009-05-02 21:10:48 +00:00
Stuart Hastings
b3c08d427a
Prevent looping when DenseSet is abused.
...
llvm-svn: 70572
2009-05-01 20:47:53 +00:00
Jeffrey Yasskin
114afdef8b
Add tests for WeakVH and AssertingVH. These pointed out that the overloads for
...
the comparison operators were not only unnecessary in the presence of the
implicit conversion; they caused ambiguous overload errors. So I deleted them.
llvm-svn: 70243
2009-04-27 20:32:07 +00:00
Chris Lattner
46c25c1285
Add a new TypeBuilder helper class, which eases making LLVM IR types.
...
Patch by Jeffrey Yasskin!
llvm-svn: 70084
2009-04-25 22:14:04 +00:00
Chris Lattner
d68b203337
Fix PR4040: APInt's string constructor is too strict
...
patch by Jeff Yasskin!
llvm-svn: 70058
2009-04-25 18:34:04 +00:00
Chris Lattner
e90528cac5
"I got annoyed at the compiler warnings from ConstantInt::get(Ty, -1,
...
true), and casts make me nervous and are verbose anyway, so here's a
ConstantInt::getSigned(Ty, int64_t) method. Just overloading
ConstantInt::get() to take an int64_t too would cause ambiguous
overload errors."
Patch by Jeffrey Yasskin!
llvm-svn: 69958
2009-04-24 05:30:14 +00:00
Owen Anderson
d2cf86afcb
Use the testcase from PR2791.
...
llvm-svn: 69846
2009-04-23 00:15:26 +00:00
Nick Lewycky
c7edd80c95
Fix pointer casting problem.
...
llvm-svn: 68668
2009-04-09 03:10:03 +00:00
Misha Brukman
37fb714033
Fixed compiler warning.
...
llvm-svn: 68664
2009-04-09 00:42:37 +00:00
Misha Brukman
56dff472d2
* Fixed calls to APInt ctor to work for negative values on Darwin/x86
...
* Converted C-style casts to C++-style casts
llvm-svn: 68613
2009-04-08 16:17:23 +00:00
Nick Lewycky
eea5412e19
Add support for embedded metadata to LLVM. This introduces two new types of
...
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.
llvm-svn: 68420
2009-04-04 07:22:01 +00:00
Bill Wendling
b61223b65b
Make the constants fit.
...
llvm-svn: 68258
2009-04-01 22:44:18 +00:00
Daniel Dunbar
588d3d1fd6
Add llvm::Triple class for abstracting access to target triples.
...
- The code is silly, I'm just amusing myself. Rewrite to be efficient
if you like. :)
Also, if you wish to debate the proper names of the triple components
I'm all ears.
llvm-svn: 68252
2009-04-01 21:53:23 +00:00
Misha Brukman
f4a8fdc064
Added tests for math utility functions; fixed another test's header comment.
...
llvm-svn: 68249
2009-04-01 21:36:40 +00:00
Misha Brukman
a47cb48efd
include Makefile.common before using $(BuildMode) to get its definition
...
llvm-svn: 68167
2009-04-01 00:35:00 +00:00
Misha Brukman
6e86395ae7
Converted a1.ll to unittests.
...
llvm-svn: 67652
2009-03-24 21:36:09 +00:00
Misha Brukman
3c59ac1164
Renamed unittest files to have a consistent {Tt}est suffix.
...
llvm-svn: 67326
2009-03-19 19:09:48 +00:00
Daniel Dunbar
41c5cb70e2
Minimal raw_ostream unit tests
...
llvm-svn: 67083
2009-03-17 16:14:59 +00:00
Nick Lewycky
bc0bb948cc
Remove libtool.
...
llvm-svn: 65517
2009-02-26 07:44:16 +00:00
Bill Wendling
6ef1b025ba
Fix comment.
...
llvm-svn: 64137
2009-02-09 12:31:40 +00:00
Torok Edwin
47c303034d
APInt's countLeadingOnes() was broken for negative i128 values,
...
causing assertion failures in getSExtValue().
Fix it by making highWordBits actually contain what its name says,
and add some more unit-tests for APInt.
This fixes PR3419.
llvm-svn: 63107
2009-01-27 18:06:03 +00:00
Nick Lewycky
7c5381a70c
Port this test from dejagnu to unit testing.
...
The way this worked before was to test APInt by running
"lli -force-interpreter=true" knowing the lli uses APInt under the hood to
store its values. Now, we test APInt directly.
llvm-svn: 62514
2009-01-19 18:08:33 +00:00
Bill Wendling
1c5828d337
Fix naming of file.
...
llvm-svn: 62035
2009-01-11 01:25:51 +00:00
Bill Wendling
d88988a11e
Adding unittests for SmallVector. Test by Talin.
...
llvm-svn: 62025
2009-01-10 12:56:31 +00:00
Bill Wendling
282eca1712
Some generic clean-ups. Also make the StringMapEntryInitializer specialization apply only to the tests that are actually testing it.
...
llvm-svn: 61923
2009-01-08 09:31:36 +00:00
Bill Wendling
71f808dfa2
* Don't explicitly cast "0" to "void*". This doesn't work well with specialized
...
StringMapEntryInitializer classes. Leave it for the compiler to figure out what
the type is and what "0" should be transformed into.
* Un-disable the unit tests which test the StringMapEntryInitializer class.
llvm-svn: 61922
2009-01-08 08:26:46 +00:00
Bill Wendling
e6c3d21d3c
80-column violation fix.
...
llvm-svn: 61919
2009-01-08 07:35:39 +00:00
Misha Brukman
4044287626
* Added unittests for StringMap
...
* Fixed but in StringMap::clear()
* Removed trailing whitespace
Original patch by Talin.
llvm-svn: 61914
2009-01-08 04:48:20 +00:00
Misha Brukman
c3fe8ccf6d
Minor cleanup for unittest:
...
* Fixed {copy,assignment} constructor test names
* s/EXPECT_EQ(true, ...)/ASSERT_TRUE(...)/
Patch by Talin.
llvm-svn: 61883
2009-01-07 21:13:53 +00:00
Bill Wendling
a0155c41c9
Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to
...
run the tests. Most of this was stolen from the llvm/test Makefiles.
llvm-svn: 61648
2009-01-04 23:12:21 +00:00
Nuno Lopes
73135ab8ee
improve test and address Misha's comments
...
llvm-svn: 61609
2009-01-03 14:55:26 +00:00
Bill Wendling
d06d6312d3
Reassign the buffer to the pointer so that we don't overwrite memory.
...
llvm-svn: 61596
2009-01-02 23:13:30 +00:00
Nuno Lopes
4bd71e86c9
fist short at a new unit test for ImmutableSets. no bugs found, though :P
...
llvm-svn: 61576
2009-01-02 13:49:50 +00:00
Nuno Lopes
1ad1461930
make 'make clean' remove test binaries as well
...
llvm-svn: 61572
2009-01-02 12:25:22 +00:00
Misha Brukman
3b9228c5ce
Original patch by Talin.
...
* Added the first LLVM unittest -- DenseMap.
* Updated mkpatch utility to include llvm/unittests dir
* Added top-level target "unittests" to run all unittests
llvm-svn: 61541
2009-01-01 02:24:48 +00:00