Dale Johannesen
a96eb3a1d8
Pass alignment on ByVal parameters, from FE, all
...
the way through. It is now used for codegen.
llvm-svn: 47484
2008-02-22 17:49:45 +00:00
Dan Gohman
48d03d5a2d
Add explicit keywords.
...
llvm-svn: 47382
2008-02-20 16:44:09 +00:00
Anton Korobeynikov
9c87c6526e
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
...
llvm-svn: 47377
2008-02-20 12:38:07 +00:00
Devang Patel
a74d2cbb6f
Add GetResultInst. First step for multiple return value support.
...
llvm-svn: 47348
2008-02-19 22:15:16 +00:00
Dale Johannesen
ecb2b233b1
Expand ParameterAttributes to 32 bits (in preparation
...
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
llvm-svn: 47342
2008-02-19 21:38:47 +00:00
Duncan Sands
a85448506d
Simplify caller updating using a CallSite, as
...
requested by Chris. While there, do the same
for an existing function committed by someone
called "lattner" :)
llvm-svn: 47273
2008-02-18 17:32:13 +00:00
Owen Anderson
b0dee942db
Add support for setting parameters to CallSite.
...
llvm-svn: 47249
2008-02-18 00:10:55 +00:00
Dan Gohman
2181ea3b6c
Add count{Leading,Trailing}Ones_{32,64} functions with simple implementations.
...
llvm-svn: 47084
2008-02-13 20:54:54 +00:00
Ted Kremenek
f06b7ac532
Added "Profile" method to APFloat for use with FoldingSet.
...
Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary
objects to a profile via dispatch to FoldingSetTrait<T>::Profile().
Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their
functionality is now replaced using the above mentioned member template.
llvm-svn: 46957
2008-02-11 17:24:50 +00:00
Chris Lattner
266b518f13
make this 64-bit safe
...
llvm-svn: 46402
2008-01-26 19:50:30 +00:00
Ted Kremenek
faa43d4b3c
Added special escape sequences "\{", "\}", and "\|" when processing
...
getNodeLabel(); these sequences allow the user to specify the characters '{',
'}', and '|' in the label, which facilitate breaking the label into multiple
record segments.
llvm-svn: 46283
2008-01-23 22:29:58 +00:00
Anton Korobeynikov
67f0de9810
Silence a warning. Should we turn this into configure-time check?
...
llvm-svn: 46251
2008-01-22 11:01:23 +00:00
Gordon Henriksen
26e9b6653c
Fix a memory correctness error noticed by valgrind (harmless in practice).
...
Thanks to Duncan Sands for noticing it.
llvm-svn: 46007
2008-01-15 20:02:11 +00:00
Chris Lattner
a39e69f292
add match support for casts.
...
llvm-svn: 45744
2008-01-08 07:02:44 +00:00
Chris Lattner
9ec341b120
Split param attr implementation out from Function.cpp into its
...
own file. Don't #include ParameterAttributes.h into any major
public header files: just move methods out of line as appropriate.
llvm-svn: 45517
2008-01-02 23:42:30 +00:00
Chris Lattner
7a9b0bf0eb
remove attribution from a variety of miscellaneous files.
...
llvm-svn: 45425
2007-12-29 22:59:10 +00:00
Chris Lattner
e0b1ee937a
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
llvm-svn: 45411
2007-12-29 19:59:42 +00:00
Chris Lattner
545c1c43be
Add m_Zero().
...
llvm-svn: 45255
2007-12-20 04:47:44 +00:00
Duncan Sands
56f3add5b7
When inlining through an 'nounwind' call, mark inlined
...
calls 'nounwind'. It is important for correct C++
exception handling that nounwind markings do not get
lost, so this transformation is actually needed for
correctness.
llvm-svn: 45218
2007-12-19 21:13:37 +00:00
Duncan Sands
242f80be86
Rename isNoReturn to doesNotReturn, and isNoUnwind to
...
doesNotThrow.
llvm-svn: 45160
2007-12-18 09:59:50 +00:00
Devang Patel
3d301e65ad
Add cast operators in LLVMFoldingBuilder.
...
Patch by Richard Pennington.
llvm-svn: 45115
2007-12-17 19:06:26 +00:00
Duncan Sands
bf62f62058
Make instcombine promote inline asm calls to 'nounwind'
...
calls. Remove special casing of inline asm from the
inliner. There is a potential problem: the verifier
rejects invokes of inline asm (not sure why). If an
asm call is not marked "nounwind" in some .ll, and
instcombine is not run, but the inliner is run, then
an illegal module will be created. This is bad but
I'm not sure what the best approach is. I'm tempted
to remove the check in the verifier...
llvm-svn: 45073
2007-12-16 15:51:49 +00:00
Anton Korobeynikov
4ef9822114
Constify graph arguments
...
llvm-svn: 45066
2007-12-16 00:42:19 +00:00
Dan Gohman
40634cd710
Fix a typo in a comment.
...
llvm-svn: 45031
2007-12-14 15:11:58 +00:00
Gordon Henriksen
aadbdd1a62
Delete the CollectorNamePool if it should become empty.
...
llvm-svn: 44775
2007-12-10 03:35:18 +00:00
Gordon Henriksen
3d1a3ce823
Fix a very silly typo.
...
llvm-svn: 44732
2007-12-09 01:12:08 +00:00
Gordon Henriksen
902a20040f
Incorporating review feedback from Reid.
...
llvm-svn: 44713
2007-12-08 20:10:40 +00:00
Gordon Henriksen
e187dc4bfa
Adding a StringPool data structure, which GC will use.
...
llvm-svn: 44705
2007-12-08 17:07:47 +00:00
Duncan Sands
1e2e4972ff
Rather than having special rules like "intrinsics cannot
...
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).
llvm-svn: 44544
2007-12-03 20:06:50 +00:00
Duncan Sands
1b0feb42e2
Add some convenience methods for querying attributes, and
...
use them.
llvm-svn: 44403
2007-11-28 17:07:01 +00:00
Duncan Sands
3602011bec
Fix PR1146: parameter attributes are longer part of
...
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Chris Lattner
56d872fcbb
Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN return
...
a valid but empty buffer if stdin is empty.
llvm-svn: 44219
2007-11-18 18:52:28 +00:00
Duncan Sands
edf7e3b5f4
Move MinAlign to MathExtras.h.
...
llvm-svn: 43944
2007-11-09 13:41:39 +00:00
Duncan Sands
b494fb97a4
The guaranteed alignment of ptr+offset is only the minimum of
...
of offset and the alignment of ptr if these are both powers of
2. While the ptr alignment is guaranteed to be a power of 2,
there is no reason to think that offset is. For example, if
offset is 12 (the size of a long double on x86-32 linux) and
the alignment of ptr is 8, then the alignment of ptr+offset
will in general be 4, not 8. Introduce a function MinAlign,
lifted from gcc, for computing the minimum guaranteed alignment.
I've tried to fix up everywhere under lib/CodeGen/SelectionDAG/.
I also changed some places that weren't wrong (because both values
were a power of 2), as a defensive change against people copying
and pasting the code.
Hopefully someone who cares about alignment will review the rest
of LLVM and fix up the remaining places. Since I'm on x86 I'm
not very motivated to do this myself...
llvm-svn: 43421
2007-10-28 12:59:45 +00:00
Chris Lattner
ecbffce0b7
remove dead file
...
llvm-svn: 43131
2007-10-18 16:12:54 +00:00
Ted Kremenek
c00b2095fa
Changed the return type of type-specific Allocate() methods to return
...
void*. This is hint that we are returning uninitialized memory rather
than a constructed object.
Patched ImutAVLTree to conform to this new interface.
llvm-svn: 43106
2007-10-18 00:30:14 +00:00
Ted Kremenek
bf43a92ef5
Removed inclusion of cassert, which is no longer needed.
...
llvm-svn: 43099
2007-10-17 22:12:14 +00:00
Ted Kremenek
a9c650d43e
Added template function alignof() which provides a clean
...
function-based interface to getting the alignment of a type.
llvm-svn: 43096
2007-10-17 22:08:55 +00:00
Ted Kremenek
9008297075
Added member template functions to MallocAllocator and
...
BumpPtrAllocator that implement allocations that return a properly
typed pointer. For BumpPtrAllocator, the allocated memory is
automatically aligned to the minimum alignment of the type (as
calculated by llvm::AlignOf::Alignment).
llvm-svn: 43087
2007-10-17 21:10:21 +00:00
Ted Kremenek
d82172cc2c
Added llvm::AlignOf, a template class whose purpose is to portably
...
compute the minimum memory alignment of arbitrary types.
llvm-svn: 43086
2007-10-17 20:56:47 +00:00
Hartmut Kaiser
ed12f66488
Updated VC++ build system.
...
Silenced some VC warnings.
I'm getting linker errors, though: unresolved externals:
llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)
and
llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)
Where are these defined?
llvm-svn: 43073
2007-10-17 14:56:40 +00:00
Chris Lattner
ba2ff1f992
Add a new use_iterator::atEnd() method, which allows us to shrink
...
pred_iterator down to a single ivar.
llvm-svn: 42859
2007-10-11 04:18:11 +00:00
Chris Lattner
a65ec649fd
Add new MemoryBuffer::getMemBufferCopy method.
...
llvm-svn: 42815
2007-10-09 21:46:38 +00:00
Devang Patel
779882dd87
Fix indentation.
...
llvm-svn: 42814
2007-10-09 21:41:00 +00:00
Devang Patel
6020d2e01d
Add LLVMFoldingBuilder
...
llvm-svn: 42806
2007-10-09 19:49:19 +00:00
Dan Gohman
d174f83e57
Remove an unnecessary friend declaration.
...
llvm-svn: 42805
2007-10-09 18:39:48 +00:00
Chris Lattner
03d9efc98a
update prototype, fixing build error
...
llvm-svn: 42789
2007-10-09 16:27:44 +00:00
Dan Gohman
2fb0a249d7
Pass argc by value, not by reference, since it isn't modified.
...
llvm-svn: 42788
2007-10-09 16:04:57 +00:00
Dan Gohman
8c31acb71e
Fix grammar in a comment.
...
llvm-svn: 42748
2007-10-08 15:10:04 +00:00
Dan Gohman
7fa473514d
Add explicit keywords.
...
llvm-svn: 42747
2007-10-08 15:08:41 +00:00
Gordon Henriksen
543f859a00
Removing the silly CHelpers header by rolling wrap and unwrap into the C
...
bindings headers themselves, hidden behind #ifdef __cplusplus.
llvm-svn: 42666
2007-10-05 23:59:36 +00:00
Dan Gohman
50ba8a297c
Add empty() member functions to a few container-like classes.
...
llvm-svn: 42487
2007-10-01 16:01:23 +00:00
Gordon Henriksen
b3d98e2023
Demoting CHelpers.h to include/llvm/Support.
...
llvm-svn: 42465
2007-09-29 01:38:42 +00:00
Gordon Henriksen
2571db23f1
My previous Registry.h header, as well as Collectors.h, which is the
...
registry for dynamically-loaded garbage collection compiler plugins.
llvm-svn: 42415
2007-09-27 19:34:27 +00:00
Ted Kremenek
c924fd3edf
Previously GraphWriter assumed operator*() for node_iterator always
...
returned a reference type. This patch allows operator*() to return a
non-reference type while still maintaining the old behavior when it
does return a reference type.
This patch was motivated when I tried to use "df_iterator" (see
llvm/ADT/DepthFirstIterator.h) as a "node_iterator", as df_iterator
does not return a reference type and thus we would get a compilation
error when trying to take the address of a temporary.
llvm-svn: 42151
2007-09-19 21:26:49 +00:00
Bill Wendling
d269356b02
Add support for appending a suffix to the end of a mangled name.
...
llvm-svn: 42071
2007-09-17 22:39:32 +00:00
Evan Cheng
5977c55f5d
Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor.
...
llvm-svn: 41728
2007-09-05 21:41:34 +00:00
David Greene
8cda5af2e7
Update GEP constructors to use an iterator interface to fix
...
GLIBCXX_DEBUG issues.
llvm-svn: 41697
2007-09-04 15:46:09 +00:00
Ted Kremenek
120f680489
Added Graphviz escaping for the '|' character.
...
llvm-svn: 41610
2007-08-30 17:01:41 +00:00
David Greene
5b85021be8
Update InvokeInst to work like CallInst
...
llvm-svn: 41506
2007-08-27 19:04:21 +00:00
Dan Gohman
e2c92effea
Add explicit keywords and remove spurious trailing semicolons.
...
llvm-svn: 41482
2007-08-27 14:50:10 +00:00
David Greene
43c5188c32
Doxygenize comments.
...
llvm-svn: 41222
2007-08-21 14:57:58 +00:00
David Greene
6b3b5e7a54
Add FilteredPassNameParser along with PassArgFilter to filter passes
...
based on their Arg members.
llvm-svn: 41192
2007-08-20 19:54:01 +00:00
Reid Spencer
6f88014eeb
Make it clear that getSTDIN returns null when stdin is empty.
...
llvm-svn: 40940
2007-08-08 20:02:20 +00:00
Chris Lattner
fb1e3a7d2c
remove #if 0 code.
...
llvm-svn: 40880
2007-08-06 22:03:19 +00:00
Reid Spencer
5b204d32f8
@verbatim needs to be on a line by itself.
...
llvm-svn: 40865
2007-08-06 17:10:29 +00:00
Reid Spencer
3e54e72ef1
Fix minor doxygen nits.
...
llvm-svn: 40854
2007-08-05 20:06:04 +00:00
David Greene
f06a395bb9
New CallInst interface to address GLIBCXX_DEBUG errors caused by
...
indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660
2007-08-01 03:43:44 +00:00
Nick Lewycky
701e227136
Clarify the language. Pointed out by Duncan Sands.
...
llvm-svn: 39857
2007-07-14 17:41:03 +00:00
Nick Lewycky
42e8a060a0
Add alternate ConstantRange intersection algorithm.
...
llvm-svn: 39851
2007-07-14 02:51:34 +00:00
Dan Gohman
a83ac4f3b4
Add explicit keywords.
...
llvm-svn: 37925
2007-07-05 20:40:15 +00:00
Gabor Greif
5f705671e4
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
John Criswell
57e5ed4b5a
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Dan Gohman
e94ef99437
Allow DOUT to be used outside of the llvm namespace.
...
llvm-svn: 37753
2007-06-27 14:09:38 +00:00
Chris Lattner
1de26b7677
m_not should match vector not
...
llvm-svn: 37587
2007-06-15 06:13:47 +00:00
Chris Lattner
da86fddf1f
Add a new LLVMBuilder class, which makes it simpler and more uniform to
...
create large amounts of instructions by separating the insertion point
logic from the logic of what to create.
llvm-svn: 37332
2007-05-27 15:09:34 +00:00
Dale Johannesen
fe0fe14411
Make tail merging the default, except on powerPC. There was no prior art
...
for a target-dependent default with a command-line override; this way
should be generally usable.
llvm-svn: 37285
2007-05-22 17:14:46 +00:00
Dan Gohman
17cd3485e1
Use templates for the GraphType for DefaultDOTGraphTraits' members instead
...
of just using void*. This allows it to be used with graph adapters like
Inverse.
llvm-svn: 37032
2007-05-14 14:23:27 +00:00
Jeff Cohen
2e8263c013
Unbreak VC++ build.
...
llvm-svn: 36901
2007-05-07 15:21:46 +00:00
Chris Lattner
112d26a164
Enhance MemoryBuffer to return error messages in strings if they occur.
...
llvm-svn: 36899
2007-05-06 23:32:36 +00:00
Chris Lattner
7dbcbe7af5
remove dead header
...
llvm-svn: 36884
2007-05-06 19:46:23 +00:00
Chris Lattner
cee444cf93
Add a helper that either opens a file or stdin.
...
llvm-svn: 36835
2007-05-06 04:41:59 +00:00
Chris Lattner
8b4f0920ab
remove extraneous type qualifiers
...
llvm-svn: 36679
2007-05-03 18:14:56 +00:00
Chris Lattner
4749cca517
Add a new memorybuffer class, to unify all the file reading code in the system
...
llvm-svn: 36553
2007-04-29 06:58:52 +00:00
Chris Lattner
2ba953680f
Fix a very strange assertion message, patch by Christopher Lamb
...
CVS: ----------------------------------------------------------------------
llvm-svn: 36267
2007-04-20 03:27:36 +00:00
Anton Korobeynikov
f3e62a428a
Removed tabs everywhere except autogenerated & external files. Add make
...
target for tabs checking.
llvm-svn: 36146
2007-04-16 18:10:23 +00:00
Dan Gohman
2d4b1767ab
Rename Value::getValueType to getValueID, to avoid confusion with
...
other things named getValueType.
llvm-svn: 35964
2007-04-13 18:12:09 +00:00
Chris Lattner
9564abbfb5
improve the patch for PR1318 to also support grouped options with custom
...
handlers (like the pass list). My previous fix only supported *new* command
line options, not additions to old ones.
This fixes test/Feature/load_module.ll
llvm-svn: 35935
2007-04-12 00:36:29 +00:00
Reid Spencer
aad3d1f6c8
For PR1291:
...
Change to use PathWithStatus
llvm-svn: 35746
2007-04-07 19:50:21 +00:00
Nick Lewycky
ec51e934ef
Add signExtend to ConstantRange, to complement zeroExtend and truncate.
...
llvm-svn: 35733
2007-04-07 15:41:33 +00:00
Chris Lattner
0160bf7114
rearchitect the registration mechanism used by the command line option stuff.
...
This dramatically reduce the amount of memory allocated by the commandline stuff
at static init time, changing it to build local data structures when ParseCommandLineOptions
is called. In a dummy empty program that links some llvm libraries, this reduces
the number of malloc'd bytes from 4864 to 3360 on entry to main. Most of that
memory is now allocated by non-commandline related stuff.
llvm-svn: 35701
2007-04-06 21:06:55 +00:00
Chris Lattner
d0cc2333d1
Switch some vectors to smallvectors. This reduces amount of malloc'd
...
memory that occurs before main starts from 5104 to 4864 bytes with a dummy
example app.
llvm-svn: 35698
2007-04-06 18:36:18 +00:00
Chris Lattner
2f1c6daeae
Eliminate unneeded virtual methods
...
llvm-svn: 35697
2007-04-06 18:06:27 +00:00
Chris Lattner
4272783ca4
eliminate a virtual method
...
llvm-svn: 35691
2007-04-05 22:21:39 +00:00
Chris Lattner
d33f94f2d2
remove the dead removeArgument method, rename Options to OptionsMap.
...
llvm-svn: 35690
2007-04-05 21:58:17 +00:00
Jeff Cohen
2f87ca6cc7
Be more explicit concerning argument sizes.
...
Use VC++ byteswap intrinsics.
llvm-svn: 35267
2007-03-22 19:11:57 +00:00
Nick Lewycky
2af4a3ab17
Add getter methods for the extremes of a ConstantRange.
...
llvm-svn: 35056
2007-03-10 15:54:12 +00:00
Jeff Cohen
98c99a3a02
Unbreak VC++ build.
...
llvm-svn: 34917
2007-03-05 00:00:42 +00:00
Chris Lattner
69aafa4be8
fix 80 col violations, mark arrays static
...
llvm-svn: 34915
2007-03-04 23:33:03 +00:00
Anton Korobeynikov
af46a0e4a2
Fix uninitialized use of variable. Remove tabs and fix identation.
...
llvm-svn: 34850
2007-03-02 22:19:41 +00:00
Owen Anderson
6d3b179de3
Fix a typo.
...
llvm-svn: 34836
2007-03-02 05:03:07 +00:00
Owen Anderson
070c37407c
Use GCC intrinsics when available, and use smarter fallbacks when not.
...
llvm-svn: 34812
2007-03-01 21:16:30 +00:00
Reid Spencer
3f3487918c
Remove the "isSigned" parameters from ConstantRange. It turns out they
...
are not needed as the results are the same with or without it.
Patch by Nicholas Lewycky.
llvm-svn: 34782
2007-03-01 07:54:15 +00:00
Owen Anderson
cbbf9aa6b0
Use the GCC built-in for PopulationCount when it's available, and use a faster
...
algorithm when it's not. This should be particularly noticeable in the
64-bit case.
llvm-svn: 34776
2007-03-01 05:41:28 +00:00
Reid Spencer
f119927a6f
Move ConstantRange class to lib/Support from lib/Analysis and make its
...
interface not depend on Type or ICmpInst.
llvm-svn: 34761
2007-02-28 22:02:48 +00:00
Reid Spencer
965067a054
For PR1205:
...
Remove ConstantInt from ConstantRange interface and adjust its users to
compensate.
llvm-svn: 34758
2007-02-28 19:57:34 +00:00
Reid Spencer
e2b4631435
For PR1205:
...
First round of ConstantRange changes. This makes all CR constructors use
only APInt and not use ConstantInt. Clients are adjusted accordingly.
llvm-svn: 34756
2007-02-28 18:57:32 +00:00
Reid Spencer
2b933467ad
For PR1205:
...
Convert ConstantRange class to use APInt internally as its value type for
the constant range, instead of ConstantInt.
llvm-svn: 34745
2007-02-28 17:36:23 +00:00
Chris Lattner
08e1470365
add a way to register an arbitrary cleanup function.
...
llvm-svn: 34442
2007-02-20 06:08:37 +00:00
Andrew Lenharth
3c51b17d7b
I love non-deturminism. Returning objects with references to stack objects is a bad idea (TM).
...
llvm-svn: 34210
2007-02-13 00:37:50 +00:00
Nick Lewycky
b994bafc0f
Fix comments to match names of functions.
...
llvm-svn: 34173
2007-02-11 00:58:49 +00:00
Chris Lattner
e5eb7d79d3
add helper method.
...
llvm-svn: 34155
2007-02-10 19:54:24 +00:00
Chris Lattner
ae8f9f7df4
StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,
...
so we should actually use a UniqueVector to implement it.
llvm-svn: 33935
2007-02-05 23:19:24 +00:00
Bill Wendling
bc1c8e70ac
Use unsigned char& instead of std::vector<>::reference.
...
llvm-svn: 33896
2007-02-05 02:37:07 +00:00
Bill Wendling
d2623ac830
Added some accessor methods.
...
llvm-svn: 33814
2007-02-03 02:38:15 +00:00
Reid Spencer
591bfa1e0b
Changes to support making the shift instructions be true BinaryOperators.
...
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Jim Laskey
52a12383a4
Support for non-landing pad exception handling.
...
llvm-svn: 33755
2007-02-01 16:31:34 +00:00
Reid Spencer
2d41dbae16
Fix a homonymo in a comment.
...
llvm-svn: 33754
2007-02-01 12:09:51 +00:00
Devang Patel
46a1a617f5
Add PrintVersionMessage() that tools can use to print version number
...
without exiting program.
llvm-svn: 33737
2007-02-01 01:43:37 +00:00
Anton Korobeynikov
2079992c16
Moved disassembler to libSystem
...
llvm-svn: 33461
2007-01-23 10:26:08 +00:00
Reid Spencer
e33c18f4d2
For PR970:
...
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
2007-01-21 00:29:26 +00:00
Anton Korobeynikov
944088f221
Adding disassembler interface and external hook to udis86 library.
...
llvm-svn: 33358
2007-01-19 17:25:17 +00:00
Bill Wendling
af4f1b8791
Have the OutputBuffer take the is64Bit and isLittleEndian booleans.
...
llvm-svn: 33316
2007-01-18 01:23:11 +00:00
Bill Wendling
19aee9b178
Refactored output buffer methods from MachO and ELF writers.
...
llvm-svn: 33310
2007-01-17 22:17:24 +00:00
Zhou Sheng
23d24526b2
For PR1043:
...
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
2007-01-11 12:24:14 +00:00
Bill Wendling
05f7a367a2
The previous implementation of LLVM Streams wasn't removing symbols. This
...
one should.
llvm-svn: 32845
2007-01-03 22:37:27 +00:00
Reid Spencer
4428c3483b
For PR950:
...
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Chris Lattner
6a34f2718f
Doxgenate comments.
...
Add GreatestCommonDivisor64
llvm-svn: 32661
2006-12-19 01:11:32 +00:00
Bill Wendling
7f6a73eb5c
Added an automatic cast to "std::ostream*" etc. from OStream. We then can
...
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.
llvm-svn: 32636
2006-12-17 05:15:13 +00:00
Bill Wendling
fe0af72bc4
Don't use <sstream> in Streams.h but <iosfwd> instead.
...
llvm-svn: 32340
2006-12-07 23:41:45 +00:00
Bill Wendling
a3246c4272
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
...
now cerr, cout, and NullStream resp.
llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Jim Laskey
25d00cc31d
Ignoring the upper 32 bits of a 64 bit constant is not a good thing.
...
llvm-svn: 32294
2006-12-06 22:47:14 +00:00
Chris Lattner
30bf130327
add a helper to call llvm_shutdown()
...
llvm-svn: 32249
2006-12-06 01:01:14 +00:00
Chris Lattner
1b0e89e022
Start moving pass registration over to using the ManagedStatic mechanism.
...
This fixes issues where passes get unregistered before llvm_shutdown is
called, and is generally cleaner and simpler. Analysis groups up next.
llvm-svn: 32108
2006-12-01 23:27:45 +00:00
Chris Lattner
e91ec14530
remove 'target constructor' support.
...
llvm-svn: 32100
2006-12-01 22:00:50 +00:00
Reid Spencer
52d8c5bd3b
Get the delegation right for InstVisitor.
...
llvm-svn: 32025
2006-11-29 21:37:00 +00:00
Bill Wendling
4effa38086
Replacing std::iostreams with llvm iostreams. Some of these changes involve
...
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.
llvm-svn: 31990
2006-11-29 00:19:40 +00:00
Bill Wendling
4157840bd6
Added a temporary hack to get the llvm-streams to work for future checkins.
...
llvm-svn: 31978
2006-11-28 22:21:29 +00:00
Bill Wendling
250560d106
Protect against null streams.
...
llvm-svn: 31937
2006-11-27 10:45:49 +00:00
Reid Spencer
992d9788b3
For PR950:
...
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Bill Wendling
78be822ec4
Add method that will take a function pointer so that it can handle things
...
like "llvm_cerr << std::flush";
llvm-svn: 31926
2006-11-26 10:51:51 +00:00
Reid Spencer
6e34ef887b
For PR950:
...
First in a series of patches to convert SetCondInst into ICmpInst and
FCmpInst using only two opcodes and having the instructions contain their
predicate value. Nothing uses these classes yet. More patches to follow.
llvm-svn: 31867
2006-11-20 01:22:35 +00:00
Bill Wendling
48bd5207a4
Used llvm_ostream instead of std::ostream objects. This will reduce use
...
of the icky <iostream> class.
llvm-svn: 31818
2006-11-17 09:52:49 +00:00
Bill Wendling
dbbb5112c5
Added wrappers for the std::cerr/std::cout objects. The wrappers will
...
soon replace all uses of those objects.
llvm-svn: 31817
2006-11-17 09:51:22 +00:00
Bill Wendling
efe40f4316
#ifndef NDEBUG the "if (Stream) ..." stuff.
...
llvm-svn: 31803
2006-11-17 01:43:48 +00:00
Bill Wendling
d2627f76dd
Adjusted the // comments so that doxygen picks them up.
...
llvm-svn: 31801
2006-11-17 01:13:12 +00:00
Bill Wendling
748f1ae70b
Added "DOUT" macro. This is used as a replacement for the std::cerr
...
stream. It centralizes the use of std::cerr so that static c'tor/d'tors
aren't scattered around all over the place. The way to use it is like this:
DOUT << "This is a status line: " << Var << "\n";
If "-debug" is specified, it will print. Otherwise, it'll not print. If
NDEBUG is defined, the DOUT does nothing.
llvm-svn: 31798
2006-11-17 00:49:12 +00:00
Jim Laskey
c7044db565
math.h creates ambiguity
...
llvm-svn: 31591
2006-11-09 08:26:22 +00:00
Jim Laskey
03b3ec783d
math.h for C's sake.
...
llvm-svn: 31590
2006-11-09 08:05:39 +00:00
Jim Laskey
c42c7476ce
Make sure <cmath> comes first
...
llvm-svn: 31559
2006-11-08 18:48:14 +00:00