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