aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT
Commit message (Collapse)AuthorAgeFilesLines
* Change SmallString::operator{=,+=} to take a StringRef.Daniel Dunbar2009-08-221-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79729 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement APInt <-> APFloat conversion for IEEE 128-bit floats.Anton Korobeynikov2009-08-211-0/+2
| | | | | | This fixes PR2555 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79677 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a fast path for setName("") on an unnamed value.Daniel Dunbar2009-08-191-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79492 91177308-0d34-0410-b5e6-96231b3b80d8
* Add triple parsing support for TCE.Eli Friedman2009-08-191-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79461 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to SmallString::str from SmallString::c_str, and removeDaniel Dunbar2009-08-191-8/+0
| | | | | | | SmallString::c_str. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SmallString::str (which returns a StringRef); this is more efficient thanDaniel Dunbar2009-08-191-0/+3
| | | | | | | c_str(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79453 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove SmallString::append_*int* methods; how many copies of int -> strDaniel Dunbar2009-08-191-41/+0
| | | | | | | | | | conversion code do we really need? - S.append_uint(N) can be replaced with 'raw_svector_ostream(S) << N' which is somewhat slower due to the extra set up cost, but still plenty fast (especially if the svector set up cost can be amortized). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79450 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SmallVector::{capacity,set_size}.Daniel Dunbar2009-08-191-2/+20
| | | | | | | | - These allow clients to make use of the extra elements in the vector which have already been allocated, without requiring them to be value initialized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79433 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve Triple to recognize the OS in i386-mingw32.Daniel Dunbar2009-08-181-2/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79359 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pasto in StringRef::count(char)Daniel Dunbar2009-08-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79356 91177308-0d34-0410-b5e6-96231b3b80d8
* Add StringRef::count({char,StringRef})Daniel Dunbar2009-08-181-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79354 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed spelling of MSP430.Misha Brukman2009-08-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79333 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize xscale as an ARM arch.Daniel Dunbar2009-08-181-1/+1
| | | | | | | - Patch by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79315 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Triple matching for pic16 arch and solaris OS.Daniel Dunbar2009-08-181-0/+2
| | | | | | | - Patch by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79314 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a declaration consistent with its definition.Oscar Fuentes2009-08-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79220 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify APFloat to take a StringRef instead of a c string.Erick Tryzelaar2009-08-161-4/+5
| | | | | | | 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
* Convert APint::{fromString,APInt,getBitsNeeded} to use StringRef.Daniel Dunbar2009-08-131-13/+13
| | | | | | | - 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
* Add StringRef::front (with some small tweaks while I was in the area).Daniel Dunbar2009-08-131-1/+8
| | | | | | | - Patch by Erick Tryzelaar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78883 91177308-0d34-0410-b5e6-96231b3b80d8
* This void is implicit in C++.Dan Gohman2009-08-121-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78848 91177308-0d34-0410-b5e6-96231b3b80d8
* catch a typo and simplify call syntaxGabor Greif2009-08-121-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78804 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for mingw64 target triples.Chris Lattner2009-08-121-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78797 91177308-0d34-0410-b5e6-96231b3b80d8
* add a couple of helpers to the Triple class for decodingChris Lattner2009-08-121-0/+15
| | | | | | | | | the darwin version string. This should help consolidate the variety of weird functions we have scattered around the codebase that do stuff like this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78792 91177308-0d34-0410-b5e6-96231b3b80d8
* StringRef: Add find(char) and find(StringRef).Daniel Dunbar2009-08-111-15/+47
| | | | | | | Also, regroup functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78712 91177308-0d34-0410-b5e6-96231b3b80d8
* add a simple back() method to StringRef.Chris Lattner2009-08-101-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78544 91177308-0d34-0410-b5e6-96231b3b80d8
* STLExtras: Add less_ptr.Daniel Dunbar2009-08-091-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78521 91177308-0d34-0410-b5e6-96231b3b80d8
* Use std::string() instead of std::string("").Dan Gohman2009-08-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78364 91177308-0d34-0410-b5e6-96231b3b80d8
* Add StringRef::endswithDaniel Dunbar2009-08-051-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78197 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass target triple string in to TargetMachine constructor.Daniel Dunbar2009-08-031-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77946 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some comments referring to std::cerr.Daniel Dunbar2009-08-031-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77931 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust comment to distinguish between target name and triple target name theyDaniel Dunbar2009-08-021-15/+15
| | | | | | | match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77908 91177308-0d34-0410-b5e6-96231b3b80d8
* Analog Devices Blackfin back-end.Jakob Stoklund Olesen2009-08-021-0/+1
| | | | | | | | | | | | | | Generate code for the Blackfin family of DSPs from Analog Devices: http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html We aim to be compatible with the exsisting GNU toolchain found at: http://blackfin.uclinux.org/gf/project/toolchain The back-end is experimental. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77897 91177308-0d34-0410-b5e6-96231b3b80d8
* Make default ctor for ImmutableSet::iterator public.Ted Kremenek2009-08-011-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77762 91177308-0d34-0410-b5e6-96231b3b80d8
* Split DenseMapInfo into a separate header file, so that it can beDan Gohman2009-07-312-97/+122
| | | | | | | included separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77693 91177308-0d34-0410-b5e6-96231b3b80d8
* Twine: Directly support int, long, and long long types.Daniel Dunbar2009-07-301-16/+33
| | | | | | | - This should resolve Cygwin gcc ambiguities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77624 91177308-0d34-0410-b5e6-96231b3b80d8
* Twine: Use raw_ostream::write_hex, remove unused itohexstr method.Daniel Dunbar2009-07-301-7/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77617 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove itohexstr, which only had one user.Daniel Dunbar2009-07-301-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77613 91177308-0d34-0410-b5e6-96231b3b80d8
* Twines: Don't allow implicit conversion from integers, this is too tricky.Daniel Dunbar2009-07-301-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77605 91177308-0d34-0410-b5e6-96231b3b80d8
* Twine: Provide [u]int{32,64} conversions via implicit constructors instead ofDaniel Dunbar2009-07-301-14/+31
| | | | | | | explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77576 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo, and all of its copiesDouglas Gregor2009-07-291-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77489 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PointerUnion4.Douglas Gregor2009-07-291-0/+109
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77487 91177308-0d34-0410-b5e6-96231b3b80d8
* MSVC build fix. Patch by Olaf Krzikalla!Benjamin Kramer2009-07-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77450 91177308-0d34-0410-b5e6-96231b3b80d8
* Twines: Support numeric conversion directly (uitostr, etc).Daniel Dunbar2009-07-291-8/+45
| | | | | | | | | | | | | | | | - Provides static constructors for doing number to string conversions without using temporaries. - There are several ways to do this, I think given the Twine constraints this is the simplest one. - One FIXME for fast number -> hex conversion. - Added another comment on one last major bit of perf work Twines need, which is to make raw_svector_ostream more efficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77445 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the RHS length instead of the LHS length. They are both the same,Chris Lattner2009-07-261-1/+1
| | | | | | | | | | | | | | but this ends up compiling code like this: int foo(const StringRef &R) { return R == "food"; } to use a constant sized memcmp instead of a variable memcmp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77160 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, forgot XCore. Sorry XCore!Daniel Dunbar2009-07-261-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77125 91177308-0d34-0410-b5e6-96231b3b80d8
* Update for API change.Daniel Dunbar2009-07-261-5/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77124 91177308-0d34-0410-b5e6-96231b3b80d8
* Update Triple to use StringRef/Twine based APIs.Daniel Dunbar2009-07-261-14/+14
| | | | | | | - This is now shorter, simpler, safer, and more efficient, what a deal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77119 91177308-0d34-0410-b5e6-96231b3b80d8
* Add StringRef::{slice, split}, two convenient string operations which are simpleDaniel Dunbar2009-07-261-3/+38
| | | | | | | and efficient on a StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77117 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missing ilist_node.h #include to SparseBitVector, and add a very shortJeffrey Yasskin2009-07-251-0/+1
| | | | | | | | test for it. The test is by no means complete, but it tests the problem I was fixing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77025 91177308-0d34-0410-b5e6-96231b3b80d8
* Move to raw_ostream.Daniel Dunbar2009-07-241-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76963 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix constructor typesDaniel Dunbar2009-07-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76958 91177308-0d34-0410-b5e6-96231b3b80d8