Chris Lattner
4e37f877b5
reapply r82348 with a fix, thanks Jeffrey.
...
llvm-svn: 82683
2009-09-24 05:38:36 +00:00
Jeffrey Yasskin
a75d6bf3a8
Roll back r82348, which introduced an infinite loop in ParseCStringVector() that
...
a trivial unittest would have caught. This revision also adds the trivial
unittest.
llvm-svn: 82675
2009-09-24 01:14:07 +00:00
Daniel Dunbar
78faee0664
Switch FoldingSet::AddString to StringRef based API.
...
- This also fixes a dereference of std::string::end, which makes MSVC unhappy and was causing all the static analyzer clang tests to fail.
llvm-svn: 82517
2009-09-22 03:34:53 +00:00
Daniel Dunbar
c827d9ee0e
Workaround what I believe is an MSVC bug where it emits a definition for a
...
static const class member into each translation unit, with external linkage???
- If someone understands this issue better, please clue me in, I haven't
consulted the standard yet.
llvm-svn: 82516
2009-09-22 03:34:40 +00:00
Chris Lattner
5a3a854205
simplify as daniel suggests
...
llvm-svn: 82415
2009-09-20 22:56:43 +00:00
Chris Lattner
78f908c877
tidy up
...
llvm-svn: 82384
2009-09-20 07:16:54 +00:00
Chris Lattner
56efff07f5
smallvectorize getExtraOptionNames
...
llvm-svn: 82377
2009-09-20 06:21:43 +00:00
Chris Lattner
131dca9c48
minor cleanups.
...
llvm-svn: 82375
2009-09-20 06:18:38 +00:00
Chris Lattner
00f53807c3
strength reduce further StringRef-> const char*, saving another 620 bytes.
...
llvm-svn: 82372
2009-09-20 05:53:47 +00:00
Chris Lattner
b1f2e101db
switch an std::string to StringRef, shaving 400 bytes off CommandLine.o
...
llvm-svn: 82370
2009-09-20 05:48:01 +00:00
Chris Lattner
6ec8caf003
the switch from std::map -> StringMap caused --help output to be in
...
non-sorted order, restore the sort.
llvm-svn: 82368
2009-09-20 05:37:24 +00:00
Chris Lattner
8d0309daa0
eliminate the duplicate detection loop, moving it into the loop that populates the Opts vector in the first place.
...
llvm-svn: 82367
2009-09-20 05:22:52 +00:00
Chris Lattner
64dbb5ca5a
Eliminate a masochistic "algorithm" loop, shrinking CommandLine.o from 71524->70700 bytes.
...
llvm-svn: 82366
2009-09-20 05:18:28 +00:00
Chris Lattner
28610b9878
don't use count + insert, just do insert + failure. Also, instead of deleting from
...
the middle of a vector, swap the last element in and pop_back. Also saves 330 bytes :)
llvm-svn: 82365
2009-09-20 05:15:12 +00:00
Chris Lattner
41f8b0b7a6
switch to SmallPtrSet instead of std::set, saving 1K from the
...
release-asserts .o file (72900->71856).
llvm-svn: 82364
2009-09-20 05:12:14 +00:00
Chris Lattner
f74e28abfa
change an std::sort to an array_pod_sort call, shrinking CommandLine.o by 9%.
...
llvm-svn: 82363
2009-09-20 05:06:23 +00:00
Chris Lattner
e7c1e210c7
Several changes together in a murky mess:
...
1. Change some "\n" -> '\n'.
2. eliminte some std::string's by using raw_ostream::indent.
3. move a bunch of code out of the main arg parser routine into
a new static HandlePrefixedOrGroupedOption function.
4. Greatly simplify the implementation of getOptionPred, and make
it avoid splitting prefix options at = when that doesn't match
a non-prefix option.
llvm-svn: 82362
2009-09-20 05:03:30 +00:00
Daniel Dunbar
ecbb126e34
Fix refacto, this code was expecting to stride past the argument prefix.
...
llvm-svn: 82360
2009-09-20 04:03:41 +00:00
Daniel Dunbar
7d6781b0fe
Tabs -> spaces, and remove trailing whitespace.
...
llvm-svn: 82355
2009-09-20 02:20:51 +00:00
Chris Lattner
5a3fa4ef33
convert argname to StringRef, simplifying LookupOption.
...
llvm-svn: 82352
2009-09-20 02:02:24 +00:00
Chris Lattner
0a40a975dd
convert 'Value' to StringRef which makes it easier to
...
maintain the "null is unspecified, empty is empty" semantics.
llvm-svn: 82351
2009-09-20 01:53:12 +00:00
Chris Lattner
40fef8032e
Change CommaSeparated processing to do it with StringRef instead of temporary std::strings.
...
This requires StringRef'izing ProvideOption which I also did.
llvm-svn: 82350
2009-09-20 01:49:31 +00:00
Chris Lattner
77c2724360
rewrite ParseCStringVector in terms of stringref.
...
llvm-svn: 82348
2009-09-20 01:33:46 +00:00
Chris Lattner
372a8ae403
move a couple non-trivial methods out of line, add new
...
find_first_of/find_first_of methods.
llvm-svn: 82347
2009-09-20 01:22:16 +00:00
Chris Lattner
1b88fbdaa3
coding style cleanup
...
llvm-svn: 82346
2009-09-20 01:11:23 +00:00
Chris Lattner
3b8adaf488
convert a bunch more stuff to use StringRef. The ArgName arguments are now
...
stringref because they may not be nul terminated. For options like -Lfoo
this now avoids a O(n) temporary std::strings where N is the length of
the string after -L.
llvm-svn: 82345
2009-09-20 00:40:49 +00:00
Chris Lattner
ca2552d9f9
avoid a bunch of malloc thrashing for PositinoalVals by eliminating
...
a std::vector and a bunch of std::string temporaries.
llvm-svn: 82341
2009-09-20 00:07:40 +00:00
Chris Lattner
fa9c6f43a0
Avoid some temporary strings.
...
llvm-svn: 82339
2009-09-19 23:59:02 +00:00
Chris Lattner
84c1527b6b
add some more overloads of StringRef::getAsInteger for
...
common and useful integer types.
llvm-svn: 82338
2009-09-19 23:58:48 +00:00
Chris Lattner
68ee70035e
provide a "strtoull" operation that works on StringRef's.
...
llvm-svn: 82322
2009-09-19 19:47:14 +00:00
Chris Lattner
aecd74d895
convert a bunch of std::strings to use StringRef. This should eliminate
...
a massive number of temporary strings created when parsing a command line.
More still left to eliminate.
llvm-svn: 82318
2009-09-19 18:55:05 +00:00
Benjamin Kramer
543d9b2fba
Try to speed up the slowest parts of the CommandLine library
...
- Replace std::map<std::string with StringMap
- Eliminate unnecessary std::string copies
- ~10% speed-up for clang's testsuite on my machine (debug build)
llvm-svn: 82312
2009-09-19 10:01:45 +00:00
Chris Lattner
ac6271e3f4
add a version of the APFloat constructor that initializes to 0.0
...
llvm-svn: 82110
2009-09-17 01:08:43 +00:00
Daniel Dunbar
4498168753
Add StringRef::{rfind, rsplit}
...
llvm-svn: 82087
2009-09-16 22:38:48 +00:00
Daniel Dunbar
316b4a0206
Drop the raw_ostream required buffer size to 1.
...
- As best I can tell, we have eliminated all the code which used to require a
larger buffer size.
llvm-svn: 81912
2009-09-15 20:31:46 +00:00
Ted Kremenek
c74e09f654
Update CMake files.
...
llvm-svn: 81577
2009-09-11 21:49:45 +00:00
Dan Gohman
e592923603
Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
...
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.
Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.
While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.
llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Chris Lattner
d747a9f21f
canonicalize namespace gymnastics
...
llvm-svn: 81402
2009-09-09 23:46:42 +00:00
Daniel Dunbar
aec990efd7
Add comment re: clang dependency.
...
llvm-svn: 81393
2009-09-09 23:01:25 +00:00
Sean Callanan
1358fb7feb
Added an abstract superclass, MCDisassembler, for
...
all disassemblers.
Modified the MemoryObject to support 64-bit address
spaces, regardless of the LLVM process's address
width.
Modified the Target class to allow extraction of a
MCDisassembler.
llvm-svn: 81392
2009-09-09 22:49:13 +00:00
Evan Cheng
49adbf42b1
Make sure the memory range is writable before memset'ing it.
...
llvm-svn: 81308
2009-09-09 01:45:24 +00:00
Daniel Dunbar
a8597a3749
Add Triple::getArchTypeForDarwinArchName, which converts a "Darwin" architecture
...
name (e.g. "ppc") to the appropriate constant.
Also, StringRefize additional Triple constructor.
llvm-svn: 81274
2009-09-08 23:32:51 +00:00
Daniel Dunbar
6119d878bb
Improve JIT error message for users crazy enough to use -march with JIT, and
...
mention -version in messages about missing targets.
llvm-svn: 81272
2009-09-08 23:32:35 +00:00
Daniel Dunbar
6e4ed8ca5f
Fix may-be-used-uninitialized warning.
...
llvm-svn: 81223
2009-09-08 16:14:54 +00:00
Duncan Sands
6c643bd25d
Avoid warnings if assertions are off.
...
llvm-svn: 81127
2009-09-06 19:28:38 +00:00
Duncan Sands
89720bbd11
Remove some not-really-used variables, as warned
...
about by icc (#593 , partial). Patch by Erick Tryzelaar.
llvm-svn: 81115
2009-09-06 12:41:19 +00:00
Benjamin Kramer
2b37efaf53
More MSVC warning fixes:
...
1. DUPMAX is defined in regcomp.c, no need to redefine it in regutils.
2. MSVC doesn't like snprintf, use _snprintf instead.
llvm-svn: 81114
2009-09-06 12:26:28 +00:00
Benjamin Kramer
0e098e9df7
Remove splint hints to silence warnings from ICC and MSVC.
...
llvm-svn: 81108
2009-09-06 09:29:39 +00:00
Duncan Sands
2fbeaf084f
Remove some unused variables and methods warned about by
...
icc (#177 , partial). Patch by Erick Tryzelaar.
llvm-svn: 81106
2009-09-06 08:33:48 +00:00
Daniel Dunbar
fc39586b4f
Show derived host triple in --version.
...
llvm-svn: 80855
2009-09-02 23:52:38 +00:00