Erick Tryzelaar
9e37eae4d7
Change APFloatTest from using ASSERTs to EXPECTs
...
llvm-svn: 79216
2009-08-17 00:14:11 +00:00
Erick Tryzelaar
930c879b9e
Modify APFloat to take a StringRef instead of a c string.
...
This also adds unit tests to APFloat that mainly tests the
string handling of APFloat, but not much else of it's api.
llvm-svn: 79210
2009-08-16 23:36:19 +00:00
Erick Tryzelaar
36d9dbb8a1
Add failure tests to APInt unit test.
...
llvm-svn: 79209
2009-08-16 23:36:01 +00:00
Owen Anderson
9df206d02d
Push LLVMContexts through the IntegerType APIs.
...
llvm-svn: 78948
2009-08-13 21:58:54 +00:00
Daniel Dunbar
3a5a25d5d5
Convert APint::{fromString,APInt,getBitsNeeded} to use StringRef.
...
- Patch by Erick Tryzelaar, with some edits (and a bug fix) from me.
llvm-svn: 78885
2009-08-13 02:33:34 +00:00
Benjamin Kramer
a191584fca
Fix unit test on FreeBSD. We need to make sure there is enough space to save the pointer even if the memory returned from malloc was already aligned.
...
llvm-svn: 78805
2009-08-12 12:31:02 +00:00
Daniel Dunbar
f4e8af6ecc
StringRef: Add find(char) and find(StringRef).
...
Also, regroup functions.
llvm-svn: 78712
2009-08-11 20:47:15 +00:00
Jeffrey Yasskin
20848835bf
To catch bugs like the one fixed in
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=78127 , I'm changing the
ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That
way, if unregistering a mapping fails to actually unregister it, we'll get an
assert. Running the jit nightly tests didn't uncover any actual instances of
the problem.
This also uncovered the fact that AssertingVH<const X> didn't work, so I fixed
that too.
llvm-svn: 78400
2009-08-07 19:54:29 +00:00
Owen Anderson
b904acbec0
Update unit test.
...
llvm-svn: 78260
2009-08-05 23:28:57 +00:00
Jeffrey Yasskin
61af405985
Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's old
...
address from the reverse mapping, and add a test that this works now.
llvm-svn: 78127
2009-08-04 23:53:16 +00:00
Benjamin Kramer
44b1be9788
Remove now empty unit test directory.
...
llvm-svn: 77790
2009-08-01 19:07:29 +00:00
Chris Lattner
c0be87a893
daniel says it's fine to nuke this.
...
llvm-svn: 77789
2009-08-01 18:38:21 +00:00
Chris Lattner
4efd0874b1
update for new api
...
llvm-svn: 77788
2009-08-01 18:35:49 +00:00
Owen Anderson
f86b0eb2a0
Fix unit tests.
...
llvm-svn: 77734
2009-07-31 21:38:10 +00:00
Benjamin Kramer
3f60efddfa
Update unittest for LLVM API change.
...
llvm-svn: 77730
2009-07-31 20:56:31 +00:00
Owen Anderson
1dc40e205b
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
...
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Benjamin Kramer
95715c96f3
Adjust unit test for the MCSection changes.
...
llvm-svn: 77714
2009-07-31 19:12:33 +00:00
Owen Anderson
93ccaf5c60
Move more code back to 2.5 APIs.
...
llvm-svn: 77635
2009-07-30 23:03:37 +00:00
Daniel Dunbar
edd0313a36
Twine: Use raw_ostream::write_hex, remove unused itohexstr method.
...
llvm-svn: 77617
2009-07-30 18:30:19 +00:00
Benjamin Kramer
85fa67c3c5
fix a unitialized pointer in NamedMDNode (and reenable unittest)
...
llvm-svn: 77597
2009-07-30 15:35:55 +00:00
Daniel Dunbar
4d8b1776b4
Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
...
explicitly.
llvm-svn: 77576
2009-07-30 03:47:15 +00:00
Daniel Dunbar
9ac19401cd
Disable the NamedMDNodeTest, it is failing everywhere.
...
llvm-svn: 77569
2009-07-30 02:08:27 +00:00
Devang Patel
fc9ef39a7e
Add NamedMDNode test.
...
llvm-svn: 77550
2009-07-30 00:03:41 +00:00
Owen Anderson
881d928f9b
Move types back to the 2.5 API.
...
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Benjamin Kramer
2464dfa8df
Update unittest for LLVM API change.
...
llvm-svn: 77496
2009-07-29 19:18:13 +00:00
Benjamin Kramer
276a105601
fix unittest on platforms with unsigned chars (e.g. linux-ppc)
...
llvm-svn: 77471
2009-07-29 16:48:32 +00:00
Daniel Dunbar
d13fcdaae5
Twines: Support numeric conversion directly (uitostr, etc).
...
- Provides static constructors for doing number to string conversions without
using temporaries.
- There are several ways to do this, I think given the Twine constraints this
is the simplest one.
- One FIXME for fast number -> hex conversion.
- Added another comment on one last major bit of perf work Twines need, which
is to make raw_svector_ostream more efficient.
llvm-svn: 77445
2009-07-29 07:08:44 +00:00
Benjamin Kramer
bb77e8e124
fix unittest
...
llvm-svn: 77375
2009-07-28 22:03:24 +00:00
Benjamin Kramer
6e3704568e
Remove trailing slashes from include paths. Some versions of mingw don't like them.
...
llvm-svn: 77188
2009-07-27 09:39:18 +00:00
Daniel Dunbar
5a9d56ab90
Update Triple to use StringRef/Twine based APIs.
...
- This is now shorter, simpler, safer, and more efficient, what a deal.
llvm-svn: 77119
2009-07-26 03:31:47 +00:00
Daniel Dunbar
b97f9fc3f5
Add StringRef::{slice, split}, two convenient string operations which are simple
...
and efficient on a StringRef.
llvm-svn: 77117
2009-07-26 03:18:15 +00:00
Reid Kleckner
b159a2bad6
Added a test and fixed a bug in BumpPtrAllocator relating to large alignment
...
values. Hopefully this fixes PR4622.
llvm-svn: 77088
2009-07-25 21:26:02 +00:00
Daniel Dunbar
9f50ab3c49
Finish migrating VMCore to StringRef/Twine based APIs.
...
llvm-svn: 77051
2009-07-25 06:02:13 +00:00
Jeffrey Yasskin
da42799098
Add a missing ilist_node.h #include to SparseBitVector, and add a very short
...
test for it. The test is by no means complete, but it tests the problem I was
fixing.
llvm-svn: 77025
2009-07-25 00:33:57 +00:00
Owen Anderson
cc33e89571
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
...
llvm-svn: 77011
2009-07-24 23:12:02 +00:00
Daniel Dunbar
6f78d7ac27
Add Twine ADT.
...
- Not currently used.
llvm-svn: 76956
2009-07-24 07:04:27 +00:00
Reid Kleckner
74ff34ab48
Fixing unittests on 32-bit Darwin, using 0x...ULL instead of 0x...U .
...
llvm-svn: 76904
2009-07-23 22:27:18 +00:00
Reid Kleckner
3f197c850d
Re-committing r76828 with the JIT memory manager changes now that the build
...
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
2009-07-23 21:46:56 +00:00
Reid Kleckner
5a7816053e
Re-committing changes from r76825 to BumpPtrAllocator with a fix and tests for
...
an off-by-one error.
llvm-svn: 76891
2009-07-23 18:34:13 +00:00
Daniel Dunbar
b5adc13728
Convert StringMap to using StringRef for its APIs.
...
- Yay for '-'s and simplifications!
- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.
- NIFC.
llvm-svn: 76888
2009-07-23 18:17:34 +00:00
Devang Patel
45ce5c2ac1
MDString
...
- Rename member function size(). New name is length().
- Store string beginning and length. Earlier it used to store string end.
llvm-svn: 76841
2009-07-23 02:00:51 +00:00
Reid Kleckner
6f9bf7f028
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.
...
llvm-svn: 76838
2009-07-23 01:40:54 +00:00
Devang Patel
6b2162686a
Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.
...
llvm-svn: 76834
2009-07-23 01:07:34 +00:00
Reid Kleckner
b500f07edf
Make the JIT code emitter properly retry and ask for more memory when it runs
...
out of memory, and also make the default memory manager allocate more memory
when it runs out.
Also, switch function stubs and global data over to using the BumpPtrAllocator.
This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB
of memory, and instead allocates in 512K slabs. I suspect this size could go
lower, especially on embedded platforms, now that more slabs can be allocated.
llvm-svn: 76828
2009-07-23 00:49:59 +00:00
Reid Kleckner
4c892c05ec
Parameterize the BumpPtrAllocator over a slab allocator. It defaults to using
...
malloc, so there should be no functional changes to other code.
These changes are necessary since I have plans to use this allocator in the JIT
memory manager, and it needs a special allocator.
I also added some tests which helped me pinpoint some bugs.
llvm-svn: 76825
2009-07-23 00:30:41 +00:00
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