Chris Lattner
14ee48a5ba
rename SourceMgr::PrintError to PrintMessage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 21:22:11 +00:00
Chris Lattner
7ee5d5f97b
move include searching logic from TGLexer to SourceMgr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 05:06:04 +00:00
Chris Lattner
8070ea3f06
Rename TGSourceMgr -> SourceMgr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:41:50 +00:00
Chris Lattner
1e3a8a4924
rename TGLoc -> SMLoc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:39:35 +00:00
Chris Lattner
099e198ae8
move TGSourceMgr class out of TableGen into libsupport.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73842 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21 03:36:54 +00:00
Devang Patel
1e86a66b00
mv CodeGen/DebugLoc.h Support/DebugLoc.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19 22:08:58 +00:00
Owen Anderson
94fefe27f5
Fences are expensive. Avoid doing them when we're not in multithreaded mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19 17:50:11 +00:00
Anton Korobeynikov
9547cdfa35
Revert IRBuilder CC propagation. Fix SimplifyLibCalls instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18 20:05:31 +00:00
Owen Anderson
e3cd5ca7e7
Move Threading.[h|cpp] from Support to System.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73707 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18 16:54:52 +00:00
Anton Korobeynikov
fd0cfe4bb4
Forgot to commit this hunk
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18 08:30:57 +00:00
Anton Korobeynikov
df9d0f0ed2
Propagate calling conv for invokes too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73692 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18 08:13:56 +00:00
Anton Korobeynikov
bf823e7590
Honour calling convention and attributes of Callee by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73646 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17 22:20:46 +00:00
Chris Lattner
08826a50e1
make CreateFMul forward to CreateFMul, not CreateMul.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17 06:31:02 +00:00
Mikhail Glushenkov
71c767b4e3
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17 03:10:10 +00:00
Owen Anderson
ff30b7d173
Fix/cleanup trailing newlines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73546 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 20:23:05 +00:00
Owen Anderson
4c7ac18fc9
Split the thread-related APIs out into their own file, and add a few more
...
calls for convenience.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73512 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 17:33:51 +00:00
Dan Gohman
a7a8af0c58
Add a CreateFNeg function to IRBuilder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-15 22:50:40 +00:00
Bruno Cardoso Lopes
a029a27fae
Simple ELF32/64 binary files can now be emitted for x86 and x86_64 without
...
relocation sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73038 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07 21:22:38 +00:00
Dan Gohman
ae3a0be92e
Split the Add, Sub, and Mul instruction opcodes into separate
...
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 22:49:04 +00:00
Torok Edwin
e8ebb0fe1b
Add support for outputting ANSI colors to raw_fd_ostream.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72854 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 07:09:50 +00:00
Daniel Dunbar
e0f0e0be1c
Change LTO to run the global opt pass twice.
...
- This matches llvm-ld.
It took a bit of archeology to figure out what the right thing to do was
(whether this was intentionally added or intentionally removed). My final
conclusion is that Chris added this intentionally here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=16913
but the changes weren't propogated to llvm-ld until here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=34058
which was after lto.cpp had been cloned off (of llvm-ld), here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=29494
From the commit message, it looks like the motivation for running global opt
again is because we ran it prior to inlining. Based on that I updated the
comment and also only run the pass if we actually ran the inliner.
Chris, please review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 21:51:32 +00:00
Daniel Dunbar
006a034828
Add createStandardLTOPasses to StandardPasses.h, and move lto and llvm-ld over.
...
- I know it sounds crazy, but I think all the pass lists are now coalesced into
StandardPasses.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 21:06:14 +00:00
Daniel Dunbar
e98c4d0b10
Remove some silly code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 18:13:05 +00:00
Daniel Dunbar
04d5f44882
Add StandardPasses.h which embeds the standard compilation passes shared by
...
clang/llvm-gcc.
- Implemented as inline functions for linking simplicity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 17:52:39 +00:00
Dan Gohman
b3ae97cffe
Change TargetFolder's TD member from a reference to a
...
pointer, now that ConstantFoldConstantExpression can
accept a null TargetData pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72744 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 00:13:48 +00:00
Dan Gohman
55b42513e1
Fix the name of the function in this comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72666 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 16:18:03 +00:00
Bruno Cardoso Lopes
cc5fc60468
Add AMD64 elf machine type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 21:05:47 +00:00
Dan Gohman
b60182f1b0
Add an accessor method to return the insertion point.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72184 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20 21:45:41 +00:00
Owen Anderson
6afe2fa288
Have llvm_start_multithreaded return a bool indicating whether multithreaded
...
initialization succeeded or not, rather than just asserting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72182 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20 21:03:06 +00:00
Owen Anderson
b4d97b78df
Add llvm_start_multithreaded(), which starts up the LLVM internals in thread-safe mode. Provide double-check locking
...
initialization of ManagedStatic's when running in thread-safe mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72151 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20 00:39:20 +00:00
Owen Anderson
18ad4cb95d
Back out the thread-safe ManagedStatic for now. Too many people have too many problems with it for the moment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-16 07:20:52 +00:00
Owen Anderson
ca37b511fa
Factor out some common code, fix more typoes, and add a memory fence that might be needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 08:22:07 +00:00
Owen Anderson
d300a28c40
Fix an unfortunate typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 08:07:23 +00:00
Owen Anderson
5f00b0c5b6
Now with working on Leopard!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 00:01:40 +00:00
Owen Anderson
87ba22dc67
Make ManagedStatic threadsafe by using atomic operations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-14 21:26:50 +00:00
Dale Johannesen
7b9486ad43
Add an int64_t variant of abs, for host environments
...
without one. Use it where we were using abs on
int64_t objects.
(I strongly suspect the casts to unsigned in the
fragments in LoopStrengthReduce are not doing whatever
the original intent was, but the obvious change to
uint64_t doesn't work. Maybe later.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71612 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 00:24:22 +00:00
Mike Stump
6dc4ade595
Add DW_AT_APPLE_isa and DW_AT_APPLE_block. Radar 6867696
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11 21:58:01 +00:00
Dan Gohman
0ec4146db7
Add simplify_type specializations to allow WeakVH, AssertingVH, and
...
CallbackVH to participate in dyn_cast, isa, etc. without needing
an explicit conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06 17:12:48 +00:00
Evan Cheng
8f18edd8b6
Quotes should be printed before private prefix; some code clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-05 22:50:29 +00:00
Dan Gohman
ff9977f8cd
Add an explicit keyword.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-05 21:23:20 +00:00
Dan Gohman
c09b12c622
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70644 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-02 21:10:48 +00:00
Dan Gohman
42da7f7542
Include <limits.h> to get the definition of CHAR_BIT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-02 21:03:21 +00:00
Chris Lattner
837e59e2e8
Drop the default assumption about alignment down to 2 bits from 3. This apparently
...
helps some problems on win32 platforms (PR4119)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 23:48:33 +00:00
Jeffrey Yasskin
714257f5de
Add a mention of TypeBuilder to the programmer's manual, and clean up the class
...
comment a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30 22:33:41 +00:00
Torok Edwin
7f09dd2f63
Make dataflow iteration possible on Value*, not only on User*: df_ext_iterator<Value*, SmallPtrSet<const Value*, 16> >
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70496 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30 17:09:22 +00:00
Bill Wendling
b587f9662a
Add support for a character after a command line option. Like '-Os'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29 23:26:16 +00:00
Jeffrey Yasskin
487fa01673
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:32:07 +00:00
Chris Lattner
096fd7b5a7
Add a new TypeBuilder helper class, which eases making LLVM IR types.
...
Patch by Jeffrey Yasskin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-25 22:14:04 +00:00
Owen Anderson
ddcb3415cb
Add caching of predecessor counts as well as predecessors themselves.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-22 08:46:33 +00:00
Douglas Gregor
8f7be4731e
Make all raw_ostreams support the tell() function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-20 07:34:17 +00:00
Nick Lewycky
7c53316922
Fix missing text in doxygen documentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19 18:20:21 +00:00
Nick Lewycky
cb8c4778d3
Cleanup. Remove redundant llvm:: , we don't need them since we're inside
...
namespace llvm already.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10 06:54:06 +00:00
Nick Lewycky
b9fc360857
Add utility function to IRBuilder that takes the difference between two
...
pointers, taking into account the size of the pointed-to object.
Patch by Jeffrey Yasskin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10 05:30:48 +00:00
Chris Lattner
00a7b52385
Remove AllowInverse: it leaks memory and is not the right
...
abstraction for CommandLine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68588 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08 03:43:51 +00:00
Mikhail Glushenkov
4e9ca339b5
Add segment flag bits to ELF.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-05 09:07:08 +00:00
Daniel Dunbar
38f4dd7b5e
Add fast path for raw_ostream output of strings.
...
- Particularly nice for small constant strings, which get optimized
down nicely. On a synthetic benchmark writing out "hello" in a
loop, this is about 2x faster with gcc and 3x faster with
llvm-gcc. llc on insn-attrtab.bc from 403.gcc is about .5% faster.
- I tried for a fancier solution which wouldn't increase code size as
much (by trying to match constant arrays), but can't quite make it
fly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03 18:43:17 +00:00
Chris Lattner
b7a00daa11
Work around an apparent GCC miscompilation by specializing different,
...
this fixes a regression on some compilers from r68147.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03 00:26:01 +00:00
Chris Lattner
6caced9564
add missing *
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02 23:53:03 +00:00
Dan Gohman
de551f91d8
Use CHAR_BIT instead of hard-coding 8 in several places where it
...
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01 18:45:54 +00:00
Misha Brukman
d485e885f0
* Fixed spelling of `invertible'
...
* Simplified if statement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68163 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01 00:15:46 +00:00
Chris Lattner
b160f5d36d
add a converting operator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31 23:09:51 +00:00
Chris Lattner
722272df41
Add two new classes: WeakVH and AssertingVH. These are both "ValueHandles",
...
which are effectively smart pointers to Value*'s. They are both very light
weight and simple, and react to values being destroyed or being RAUW'd.
WeakVN does a best effort to follow a value around, including through RAUW
operations and will get nulled out of the value is destroyed. This is useful
for the eventual "metadata that references a value" work, because it is a
reference to a value that does not show up on its use_* list.
AssertingVH is a pointer that compiles down to a dumb raw pointer when
assertions are disabled. When enabled, it emits an assertion if the
pointed-to value is destroyed while it is still being referenced. This
is very useful for Maps and other things, and should have caught the recent
bugs in CallGraph and Reassociate, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31 22:11:05 +00:00
Chris Lattner
f385167b85
teach PointerLikeTypeTraits that all pointers to pointers may only be 4-byte aligned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31 21:28:39 +00:00
Bill Wendling
31fd5a571e
Constify check. This fixes PR3900.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 20:08:56 +00:00
Chris Lattner
911c8b21da
Add a PointerLikeTypeTraits specialization for uintptr_t
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 06:00:21 +00:00
Chris Lattner
e30173ac33
Replace the PointerLikeTypeTraits::getNumLowBitsAvailable
...
function with a new NumLowBitsAvailable enum, which makes the
value available as an integer constant expression.
Add PointerLikeTypeTraits specializations for Instruction* and
Use** since they are only guaranteed 4-byte aligned.
Enhance PointerIntPair to know about (and enforce) the alignment
specified by PointerLikeTypeTraits. This should allow things
like PointerIntPair<PointerIntPair<void*, 1,bool>, 1, bool>
because the inner one knows that 2 low bits are free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67979 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 04:32:37 +00:00
Chris Lattner
8ee1b5e916
rename PointerLikeTypeInto to PointerLikeTypeTraits, add trait for
...
# low bits free, and move to its own header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67973 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 00:39:30 +00:00
Chris Lattner
e8b64106ec
move a large method out of line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67892 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28 02:08:47 +00:00
Mike Stump
5c1f715d4b
Allow invertable -xno- style optins as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 20:12:55 +00:00
Chris Lattner
4cc2b85861
add method to access a template argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22 00:18:18 +00:00
Sebastian Redl
48fe63526e
Fix the Win32 VS2008 build:
...
- Make type declarations match the struct/class keyword of the definition.
- Move AddSignalHandler into the namespace where it belongs.
- Correctly call functions from template base.
- Some other small changes.
With this patch, LLVM and Clang should build properly and with far less noise under VS2008.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67347 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 23:26:52 +00:00
Daniel Dunbar
b372c1114c
Add BUILTIN_EXPECT Support/Compiler macro.
...
- Use for exceptional buffer conditions in raw_ostream:write to shave
off a cycle or two.
- Please rename if you have a better one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17 21:15:18 +00:00
Daniel Dunbar
c39b80fdfc
raw_ostream: Return '*this' explicitly (instead of implicitly via
...
write) to expose more alias information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17 01:53:36 +00:00
Daniel Dunbar
d17d74bb80
raw_ostream: Rework implementation of unbuffered streams so outputting
...
a single character requires only one branch to follow slow path.
- Never use a buffer when writing on an unbuffered stream.
- Move default buffer size to header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17 01:13:35 +00:00
Daniel Dunbar
89a66a96fe
raw_ostream: Replace flush_impl with write_impl, which takes data to
...
write as arguments.
- Add raw_ostream::GetNumBytesInBuffer.
- Privatize buffer pointers.
- Get rid of slow and unnecessary code for writing out large strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67060 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16 23:29:31 +00:00
Daniel Dunbar
cf2a2c6a26
raw_ostream: Lift out flush_nonempty.
...
- Flush a known non-empty buffers; enforces the interface to
flush_impl and kills off HandleFlush (which I saw no reason to be
an inline method, Chris?).
- Clarify invariant that flush_impl is only called with OutBufCur >
OutBufStart.
- This also cleary collects all places where we have to deal with the
buffer possibly not existing.
- A few more comments and fixing the unbuffered behavior remain in
this commit sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16 22:55:06 +00:00
Daniel Dunbar
de75d7ffcd
Add slow path for single character write, and use exclusively for
...
single characters writes outside of the fast path in raw_ostream.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16 22:00:17 +00:00
Bill Wendling
9a507cd915
Revert r66920. It was causing failures in the self-hosting buildbot (in release
...
mode).
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes > /dev/null
0 bugpoint 0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1 bugpoint 0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2 libSystem.B.dylib 0x92f112bb _sigtramp + 43
3 libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4 bugpoint 0x00021d1c main + 92
5 bugpoint 0x00002106 start + 54
6 bugpoint 0x00000004 start + 18446744073709543220
Stack dump:
0. Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes
0 bugpoint 0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1 bugpoint 0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2 libSystem.B.dylib 0x92f112bb _sigtramp + 43
3 libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4 bugpoint 0x00021d1c main + 92
5 bugpoint 0x00002106 start + 54
6 bugpoint 0x00000006 start + 18446744073709543222
Stack dump:
0. Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll -bugpoint-crashcalls -silence-passes
0 bugpoint 0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1 bugpoint 0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2 libSystem.B.dylib 0x92f112bb _sigtramp + 43
3 libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4 bugpoint 0x00021d1c main + 92
5 bugpoint 0x00002106 start + 54
Stack dump:
0. Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll -bugpoint-crashcalls -silence-passes
--- Reverse-merging (from foreign repository) r66920 into '.':
U include/llvm/Support/CallSite.h
U include/llvm/Instructions.h
U lib/Analysis/IPA/GlobalsModRef.cpp
U lib/Analysis/IPA/Andersens.cpp
U lib/Bitcode/Writer/BitcodeWriter.cpp
U lib/VMCore/Instructions.cpp
U lib/VMCore/Verifier.cpp
U lib/VMCore/AsmWriter.cpp
U lib/Transforms/Utils/LowerInvoke.cpp
U lib/Transforms/Scalar/SimplifyCFGPass.cpp
U lib/Transforms/IPO/PruneEH.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 21:15:59 +00:00
Gabor Greif
b14cda3c0d
Second installment of "BasicBlock operands to the back"
...
changes.
For InvokeInst now all arguments begin at op_begin().
The Callee, Cont and Fail are now faster to get by
access relative to op_end().
This patch introduces some temporary uglyness in CallSite.
Next I'll bring CallInst up to a similar scheme and then
the uglyness will magically vanish.
This patch also exposes all the reliance of the libraries
on InvokeInst's operand ordering. I am thinking of taking
care of that too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 18:27:29 +00:00
Daniel Dunbar
bcf8ea9554
raw_ostream: unbuffered streams weren't being immediately flushed on
...
single character writes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 22:02:44 +00:00
Mon P Wang
535f390bc3
Changed Allocate to use size_t instead of unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:48:49 +00:00
Dan Gohman
7f3030c471
Add an explicit keyword.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:10:46 +00:00
Mon P Wang
cabb383aba
Fixed rounding up EltSize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:04:40 +00:00
Daniel Dunbar
e77e434bc9
PR3478: raw_ostream should not buffer stderr
...
- Add unbuffered flag to raw_ostream, forwarded by raw_fd_ostream and
used by raw_stderr_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66545 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 16:21:55 +00:00
Daniel Dunbar
7af9248391
Add C++ marker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 15:56:48 +00:00
Daniel Dunbar
1779f2213f
Add IRBuilder::CreateConstGEP{1, 2}_{32, 64}.
...
- Names are lame, but it seems better to be explicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 22:26:07 +00:00
Gabor Greif
f3841fcbd5
ooops, forgot to include the pointless-write eliminator in my previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 21:54:31 +00:00
Chris Lattner
e97c733541
add some helper classes for building light-weight symbolic stack traces
...
that get printed when a program crashes. This is the first step of many.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 21:40:23 +00:00
Gabor Greif
c23b8719ef
Give sentinel traits the right to determine the policy where the sentinel is kept.
...
This should result in less indirect memory accesses, less dead writes and tighter code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66061 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 20:36:44 +00:00
Misha Brukman
fe2cce63aa
Removed trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 22:51:36 +00:00
Chris Lattner
ccd846b73f
allow TimeRegion to take a potentially-null pointer to a
...
timer for clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64874 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 01:48:17 +00:00
Devang Patel
13319ceffd
The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF.
...
Add support for two additional DWARF attributes to encode Objective-C runtime version number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 22:43:44 +00:00
Daniel Dunbar
e2a8dfefe5
Add llvm::RoundUpToAlignment.
...
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-16 22:57:04 +00:00
Ted Kremenek
3f4c81de0a
Deallocate() methods now take a 'const void*' instead of a 'void *', matching observed behavior with how 'delete[]' can be used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63956 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 19:34:14 +00:00
Chris Lattner
6038840210
add a method to BumpPtrAllocator that allows allocating elements
...
with a specified alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 07:39:50 +00:00
Mike Stump
d64e0eb094
Improve -fno-opt style option processing to not require an extra
...
option to make the -fno- form on the option. We also document the new
form in the CommandLine documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 22:48:49 +00:00
Mike Stump
d6f175b3ec
Add opposite_of and inverse_opt to support -fno- style options. This
...
is necessary for eventual gcc commmand line compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63384 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 08:19:46 +00:00
Ted Kremenek
9c27886dd5
Add method raw_fd_ostream::seek() for random access within a file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63044 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 21:42:04 +00:00
Devang Patel
3b64c6bc29
Introduce two DWARF attribute extentions DW_AT_APPLE_optimized, DW_AT_APPLE_flags.
...
DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way.
DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by a project, irrespective of whether the project used makefile, Xcode or something else.
llvm-gcc patch is next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 22:33:47 +00:00
Gabor Greif
edc4d69917
introduce a useful abstraction to find out if a Use is in the call position of an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 21:35:57 +00:00
Dale Johannesen
541ed9fd02
Do not use host floating point types when emitting
...
ASCII IR; loading and storing these can change the
bits of NaNs on some hosts. Remove or add warnings
at a few other places using host floating point;
this is a bad thing to do in general.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 20:32:55 +00:00
Devang Patel
018ec84b32
indentation...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 19:23:29 +00:00
Devang Patel
6906ba52f0
Need only one set of debug info versions enum.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 19:22:03 +00:00
Gabor Greif
7543f7fae3
make comparisons a bist faster
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62428 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17 19:03:45 +00:00
Mikhail Glushenkov
7059d47a6e
Support for multi-valued options in CommandLine
...
Makes possible to specify options that take multiple arguments (a-la
-sectalign on Darwin). See documentation for details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 22:54:19 +00:00
Mikhail Glushenkov
2388a588bd
Registry.h should not depend on CommandLine.h.
...
Split Support/Registry.h into two files so that we have less to
recompile every time CommandLine.h is changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 07:02:28 +00:00
Mikhail Glushenkov
5c1799b293
Delete trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62307 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 06:53:46 +00:00
Rafael Espindola
bb46f52027
Add the private linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 20:18:42 +00:00
Ted Kremenek
07c2a78c2b
Add member template MallocAllocator::Allocate(Num) (to match the same function in BumpPtrAllocator).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62202 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 00:38:21 +00:00
Rafael Espindola
c775ea1376
Remove some dead code from the days llvm had type planes.
...
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62088 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 15:53:25 +00:00
Gabor Greif
0e182c3962
drats! remove tabs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:39:04 +00:00
Gabor Greif
255b26ea35
simplify CallSite helper class to not consult the Instruction's
...
opcode on each delegation.
Instead the information is cached on construction and the cached flag used thereafter.
Introduced two predicates: isCall and isInvoke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62055 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:33:22 +00:00
Chris Lattner
71c3f45990
remove DebugInfoBuilder, it has been subsumed by Analysis/DebugInfo.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07 23:25:06 +00:00
Chris Lattner
b9f08a00af
no need to negate the APInt for 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06 00:06:25 +00:00
Chris Lattner
159c35b3ee
Change m_ConstantInt and m_SelectCst to take their constant integers
...
as template arguments instead of as instance variables, exposing more
optimization opportunities to the compiler earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 23:53:12 +00:00
Chris Lattner
06ebbcc71d
make m_ConstantInt(int64_t) safely match ConstantInt's that are larger than i64.
...
This fixes an instcombine crash on PR3235.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61775 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 23:45:50 +00:00
Dan Gohman
d68a07650c
Tidy up #includes, deleting a bunch of unnecessary #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 17:59:02 +00:00
Chris Lattner
723a59c17e
add #include guards, thanks Dan.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61619 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 01:28:00 +00:00
Misha Brukman
630fcb8678
* Alphabetized system headers per the style guide
...
* Minor spacing and comment cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 20:26:30 +00:00
Chris Lattner
0401245ab3
newline at end of phile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 06:32:32 +00:00
Chris Lattner
312b9a17e6
pred_iterator got a lot slower since use-diet landed. This is a
...
really simple cache class for these queries. Hopefully this can
be removed if pred_iterator speeds back up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60742 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 06:27:07 +00:00
Ted Kremenek
d75ba1c357
Have raw_fd_ostream keep track of the position in the file to make tell() go faster by not requiring a flush().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-04 22:51:11 +00:00
Ted Kremenek
5984680c1f
Add 'tell' method to raw_fd_ostream that clients can use to query the current location in the file the stream is writing to.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60085 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 03:33:13 +00:00
Nuno Lopes
08d67c7763
change AnnotationManager to use 'const char*' instead of std::string. this fixes the leakage of those strings and avoids the creation of such strings in static cosntructors (should result in a little improvement of startup time)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60064 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-26 00:00:44 +00:00
Scott Michel
2cd91804ec
Roll back rev 59890, since Chris says this can never happen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59914 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-23 19:22:48 +00:00
Scott Michel
bab6436b17
Check for NULL before traversing the isa<> type hierarchy checking with a
...
NULL-based reference.
Note: Encountered this a few times on Tiger + gcc 4.0.1. Might just be a
platform-specific compiler issue, but it's good defensive programming in any
case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59890 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-22 23:49:26 +00:00
Chris Lattner
16062ca93a
add a write method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59595 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 06:45:06 +00:00
Chris Lattner
a236c89ee3
add a new m_Specific pattern that matches only if we have a specific Value*.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:38:30 +00:00
Chris Lattner
67abc10616
add a new template for matching a select between two constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:33:10 +00:00
Nick Lewycky
ac44d25bdd
Clean up some strange whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:32:33 +00:00
Daniel Dunbar
0d9eb9b491
Add Binary flag to raw_fd_ostream constructor.
...
Document raw_fd_ostream's treatment of "-".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59219 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 05:01:07 +00:00
Anton Korobeynikov
476527a19d
Symbol visibility is unsupported on cygwin too.
...
Patch by Jay Foad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58520 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-31 18:05:01 +00:00
Dan Gohman
1975d03183
Canonicalize sext(i1) to i1?-1:0, and update various instcombine
...
optimizations accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 20:40:10 +00:00
Bill Wendling
a872aae731
Revert r58411. The user needs to #define this when using the JITMemoryManager.h header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 01:22:58 +00:00
Bill Wendling
fb309cb2d6
Revert part of r58048. It was breaking on SnowLeopard claiming that
...
"__STDC_CONSTANT_MACROS" needs to be #defined first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58411 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 00:11:55 +00:00
Dan Gohman
5a9a4bf7f2
Fix the name of the include guard to match the filename.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58310 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28 00:52:46 +00:00
Oscar Fuentes
cd6213233e
CMake: Sync'ed DataTypes.h.cmake with DataTypes.h.in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-25 03:25:11 +00:00
Ted Kremenek
43d1f02b54
Added raw_fd_ostream::close().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58052 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 23:49:09 +00:00
Steve Naroff
93fbe75a94
Changes to make the Windows build work...
...
- Add a file to the VC++ project.
- Make sure the clang driver links against the Transforms library.
- Incorporate changes from patch by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58048 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 23:28:23 +00:00
Argyrios Kyrtzidis
39ac2cbcd8
Introduce INT64_C macro and unbreak LLVM on MSVC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58039 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23 17:20:39 +00:00
Daniel Dunbar
48534b31d8
Clear raw_fd_ostream error string on success and explain behavior in
...
documentation.
Add C++ header marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57923 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-21 19:53:10 +00:00
Daniel Dunbar
76dba94dfa
Rename IRBuilder::IsNonNull -> IsNotNull in response to feedback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 17:05:03 +00:00
Daniel Dunbar
7a3ec1e148
Add IRBuilder::{CreateIsNull, CreateIsNonNull} helper methods.
...
- I'm open to the idea that these could have better names. I think
these read better than CreateEQNull and CreateNENull.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56757 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-27 23:22:55 +00:00
Devang Patel
0598866c05
Large mechanical patch.
...
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 21:00:45 +00:00
Devang Patel
eaf42abab6
s/ParameterAttributes/Attributes/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56513 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 23:03:40 +00:00
Oscar Fuentes
3d01fc7de8
Initial support for the CMake build system.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:08:49 +00:00
Nuno Lopes
5b8dbf839b
plug memleak: destroy internal buffer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55632 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 12:06:08 +00:00
Evan Cheng
1505cdbcea
Add DebugInfoBuilder. Patch by Talin!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55409 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 06:51:14 +00:00
Ted Kremenek
4ac67ef47a
Grammar fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55371 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-26 16:41:15 +00:00
Ted Kremenek
3d4866e683
Added "str()" method to raw_string_ostream.
...
str() mirrors the same method in std::ostringstream.
str() flushes the buffered stream contents to string and returns a reference to the string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55370 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-26 16:34:01 +00:00
Chris Lattner
78a2812538
Add raw_stream adaptors that write into an std::string and SmallVector/SmallString.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 22:43:04 +00:00
Chris Lattner
944fac71e0
Switch the asmprinter (.ll) and all the stuff it requires over to
...
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55263 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 22:23:09 +00:00
Chris Lattner
b2560526d5
Split format() out to its own file, add support for formatting
...
up to three values in one call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55251 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 19:48:00 +00:00
Chris Lattner
0958ab0fd1
conditionalize this to work on windows, untested but it should work
...
according to the intarnetz
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55248 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 19:27:03 +00:00
Chris Lattner
097af7fc8f
add a simple mechanism for formatted output. This gives raw_ostream's
...
all the power and risk of fprintf format strings. Use them like this:
OS << format("%10.4f", 42.0) << "\n" << format("%x", 42) << '\n';
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 19:23:10 +00:00
Nicolas Geoffray
f46dc79ac5
Also overload for char, since the "char" type depends on the host.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-22 08:44:47 +00:00
Owen Anderson
1f83b02c62
Overload for both signed and unsigned char.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55171 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-22 07:42:25 +00:00
Owen Anderson
66b17ba0d2
Move non-trivial methods out of line to avoid code-size bloat.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55138 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 20:58:52 +00:00
Owen Anderson
89a1a85913
Implement operator<< in terms of basic types rather than [u]int*_t, which is better for portability. There might be some way to factor this all with metaprogramming magic, but I'm not sure how offhand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 06:20:47 +00:00
Eli Friedman
afc802dc7d
Remove size_t operator; this unbreaks the build on Linux. Committing on
...
the suggestion of resistor.
If this breaks some other platform, please go ahead and back this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 04:28:31 +00:00
Owen Anderson
cb37188323
Use raw_ostream throughout the AsmPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 00:14:44 +00:00
Chris Lattner
071acf4279
add raw_ostream method for emitting an unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:23:02 +00:00
Gordon Henriksen
8715367182
Don't require Registry specializations to define random static variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:08:34 +00:00
Cedric Venet
94fb5f2a70
Make it compile on VC2005:
...
- update VC projects.
- Add an overload to llvm::Stream for <<, since std::hex and std::dec have type std::ios_base& (*)(std::ios_base&) in VC++. (templating the function don't work, due to ambiguities)
- add ../ on several include in X86/AsmPrinter/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54898 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:24:26 +00:00
Nick Lewycky
b6c8a4098f
Fix build on GCC 4.3.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54870 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 06:40:16 +00:00
Chris Lattner
07f51f788e
add support for a cout/cerr analog (outs()/errs()) as well as
...
a simple adaptor class to give raw output capabilities to
something that wants to write to an ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54865 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 04:13:37 +00:00
Chris Lattner
d497df5cf5
rename OutputData to 'write' to match ostream.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54857 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 01:46:05 +00:00
Chris Lattner
66a6b8be97
remove accidental comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54856 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 01:35:54 +00:00
Chris Lattner
60d3962624
add a new raw_ostream class which is an extremely high performance ostream that
...
can *only* output data (no seeking, reading, etc). This is adapted from the
clang "-E outputter", and is roughly 10% faster than stdio on darwin and 30%
(or more) faster than std::ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54855 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 01:35:29 +00:00
Duncan Sands
9d8658a129
Rename this, in case people think that NullFolder
...
has something to do with folding null values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54725 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 08:56:48 +00:00
Duncan Sands
fe24bd3a89
Add a NullFolder class that doesn't fold constants.
...
This may be used as the second IRBuilder template
parameter, the idea being that people learning LLVM
may find it helpful (several people asked on IRC
if it was possible to turn off constant folding
because it made it hard for them to see what was
going on). Compiles, but otherwise completely
untested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54698 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-12 20:39:27 +00:00
Duncan Sands
20df07ba22
Point people to ConstantExpr and ConstantFolding,
...
in case they get the wrong idea. Fit in 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-12 09:43:15 +00:00
Duncan Sands
1e7f7865eb
Make it possible to use different constant
...
folding policies with IRBuilder. The default,
provided by ConstantFolder, is to do minimal
folding like now: what ConstantExpr provides.
An alternative is to use TargetFolder, which
uses target information to fold constants more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54640 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-11 15:29:30 +00:00
Duncan Sands
1d85163ec2
Unbreak the llvm-gcc build: recent changes to
...
IRBuilder are not expecting null names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54581 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-09 15:14:59 +00:00
Chris Lattner
1378c1dd22
Make 'Insert' set the name for Loads, instead of passing the name into the
...
LoadInst ctor, which causes std::string thrashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54577 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-09 06:26:23 +00:00
Eric Christopher
7a61d701c0
Have IRBuilder take a template argument on whether or not to preserve
...
names. This can save a lot of allocations if you aren't going to be
looking at the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54546 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-08 19:39:37 +00:00
Dan Gohman
fed90b6d09
Fold the useful features of alist and alist_node into ilist, and
...
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-28 21:51:04 +00:00
Dan Gohman
7953f37810
Don't use reinterpret_cast when it isn't needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-27 23:12:19 +00:00
Dan Gohman
d685181669
Rename the version of CreateRet that's a convenience method for creating
...
multiple-valued return values, so that the name CreateRet is just for
creating plain ret statements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54053 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25 20:36:15 +00:00
Chris Lattner
fcf0e86bf2
Make CreateBinOp/CreateNeg/CreateNot do constant folding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53950 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-23 06:58:10 +00:00
Dan Gohman
fc74abfba5
Enable first-class aggregates support.
...
Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.
The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-23 00:34:11 +00:00
Dan Gohman
a3da832705
Add insertvalue and extractvalue folding support in IRBuilder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53931 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-22 20:19:25 +00:00
Dan Gohman
4e00987f09
IRBuilder support for insertvalue and extractvalue.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53926 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-22 18:25:25 +00:00
Dan Gohman
358033102f
Enhance the GraphWriter support for edge destinations, and teach the
...
SelectionDAG graph writer to make use of them. Now, nodes with multiple
values are displayed as such, with incoming edges pointing to the
specific value they use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53875 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21 21:06:55 +00:00
Dan Gohman
2d3ff5a7ae
Make the GraphWriter be more consistent about the string
...
used for the graph "title" and the graph "label", as there
are differences in interpretation of these strings
between viewers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21 19:57:57 +00:00
Dan Gohman
e8be6c6391
Add a new function, ReplaceAllUsesOfValuesWith, which handles bulk
...
replacement of multiple values. This is slightly more efficient
than doing multiple ReplaceAllUsesOfValueWith calls, and theoretically
could be optimized even further. However, an important property of this
new function is that it handles the case where the source value set and
destination value set overlap. This makes it feasible for isel to use
SelectNodeTo in many very common cases, which is advantageous because
SelectNodeTo avoids a temporary node and it doesn't require CSEMap
updates for users of values that don't change position.
Revamp MorphNodeTo, which is what does all the work of SelectNodeTo, to
handle operand lists more efficiently, and to correctly handle a number
of corner cases to which its new wider use exposes it.
This commit also includes a change to the encoding of post-isel opcodes
in SDNodes; now instead of being sandwiched between the target-independent
pre-isel opcodes and the target-dependent pre-isel opcodes, post-isel
opcodes are now represented as negative values. This makes it possible
to test if an opcode is pre-isel or post-isel without having to know
the size of the current target's post-isel instruction set.
These changes speed up llc overall by 3% and reduce memory usage by 10%
on the InstructionCombining.cpp testcase with -fast and -regalloc=local.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53728 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-17 19:10:17 +00:00
Devang Patel
0d885d1661
Mark function used by asm block as used, otherwise optimizer may not see the use and may delete the function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53692 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 17:54:34 +00:00
Dan Gohman
5e84368b26
Reapply 53476 and 53480, with a fix so that it properly updates
...
the BB member to the current basic block after emitting
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 18:19:29 +00:00
Evan Cheng
b5eec33dcd
Back out 53476 and 53480 for now. Somehow they cause llc to miscompile 179.art.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53502 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 01:38:51 +00:00
Dan Gohman
dbe2a5a269
Add support for putting NamedRegionTimers in TimerGroups, and
...
use a timer group for the timers in SelectionDAGISel. Also,
Split scheduling out from emitting, to give each their own
timer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53476 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 21:54:34 +00:00
Bill Wendling
98fd7f6b2f
Pull r53428 from Gaz into mainline:
...
Remove warnings about unused/shadowed variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53430 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 22:57:49 +00:00
Dan Gohman
4f4b348437
Tidy up #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53426 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 22:26:19 +00:00
Dan Gohman
358f5ac972
Escape the graph name. This unbreaks -view-cfg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53417 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 19:55:54 +00:00
Evan Cheng
250c1d8734
- Replace use of std::map<std::string, ..> with StringMap. Replace use of std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up.
...
- Some code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 00:04:23 +00:00
Dan Gohman
afbd0737e7
The graph name really does matter for configurations that use gv.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53259 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 23:33:46 +00:00
Matthijs Kooijman
b3739424da
Add CallSite::getArgumentNo() to be able to translate an operand number into a
...
argument number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53225 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 08:51:47 +00:00
Matthijs Kooijman
8c174a9b5a
Add CallSite::getArgumentOffset() to hide the differences in operands betwen
...
Call and Invoke in a single method instead of having it hardcoded in multiple
places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 08:50:32 +00:00
Duncan Sands
2e033f31dc
Add some convenience methods for manipulating
...
call attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 08:38:44 +00:00
Dan Gohman
e14d81deeb
Add some basic Pool-allocation infrastructure. This adds a Recycler class,
...
for handling bookkeeping for deleted objects, as well as the alist class
template, for keeping lists of objects allocated from Recyclers, and some
related utilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 22:58:06 +00:00
Dan Gohman
7698252750
Make BumpPtrAllocator noncopyable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53188 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 18:38:14 +00:00
Dan Gohman
dae6f4cf76
Add a space between * and /* to help simple-minded lexers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53187 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 18:34:27 +00:00
Dan Gohman
e4706a0b51
Remove uses of "llvm/Support/Debug.h" from LLVM include files, which
...
all happened be unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 18:14:29 +00:00
Dan Gohman
1002c02034
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53179 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 18:00:37 +00:00
Eric Christopher
9bd64ea1d9
Add a couple more helper functions to deal with
...
creating global constant strings and pointers
to global constant strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53051 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-02 22:57:59 +00:00
Dan Gohman
94f9c7dc97
Fix apostrophes in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-01 18:12:31 +00:00
Owen Anderson
d98a45d29a
Add a NextPowerOf2 function to calculate the next power of two greater than a given integer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52839 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-27 21:48:21 +00:00
Chris Lattner
25b825b3b8
Tweak IRBuilder to explicitly call the setName(const char*) method on Value
...
instead of passing the name into the instruction ctors. Since most
instruction ctors take their name as an std::string, this avoids copying the
string to the heap and a malloc and free.
Patch by Pratik Solanki!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52832 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-27 18:49:21 +00:00
Bill Wendling
8032020cf2
Remove warnings about shadowed and unused variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52791 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-26 18:11:45 +00:00
Owen Anderson
8001524f43
Use a DenseMap instead of an std::map for mangled name lookup. This is
...
improves AsmPrinter runtime on instcombine from 0.3920s to 0.3836s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52787 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-26 17:20:16 +00:00
Dan Gohman
f4dc289cea
Make Allocate<T>() return a T* instead of a void*. And use
...
static_cast instead of reinterpret_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52686 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-24 17:49:26 +00:00
Matthijs Kooijman
045b3f7bf1
* Make CallSite::hasArgument const and let it take a const parameter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51989 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:04:58 +00:00
Matthijs Kooijman
9515a8f88a
Add CallSite::hasArgument to allow for seeing if a call passes a certain value as an argument quickly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51946 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 16:31:12 +00:00
Evan Cheng
652f7ea955
Revert 51775.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51795 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 22:47:19 +00:00
Evan Cheng
babf11f249
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 17:16:20 +00:00
Bill Wendling
eecfa369eb
Remove more iostream header includes. Needed to implement a "FlushStream"
...
function to flush a specified std::ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51705 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 21:46:33 +00:00
Anton Korobeynikov
43d1fd449f
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 17:41:17 +00:00
Steve Naroff
0008f654bf
Silence a warning about "*/" outside a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 00:46:15 +00:00
Bill Wendling
13d57320bd
Remove warnings about unused parameters and shadowed variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51266 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 20:15:12 +00:00
Gabor Greif
7cbd8a3e92
API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51200 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16 19:29:10 +00:00
Dan Gohman
041e2eb517
IR support for extractvalue and insertvalue instructions. Also, begin
...
moving toward making structs and arrays first-class types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51157 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 19:50:34 +00:00
Nate Begeman
0342049cd8
Add support to IR builder for new vicmp, vfcmp routines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51127 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:29:46 +00:00
Nate Begeman
ac80ade158
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:01:56 +00:00
Chris Lattner
4ca7913072
add support for pattern matching 'neg'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50883 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09 05:20:27 +00:00
Dan Gohman
84b7df43fb
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 01:32:53 +00:00
Bill Wendling
521e245288
Using "unsigned" was masking the "size_t" version of this method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50668 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05 20:51:58 +00:00
Evan Cheng
34cd4a484e
Fix more -Wshorten-64-to-32 warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05 18:30:58 +00:00
Chris Lattner
70100131d1
Add CreateCall3/CreateCall4 at Eric's request.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50515 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01 05:23:45 +00:00
Chris Lattner
4b9f046869
Add a spiffy little "CreateCall2" method, which can be used to make
...
a function call that takes two Value*'s as arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50514 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01 05:11:00 +00:00
Ted Kremenek
9d695d5f7d
Add more alignment enums.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50363 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-28 17:58:20 +00:00
Mikhail Glushenkov
beb4d8293d
Add support for response files to the CommandLine library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-28 16:44:25 +00:00
Nick Lewycky
280a6e607d
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 16:53:59 +00:00
Nick Lewycky
75712b8b3f
Whoops! Undo r50087, unbreak the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50088 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 05:20:06 +00:00
Nick Lewycky
59091c4630
Reverse r47989. Part of removing 'unwinds to' support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50087 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 05:16:51 +00:00
Scott Michel
4bf393a13e
Workaround for PR2207, in which pred_iterator assert gets triggered due to a
...
wee problem in Xcode 2.[45]/gcc 4.0.1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49831 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 23:46:39 +00:00
Gabor Greif
917365bef1
merge of r49785 (from branches/ggreif/use-diet): pass V to dyn_cast by const reference, this avoids copy-constructing and destructing all the time. especially important if these constructors are not accessible
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49787 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 11:43:47 +00:00
Chris Lattner
f99b286154
Add support for equality comparison of CallSite's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49616 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-13 19:40:26 +00:00
Duncan Sands
89f6d88db3
Merge LLVMBuilder and FoldingBuilder, calling
...
the result IRBuilder. Patch by Dominic Hamon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49604 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-13 06:22:09 +00:00
Devang Patel
cba931f601
Add CreateGetResult()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49398 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08 20:41:22 +00:00
Devang Patel
7518583044
Add multiple value return instruction constructor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08 07:30:13 +00:00
Gabor Greif
051a950000
API changes for class Use size reduction, wave 1.
...
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-06 20:25:17 +00:00
Duncan Sands
b51a0d87ac
If a value is cast to its own type, then the cast
...
is not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04 08:28:13 +00:00
Torok Edwin
56c2f99f00
Add new file Support/DataFlow.h.
...
It allows Use-Def and Def-Use relations to be treated as graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49088 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 14:57:52 +00:00
Chris Lattner
038112a4e0
Change the MemoryBuffer::getFile* methods to take just a pointer to the
...
start of a filename, not a filename+length. All clients can produce a
null terminated name, and the system api's require null terminated
strings anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:04:03 +00:00
Bill Wendling
3ee3267fc2
De-constify the input to the "operator >>" method as it is modified.
...
Patch by dekruijf@cs.wisc.edu !
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48782 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 18:16:52 +00:00
Chris Lattner
d8ff3caaa0
add some convenience methods for creating GEP instructions and
...
struct types. Patch by David Chisnall, with some tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48531 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19 05:06:05 +00:00
Chris Lattner
58d74910c6
Reimplement the parameter attributes support, phase #1 . hilights:
...
1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12 17:45:29 +00:00
Nick Lewycky
cd943e4317
Treat BBs that use BBs as proper predecessors and successors in the CFG.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47989 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-06 06:54:53 +00:00
Dale Johannesen
08e78b18b8
Pass alignment on ByVal parameters, from FE, all
...
the way through. It is now used for codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47484 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 17:49:45 +00:00
Dan Gohman
b5660dc822
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47382 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 16:44:09 +00:00
Anton Korobeynikov
d57160d097
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47377 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 12:38:07 +00:00
Devang Patel
40a04216da
Add GetResultInst. First step for multiple return value support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47348 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 22:15:16 +00:00
Dale Johannesen
0d51e7ec0d
Expand ParameterAttributes to 32 bits (in preparation
...
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 21:38:47 +00:00
Duncan Sands
548448a317
Simplify caller updating using a CallSite, as
...
requested by Chris. While there, do the same
for an existing function committed by someone
called "lattner" :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47273 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 17:32:13 +00:00
Owen Anderson
823391ae6e
Add support for setting parameters to CallSite.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47249 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 00:10:55 +00:00
Dan Gohman
ca2a0e1062
Add count{Leading,Trailing}Ones_{32,64} functions with simple implementations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47084 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 20:54:54 +00:00
Ted Kremenek
1f801fa5ad
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 17:24:50 +00:00
Chris Lattner
dc97d4cb2f
make this 64-bit safe
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46402 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-26 19:50:30 +00:00
Ted Kremenek
f02e26abc0
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46283 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-23 22:29:58 +00:00
Anton Korobeynikov
70c8650de0
Silence a warning. Should we turn this into configure-time check?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46251 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22 11:01:23 +00:00
Gordon Henriksen
afa47c5a26
Fix a memory correctness error noticed by valgrind (harmless in practice).
...
Thanks to Duncan Sands for noticing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46007 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 20:02:11 +00:00
Chris Lattner
4a83e963b3
add match support for casts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-08 07:02:44 +00:00
Chris Lattner
50ee9ddc8f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-02 23:42:30 +00:00
Chris Lattner
234d529e58
remove attribution from a variety of miscellaneous files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 22:59:10 +00:00
Chris Lattner
7ed47a1335
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Chris Lattner
46f1a8797c
Add m_Zero().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45255 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-20 04:47:44 +00:00
Duncan Sands
f0c3354d99
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45218 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-19 21:13:37 +00:00
Duncan Sands
2b0e8990ab
Rename isNoReturn to doesNotReturn, and isNoUnwind to
...
doesNotThrow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 09:59:50 +00:00
Devang Patel
a6e757ec99
Add cast operators in LLVMFoldingBuilder.
...
Patch by Richard Pennington.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17 19:06:26 +00:00
Duncan Sands
ece2c04d53
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-16 15:51:49 +00:00
Anton Korobeynikov
b5ec947b5e
Constify graph arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45066 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-16 00:42:19 +00:00
Dan Gohman
abb8bf131c
Fix a typo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45031 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-14 15:11:58 +00:00
Gordon Henriksen
53c34b1db9
Delete the CollectorNamePool if it should become empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44775 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:35:18 +00:00
Gordon Henriksen
8d1ea75060
Fix a very silly typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44732 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-09 01:12:08 +00:00
Gordon Henriksen
7446d0cfc5
Incorporating review feedback from Reid.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44713 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-08 20:10:40 +00:00
Gordon Henriksen
985cb62234
Adding a StringPool data structure, which GC will use.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44705 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-08 17:07:47 +00:00
Duncan Sands
a3355ffb3d
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 20:06:50 +00:00
Duncan Sands
afa3b6da11
Add some convenience methods for querying attributes, and
...
use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44403 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 17:07:01 +00:00
Duncan Sands
dc024674ff
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 13:23:08 +00:00
Chris Lattner
2b1f1066ac
Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN return
...
a valid but empty buffer if stdin is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44219 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18 18:52:28 +00:00
Duncan Sands
fd617d0143
Move MinAlign to MathExtras.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43944 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-09 13:41:39 +00:00
Duncan Sands
dc84650679
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-28 12:59:45 +00:00
Chris Lattner
a0d9de0b66
remove dead file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43131 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:12:54 +00:00
Ted Kremenek
52e2d83e65
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 00:30:14 +00:00
Ted Kremenek
129d7d3bde
Removed inclusion of cassert, which is no longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43099 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:12:14 +00:00
Ted Kremenek
87f3870db9
Added template function alignof() which provides a clean
...
function-based interface to getting the alignment of a type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43096 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:08:55 +00:00
Ted Kremenek
869a3344f1
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43087 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 21:10:21 +00:00
Ted Kremenek
a4d9869cf2
Added llvm::AlignOf, a template class whose purpose is to portably
...
compute the minimum memory alignment of arbitrary types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43086 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 20:56:47 +00:00
Hartmut Kaiser
efd4a5144b
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?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 14:56:40 +00:00
Chris Lattner
3ef437d137
Add a new use_iterator::atEnd() method, which allows us to shrink
...
pred_iterator down to a single ivar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42859 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-11 04:18:11 +00:00
Chris Lattner
3daae2701b
Add new MemoryBuffer::getMemBufferCopy method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42815 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 21:46:38 +00:00
Devang Patel
ec1f944230
Fix indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42814 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 21:41:00 +00:00
Devang Patel
cd80c169d7
Add LLVMFoldingBuilder
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42806 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 19:49:19 +00:00
Dan Gohman
1fc46d5a8c
Remove an unnecessary friend declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42805 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 18:39:48 +00:00
Chris Lattner
49588d83da
update prototype, fixing build error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42789 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 16:27:44 +00:00
Dan Gohman
9a5263241d
Pass argc by value, not by reference, since it isn't modified.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42788 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 16:04:57 +00:00
Dan Gohman
3ab264a985
Fix grammar in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42748 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08 15:10:04 +00:00
Dan Gohman
cdf2b3b2f8
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42747 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08 15:08:41 +00:00
Gordon Henriksen
acd96191cd
Removing the silly CHelpers header by rolling wrap and unwrap into the C
...
bindings headers themselves, hidden behind #ifdef __cplusplus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42666 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-05 23:59:36 +00:00
Dan Gohman
21c276d2fa
Add empty() member functions to a few container-like classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-01 16:01:23 +00:00
Gordon Henriksen
d070d1e56f
Demoting CHelpers.h to include/llvm/Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42465 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-29 01:38:42 +00:00
Gordon Henriksen
d9900c9442
My previous Registry.h header, as well as Collectors.h, which is the
...
registry for dynamically-loaded garbage collection compiler plugins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-27 19:34:27 +00:00
Ted Kremenek
96345186a5
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42151 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-19 21:26:49 +00:00
Bill Wendling
ecd9137758
Add support for appending a suffix to the end of a mangled name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42071 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-17 22:39:32 +00:00
Evan Cheng
188b5224fd
Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41728 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-05 21:41:34 +00:00
David Greene
b8f74793b9
Update GEP constructors to use an iterator interface to fix
...
GLIBCXX_DEBUG issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04 15:46:09 +00:00
Ted Kremenek
1a0190f4f0
Added Graphviz escaping for the '|' character.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41610 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-30 17:01:41 +00:00
David Greene
f1355a55f8
Update InvokeInst to work like CallInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 19:04:21 +00:00
Dan Gohman
81975f6dfd
Add explicit keywords and remove spurious trailing semicolons.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 14:50:10 +00:00
David Greene
420731a818
Doxygenize comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41222 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 14:57:58 +00:00
David Greene
94c510c631
Add FilteredPassNameParser along with PassArgFilter to filter passes
...
based on their Arg members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41192 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 19:54:01 +00:00
Reid Spencer
eb9422b19d
Make it clear that getSTDIN returns null when stdin is empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40940 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 20:02:20 +00:00
Chris Lattner
6f427580e0
remove #if 0 code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-06 22:03:19 +00:00
Reid Spencer
7409cabc3e
@verbatim needs to be on a line by itself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40865 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-06 17:10:29 +00:00
Reid Spencer
181b6c9cb5
Fix minor doxygen nits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-05 20:06:04 +00:00
David Greene
52eec54820
New CallInst interface to address GLIBCXX_DEBUG errors caused by
...
indexing an empty std::vector.
Updates to all clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 03:43:44 +00:00
Nick Lewycky
28753f8df2
Clarify the language. Pointed out by Duncan Sands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39857 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-14 17:41:03 +00:00
Nick Lewycky
377b1190cb
Add alternate ConstantRange intersection algorithm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39851 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-14 02:51:34 +00:00
Dan Gohman
27e9d457d4
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37925 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:40:15 +00:00
Gabor Greif
a99be51bf5
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
John Criswell
e644ef7b09
Convert .cvsignore files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-29 16:35:07 +00:00
Dan Gohman
0ce4b8eda3
Allow DOUT to be used outside of the llvm namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37753 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-27 14:09:38 +00:00
Chris Lattner
b0760c80b3
m_not should match vector not
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37587 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-15 06:13:47 +00:00
Chris Lattner
848377d533
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37332 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-27 15:09:34 +00:00
Dale Johannesen
81da02b553
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37285 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-22 17:14:46 +00:00
Dan Gohman
2703f23304
Use templates for the GraphType for DefaultDOTGraphTraits' members instead
...
of just using void*. This allows it to be used with graph adapters like
Inverse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37032 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-14 14:23:27 +00:00
Jeff Cohen
0fea8ebb4a
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36901 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 15:21:46 +00:00
Chris Lattner
5499da8833
Enhance MemoryBuffer to return error messages in strings if they occur.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 23:32:36 +00:00
Chris Lattner
663d7ddf63
remove dead header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36884 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:46:23 +00:00
Chris Lattner
e96eec0c69
Add a helper that either opens a file or stdin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36835 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 04:41:59 +00:00
Chris Lattner
18a4c74136
remove extraneous type qualifiers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36679 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:14:56 +00:00
Chris Lattner
333ffd4abf
Add a new memorybuffer class, to unify all the file reading code in the system
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36553 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 06:58:52 +00:00
Chris Lattner
2e3ab5726d
Fix a very strange assertion message, patch by Christopher Lamb
...
CVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36267 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-20 03:27:36 +00:00
Anton Korobeynikov
bed2946a96
Removed tabs everywhere except autogenerated & external files. Add make
...
target for tabs checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 18:10:23 +00:00
Dan Gohman
a1a702cdd2
Rename Value::getValueType to getValueID, to avoid confusion with
...
other things named getValueType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35964 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-13 18:12:09 +00:00
Chris Lattner
69d6f1358c
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-12 00:36:29 +00:00
Reid Spencer
be5dcf5c1e
For PR1291:
...
Change to use PathWithStatus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35746 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 19:50:21 +00:00
Nick Lewycky
e32157c609
Add signExtend to ConstantRange, to complement zeroExtend and truncate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35733 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 15:41:33 +00:00
Chris Lattner
9878d6ae3a
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35701 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 21:06:55 +00:00
Chris Lattner
3b6078f584
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35698 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:36:18 +00:00
Chris Lattner
f6143ef556
Eliminate unneeded virtual methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:06:27 +00:00
Chris Lattner
6e18fa0e1c
eliminate a virtual method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35691 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 22:21:39 +00:00
Chris Lattner
af035f3460
remove the dead removeArgument method, rename Options to OptionsMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 21:58:17 +00:00
Jeff Cohen
c3c395cf5e
Be more explicit concerning argument sizes.
...
Use VC++ byteswap intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35267 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 19:11:57 +00:00
Nick Lewycky
3400e6af6b
Add getter methods for the extremes of a ConstantRange.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35056 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-10 15:54:12 +00:00
Jeff Cohen
ca5183d445
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-05 00:00:42 +00:00
Chris Lattner
82a60eca8f
fix 80 col violations, mark arrays static
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34915 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-04 23:33:03 +00:00
Anton Korobeynikov
e6efc85939
Fix uninitialized use of variable. Remove tabs and fix identation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34850 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-02 22:19:41 +00:00
Owen Anderson
a505fb6d9f
Fix a typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34836 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-02 05:03:07 +00:00
Owen Anderson
c100b96b15
Use GCC intrinsics when available, and use smarter fallbacks when not.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34812 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-01 21:16:30 +00:00
Reid Spencer
a6e8a955d6
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34782 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-01 07:54:15 +00:00
Owen Anderson
2a934cb607
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34776 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-01 05:41:28 +00:00
Reid Spencer
bb626a6751
Move ConstantRange class to lib/Support from lib/Analysis and make its
...
interface not depend on Type or ICmpInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34761 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 22:02:48 +00:00
Reid Spencer
581b0d453a
For PR1205:
...
Remove ConstantInt from ConstantRange interface and adjust its users to
compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34758 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 19:57:34 +00:00
Reid Spencer
dc5c159701
For PR1205:
...
First round of ConstantRange changes. This makes all CR constructors use
only APInt and not use ConstantInt. Clients are adjusted accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34756 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 18:57:32 +00:00
Reid Spencer
663e711dc2
For PR1205:
...
Convert ConstantRange class to use APInt internally as its value type for
the constant range, instead of ConstantInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34745 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 17:36:23 +00:00
Chris Lattner
b4d7e35dde
add a way to register an arbitrary cleanup function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34442 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-20 06:08:37 +00:00
Andrew Lenharth
f7e804b683
I love non-deturminism. Returning objects with references to stack objects is a bad idea (TM).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34210 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13 00:37:50 +00:00
Nick Lewycky
3e051647c0
Fix comments to match names of functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34173 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 00:58:49 +00:00
Chris Lattner
68ce9ba666
add helper method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34155 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:54:24 +00:00
Chris Lattner
ae6eb5bfbe
StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,
...
so we should actually use a UniqueVector to implement it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 23:19:24 +00:00
Bill Wendling
05c0b9ad79
Use unsigned char& instead of std::vector<>::reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33896 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 02:37:07 +00:00
Bill Wendling
18e84b55a4
Added some accessor methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33814 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-03 02:38:15 +00:00
Reid Spencer
832254e1c2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 02:16:23 +00:00
Jim Laskey
b82313fdc2
Support for non-landing pad exception handling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33755 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 16:31:34 +00:00
Reid Spencer
283663a4ed
Fix a homonymo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33754 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 12:09:51 +00:00
Devang Patel
aed293dfba
Add PrintVersionMessage() that tools can use to print version number
...
without exiting program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 01:43:37 +00:00
Anton Korobeynikov
fd58e6e2ec
Moved disassembler to libSystem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 10:26:08 +00:00
Reid Spencer
24d6da5fed
For PR970:
...
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 00:29:26 +00:00
Anton Korobeynikov
8cd4c3e653
Adding disassembler interface and external hook to udis86 library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 17:25:17 +00:00
Bill Wendling
c904a5b925
Have the OutputBuffer take the is64Bit and isLittleEndian booleans.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33316 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-18 01:23:11 +00:00
Bill Wendling
f341ccbff9
Refactored output buffer methods from MachO and ELF writers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33310 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 22:17:24 +00:00
Zhou Sheng
6b6b6ef167
For PR1043:
...
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-11 12:24:14 +00:00
Bill Wendling
fcf17a3096
The previous implementation of LLVM Streams wasn't removing symbols. This
...
one should.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32845 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-03 22:37:27 +00:00
Reid Spencer
e4d87aa2de
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-23 06:05:41 +00:00
Chris Lattner
49e6a9bc94
Doxgenate comments.
...
Add GreatestCommonDivisor64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32661 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 01:11:32 +00:00
Bill Wendling
5c7e326585
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-17 05:15:13 +00:00
Bill Wendling
1a097e30d3
Don't use <sstream> in Streams.h but <iosfwd> instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32340 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 23:41:45 +00:00
Bill Wendling
e81561909d
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
...
now cerr, cout, and NullStream resp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 01:30:32 +00:00
Jim Laskey
a091fa8619
Ignoring the upper 32 bits of a 64 bit constant is not a good thing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32294 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 22:47:14 +00:00
Chris Lattner
bdbf5fd1c9
add a helper to call llvm_shutdown()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32249 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 01:01:14 +00:00
Chris Lattner
baf2ecda5f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 23:27:45 +00:00
Chris Lattner
5365489f6c
remove 'target constructor' support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:00:50 +00:00
Reid Spencer
95e6effad2
Get the delegation right for InstVisitor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32025 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-29 21:37:00 +00:00
Bill Wendling
68fe61d6a1
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-29 00:19:40 +00:00
Bill Wendling
b5ebf15b2b
Added a temporary hack to get the llvm-streams to work for future checkins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 22:21:29 +00:00
Bill Wendling
eb7313805b
Protect against null streams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31937 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-27 10:45:49 +00:00
Reid Spencer
3da59db637
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-27 01:05:10 +00:00
Bill Wendling
7fe9518698
Add method that will take a function pointer so that it can handle things
...
like "llvm_cerr << std::flush";
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31926 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-26 10:51:51 +00:00
Reid Spencer
45fb3f3cb2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31867 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 01:22:35 +00:00
Bill Wendling
52883e7a9a
Used llvm_ostream instead of std::ostream objects. This will reduce use
...
of the icky <iostream> class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31818 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 09:52:49 +00:00
Bill Wendling
e562ed1c92
Added wrappers for the std::cerr/std::cout objects. The wrappers will
...
soon replace all uses of those objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31817 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 09:51:22 +00:00
Bill Wendling
a72ac422a2
#ifndef NDEBUG the "if (Stream) ..." stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31803 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 01:43:48 +00:00
Bill Wendling
8ea7c52185
Adjusted the // comments so that doxygen picks them up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31801 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 01:13:12 +00:00
Bill Wendling
1ea783f13a
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 00:49:12 +00:00
Jim Laskey
cfa0c251bd
math.h creates ambiguity
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31591 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 08:26:22 +00:00
Jim Laskey
4320f810c8
math.h for C's sake.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31590 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 08:05:39 +00:00
Jim Laskey
12cd0012bd
Make sure <cmath> comes first
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31559 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 18:48:14 +00:00
Jim Laskey
d96e180da0
Add backup support for HUGH_VALF.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31553 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 17:19:29 +00:00
Reid Spencer
3822ff5c71
For PR950:
...
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 06:47:33 +00:00
Reid Spencer
1d2bf885dd
Fix a small bug noticed on code review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31476 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-06 18:47:14 +00:00
Jeff Cohen
d41b30def3
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-05 19:31:28 +00:00
Reid Spencer
0a783f783c
For PR950:
...
Replace the REM instruction with UREM, SREM and FREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 01:53:59 +00:00
Chris Lattner
9f617d64c5
Add a new llvm::Allocator abstraction, which will be used by a container
...
I'm about to add. This is similar to, but necessarily different than, the
STL allocator class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31285 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 22:08:03 +00:00
Reid Spencer
1628cec4d7
For PR950:
...
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 06:15:43 +00:00
Chris Lattner
f3799d6317
simplify trivial function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30924 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-12 23:50:28 +00:00
Nick Lewycky
0376ade972
Fix usage example.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30837 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 18:33:08 +00:00
Jim Laskey
ec20402c90
Add ability to annotate (color) nodes in a viewGraph.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30686 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-02 12:26:53 +00:00
Chris Lattner
771cbf30bc
new helper class to provide more explicit management of static ctor/dtors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:31:55 +00:00
Chris Lattner
0ec0b539a7
Add support for pattern matching cast operations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30454 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 05:17:11 +00:00
Chris Lattner
833eb68a1f
Add new option to leave asm names alone
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30149 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 18:20:41 +00:00
Chris Lattner
f91e4f86c2
Remove a dead class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29918 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:11:07 +00:00
Chris Lattner
6f3241dbbf
add directive to disable inlining
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29912 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 13:16:05 +00:00
Chris Lattner
a4f0b3a084
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 12:54:02 +00:00
Chris Lattner
7422a76100
Add external definitions for commonly-used template specializations and add
...
anchor methods to others. This eliminates the vtable/template method bloat
in .o files that defining a cl::opt used to impose (~4K per .o file for one
cp::opt<unsigned>).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 12:45:47 +00:00
Chris Lattner
0c0cc92762
New place to put compiler-specific functionality. This replaces Visibility.h,
...
and provides macros that can be used to make explicit instantiations of
template specializations, which is a gcc-specific feature.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29908 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 12:42:45 +00:00
Reid Spencer
51c5a286ba
For PR797:
...
Final removal of exceptions from lib/System and adjustment of users to
accommodate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 20:34:57 +00:00
Reid Spencer
487447626c
Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
...
adjust users of it to compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 19:01:30 +00:00
Jim Laskey
6f397bf4c8
Adding new Dwarf constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 21:18:10 +00:00
Chris Lattner
f42d1ddb18
remove IncludeFile turds in MathExtras.h, which bloats every .o file that
...
#includes it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:52:54 +00:00
Reid Spencer
dc4f6bea6c
Remove the use of "IncludeFile" from this support facility. The mechanism
...
to build a loadable module is now correctly defined and documented so this
workaround isn't needed any longer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29553 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:20:15 +00:00
Chris Lattner
0c33231eff
Modify Path::eraseFromDisk to not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:29:50 +00:00
Reid Spencer
7107c3badf
For PR780:
...
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:18:00 +00:00
Chris Lattner
433fd76e51
Add an out-of-line virtual method to provide a home for the cl::option class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 23:59:33 +00:00
Chris Lattner
0683c8cad9
Add functions to compute ceil(log2(N)) to match functions for floor(log2(N))
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29168 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 00:47:10 +00:00
Chris Lattner
bbf34398a0
This patch (written by Reid) changes compressor to never throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29045 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:00:12 +00:00
Chris Lattner
148f440635
Modify the SlowOperationInformer interface to not throw exceptions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29028 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 22:34:06 +00:00
Chris Lattner
c521409d4c
Add support for hidden visibility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28968 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 21:38:04 +00:00
Reid Spencer
9d5b532de9
For PR801:
...
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 16:49:46 +00:00
Reid Spencer
72a8e6f58c
Whoops, missed a couple more C-style casts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28905 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 22:19:00 +00:00
Reid Spencer
54cb98578a
Use C++ style casts instead of C-style casts to shut up compiler warnings
...
when compiling with -pedantic. Passes regression tests on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28904 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 21:54:54 +00:00
Jim Laskey
7089f45987
1. Revise vector debug support.
...
2. Update docs for vector debug support and new version control.
3. Simplify serialization of DebugDescInfo subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28816 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 13:14:03 +00:00
Jim Laskey
f8a01a9661
1. Support standard dwarf format (was bootstrapping in Apple format.)
...
2. Add vector support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 20:51:43 +00:00
Chris Lattner
1f2d22ab94
Add some more matcher classes for shifts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28804 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:25:28 +00:00
Reid Spencer
af303d53e6
For PR780:
...
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 23:03:13 +00:00
Reid Spencer
4f1bd9e996
For PR780:
...
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 22:00:26 +00:00
Reid Spencer
170da9b058
For PR780:
...
This change was suggested by Chris so that we can select an alternate
(or even no-op) implementation of the link assurance. I'm committing this
for your review, Chris. If the names and definitions are okay, I'll adjust
all the .h and .cpp files in a later patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28712 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 20:35:46 +00:00
Reid Spencer
6df60a9eff
For PR780:
...
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07 20:00:19 +00:00
Chris Lattner
fc790168a2
Move toolrunner out of libsupport into the bugpoint tool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28700 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 22:31:36 +00:00
Reid Spencer
51ab5c8862
Add the -Xlinker option to bugpoint which allows an option to be passed
...
through to gcc when its being used as a linker. This allows -L and -l
(and any other) options to be added so that non-complete bytecode files
can be processed with bugpoint. The -Xlinker option can be added as many
times as needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06 00:00:42 +00:00
Reid Spencer
515b5b379f
Make it possible to override the standard version printer. Not all tools
...
built with CommandLine.h will want the --version option to report that the
tool belongs to LLVM. To override simply pass a void func() to the
cl::SetVersionPrinter() function and that void func() will be called when
it is time to print the version information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 16:22:56 +00:00
Vladimir Prus
ef27d899fd
Improve InstVisitor docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28586 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-31 15:30:18 +00:00
Chris Lattner
32cdb6617e
Fix breakage on platforms where string/cassert don't pull in int64_t.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 05:59:50 +00:00
Reid Spencer
19b7e0e0ca
For PR786:
...
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 19:21:13 +00:00
Chris Lattner
59e8de386d
Improve documentation on throwing, it is not complete still though. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28294 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 19:07:07 +00:00
Reid Spencer
c7365a9ec9
Add a #include <cassert> for situations where Casting.h is used standalone.
...
Patch contributed by Vladimir Prus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28280 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-13 17:50:38 +00:00
Reid Spencer
3e41da29fb
Don't use old-style casts. This prevents compiler warnings when CommandLine.h
...
is used in projects that have stricter warning control than LLVM. This also
helps us find casts more easily if we ever need to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28263 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 19:20:55 +00:00
Reid Spencer
9d3b814d53
Add in missing #defines for _OpenBSD_ systems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27850 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 00:18:39 +00:00
Chris Lattner
9fc18d24ae
Add a new shufflevector instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27507 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 01:15:18 +00:00
Jim Laskey
b8509c5752
Generate local variable and scope information and equivalent dwarf forms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26989 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 18:07:55 +00:00
Jim Laskey
abd19e8b5b
Remove comma from enum list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26456 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 20:48:20 +00:00