aboutsummaryrefslogtreecommitdiff
path: root/lib/Support
AgeCommit message (Collapse)Author
2009-10-12Merge 83417 from mainline.Tanya Lattner
r83391 was completely broken since Twines keep references to their inputs, and some of the inputs were temporaries. Here's a real fix for the miscompilation. Thanks to sabre for pointing out the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@83859 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12Merge 83391 from mainline.Tanya Lattner
Fix PR5112, a miscompilation on gcc-4.0.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@83858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12Merge 81308 from mainline.Tanya Lattner
Make sure the memory range is writable before memset'ing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Merge 79862 from mainline.Tanya Lattner
Fix off-by-one in llvm::Format::print. - This also shortens the Format.h implementation, and uses the print buffer fully (it was wasting a character). - This manifested as llvm-test failures, because one side effect was that raw_ostream would write garbage '\x00' values into the output stream if it happened that the string was at the end of the buffer. This meant that grep would report 'Binary file matches', which meant the silly pattern matching llvm-test eventually does would fail. Cute. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80563 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Fix typo.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Implement APInt <-> APFloat conversion for IEEE 128-bit floats.Anton Korobeynikov
This fixes PR2555 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Clean up the APInt function getDigit.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Update error messages for '+'. Fix grammar and make the twoEric Christopher
negative checks resemble each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Fix trailing whitespace and 80-col violation.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Fix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Allow '+' to appear in APInt strings, and add more unit tests.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Add support for including '+' in APFloat strings, more asserts,Erick Tryzelaar
and many new unit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79574 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Add a comment explaining why llvm_unreachable_internal doesn't callDan Gohman
the ErrorHandler callback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Fix two APFloat bugs in converting hexadecimal constants.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79540 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Add triple parsing support for TCE.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79461 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch to SmallString::str from SmallString::c_str, and removeDaniel Dunbar
SmallString::c_str. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Change raw_svector_ostream to reserve the input buffer if necessary, Ted wasDaniel Dunbar
right. - This class turns out to be much more convenient to use if we do this; clients can make sure the buffer is always big enough if they care (since our current idiom tends to be to use a SmallString<256> for the input to this we should generally be avoiding an unnecessary malloc). Also, add a convenience raw_svector_ostream::str method which flushes the buffer and returns a StringRef for the vector contents. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch Twine::str() to use toVector(), which is now efficient.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch raw_svector_ostream to use the vector as the ostream buffer.Daniel Dunbar
- This avoids unnecessary malloc/free overhead in the common case, and unnecessary copying from the ostream buffer into the output vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79434 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Speculatively revert r79375, which may be breaking bootstrap, although in aDaniel Dunbar
rather obscure way (the other candidate is r79377). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79426 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19raw_ostream: Simplify write(unsigned char) to match write(const char*, ↵Daniel Dunbar
unsigned). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79386 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19raw_ostream: Remove pointless redefinitions of tell().Daniel Dunbar
- The base class implementation is correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18raw_ostream: Add the capability for subclasses to manually install an externalDaniel Dunbar
buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79382 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18raw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.Daniel Dunbar
- Kill off begin(), end(), and iterator. It isn't clear what these mean. Instead provide getBufferStart(), which can be used with GetNumBytesInBuffer to the same effect. - Update ComputeColumn to take arguments for the buffer to scan, this simplifies the implementation of write_impl substantially. - This should also fix possible problems with the scanning pointer pointing outside of the current raw_ostream buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Speed up raw_ostream::<<(unsigned long long) for 32-bit systems by doing mostDaniel Dunbar
div/mods in 32-bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Fix a bug in raw_ostream::write(char) introduced by the change toDan Gohman
allow underlying stream classes to decline buffering. After calling SetBuffered(), re-check whether the stream is Unbuffered in order to handle the case where the underlying stream has declined buffering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79362 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Revert r78924, disabling buffering defeats all the fast paths in raw_ostream.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Improve Triple to recognize the OS in i386-mingw32.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79359 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Fix an uninitialized value warning in APFloat.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Fix Triple to recognize the 'bfin' arch.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79325 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Recognize xscale as an ARM arch.Daniel Dunbar
- Patch by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Add Triple matching for pic16 arch and solaris OS.Daniel Dunbar
- Patch by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79314 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17the MinPad argument to PadToColumn only really makes sense to be 1,Chris Lattner
just remove the argument and replace it with 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16Modify APFloat to take a StringRef instead of a c string.Erick Tryzelaar
This also adds unit tests to APFloat that mainly tests the string handling of APFloat, but not much else of it's api. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Mingw also doesn't have st_blksize.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Always check to see if raw_fd_ostream's file descriptor is attached toDan Gohman
a terminal, not just when it's STDOUT_FILENO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Add support for column computation on unbuffered streams.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Move FormattedStream's write_impl out of line.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Remove an unnecessary #include.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14fix "pc" to be lower case in a target triple, patch by Yonggang LuoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79016 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13When standard output is a terminal, set outs() to be unbuffered, toDan Gohman
mimic the behavior of stdtout, which is line-buffered when the output is a terminal. This fixes some issues with bugpoint output appearing being printed out of order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Fix a compiler warning about comparing signed with unsigned.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Add an assert to check copy_to_buffer's precondition.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78926 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Set raw_os_ostream, raw_string_ostream, and raw_svector_ostream to beDan Gohman
unbuffered. std::ostream does its own buffering, and std::string and SmallVector both have allocation strategies intended to handle frequent appending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78924 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Add support to raw_ostream for sizing the buffer according to theDan Gohman
needs of the underlying output mechanism. raw_fd_ostream now uses st_blksize from fstat to determine a buffer size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Move SetBufferSize and SetUnbuffered out of line.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Fix the buffer handling logic so that write_impl is always called withDan Gohman
a full buffer, rather than often being called with a slightly-less-than-full buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Convert APint::{fromString,APInt,getBitsNeeded} to use StringRef.Daniel Dunbar
- Patch by Erick Tryzelaar, with some edits (and a bug fix) from me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12This void is implicit in C++.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12Add attempted idiotproofing comment per review.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78825 91177308-0d34-0410-b5e6-96231b3b80d8