| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 93664
|
|
|
|
| |
llvm-svn: 93656
|
|
|
|
|
|
|
|
| |
Mangler::getMangledName is used from lto
Mangler::setUseQuotes is used in the AsmPrinter
Mangler::setSymbolsCanStartWithDigit is used in the AsmPrinter
llvm-svn: 93652
|
|
|
|
|
|
| |
Mangler that is now transitively dead. woo.
llvm-svn: 93648
|
|
|
|
| |
llvm-svn: 93641
|
|
|
|
|
|
|
| |
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.
llvm-svn: 93317
|
|
|
|
| |
llvm-svn: 93304
|
|
|
|
|
|
|
|
| |
and use them to avoid a copy of a string in getNameWithPrefix in
the common case. It seems like Value::setName and other places
should use this as well?
llvm-svn: 93301
|
|
|
|
|
|
|
|
| |
that I want to completely eliminate. Add fixme's so I remember this
in the future, and add the missing helper that they should be upgraded
to use instead.
llvm-svn: 93300
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of returning it in an std::string. Based on this change:
1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef
2. Change a bunch of targets to call makeNameProper with a smallstring,
making several of them *much* more efficient.
3. Rewrite Mangler::makeNameProper to not build names and then prepend
prefixes, not use temporary std::strings, and to avoid other crimes.
llvm-svn: 93298
|
|
|
|
| |
llvm-svn: 93296
|
|
|
|
| |
llvm-svn: 93295
|
|
|
|
| |
llvm-svn: 82454
|
|
|
|
|
|
|
|
|
| |
e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.
llvm-svn: 82227
|
|
|
|
|
|
| |
for systems that don't support quoting (PR4966).
llvm-svn: 81682
|
|
|
|
| |
llvm-svn: 81506
|
|
|
|
|
|
|
|
| |
(uniqued if unnamed) global variable name with the prefix that
it is supposed to get. It doesn't do "mangling" in the sense of
adding quotes and hacking on bad characters.
llvm-svn: 81505
|
|
|
|
| |
llvm-svn: 79289
|
|
|
|
|
|
|
| |
simplification.
- NFC
llvm-svn: 76789
|
|
|
|
| |
llvm-svn: 76456
|
|
|
|
|
|
|
|
|
| |
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.
This is plumbing, so we don't have a use of it yet. More to come, etc.
llvm-svn: 76385
|
|
|
|
|
|
| |
can do it perfectly well itself.
llvm-svn: 75743
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
additional bug fixes:
1. The bug that everyone hit was a problem in the asmprinter where it
would remove $stub but keep the L prefix on a name when emitting the
indirect symbol. This is easy to fix by keeping the name of the stub
and the name of the symbol in a StringMap instead of just keeping a
StringSet and trying to reconstruct it late.
2. There was a problem printing the personality function. The current
logic to print out the personality function from the DWARF information
is a bit of a cesspool right now that duplicates a bunch of other
logic in the asm printer. The short version of it is that it depends
on emitting both the L and _ prefix for symbols (at least on darwin)
and until I can untangle it, it is best to switch the mangler back to
emitting both prefixes.
llvm-svn: 75646
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unbreaking llvm-gcc (on Darwin).
--- Reverse-merging r75620 into '.':
U include/llvm/Support/Mangler.h
--- Reverse-merging r75610 into '.':
U test/CodeGen/X86/loop-hoist.ll
G include/llvm/Support/Mangler.h
U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
U lib/VMCore/Mangler.cpp
llvm-svn: 75636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"$non_lazy_ptr"
to symbols instead of doing it with "printSuffixedName". This gets us to the point
where there is a real separation between computing a symbol name and printing it,
something I need for MC printer stuff.
This patch also fixes a corner case bug where unnamed private globals wouldn't get
the private label prefix.
Next up, rename all uses of getValueName -> getMangledName for better greppability,
and then tackle the ppc/arm backends to eliminate "printSuffixedName".
llvm-svn: 75610
|
|
|
|
|
|
|
|
|
|
|
|
| |
indicates whether the label is private or not, instead of taking
prefix stuff. One effect of this is that symbols will be generated
with *just* the private prefix, instead of both the private prefix
*and* the user-label-prefix, but this doesn't matter as long as it
is consistent. For example we'll now get "Lfoo" instead of "L_foo".
These are just assembler temporary labels anyway, so they never even
make it into the .o file.
llvm-svn: 75607
|
|
|
|
| |
llvm-svn: 75564
|
|
|
|
|
|
|
|
|
|
| |
descriptive. Thange them to keep track of the ID of a global that is
assigned, not the first mangled name returned for it. Without doing this,
we are required to always use the same suffix for a global that gets
mangled. This means that we can mangle the same global once with $stub
and another time with $non_lazy_ptr or whatever.
llvm-svn: 75561
|
|
|
|
|
|
| |
local symbols and we haven't had type planes since llvm 1.9.
llvm-svn: 75558
|
|
|
|
|
|
| |
used with globals.
llvm-svn: 75557
|
|
|
|
|
|
| |
if present.
llvm-svn: 75547
|
|
|
|
|
|
|
|
|
|
|
| |
1) unique globals with the existing "Count" local in Mangler, not with
atomic nonsense. Using atomics will give us nondeterminstic output
from the compiler when using multiple threads, which is bad.
2) Do not mangle an unknown global name with a type suffix. We don't
need this anymore now that llvm ir doesn't have type planes.
llvm-svn: 75541
|
|
|
|
|
|
|
|
| |
all the targets
we care about are capable of supporting it.
llvm-svn: 73993
|
|
|
|
| |
llvm-svn: 73980
|
|
|
|
|
|
|
|
| |
that will be useful in
the near future.
llvm-svn: 73971
|
|
|
|
| |
llvm-svn: 73643
|
|
|
|
| |
llvm-svn: 71032
|
|
|
|
| |
llvm-svn: 62279
|
|
|
|
|
|
| |
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
llvm-svn: 62088
|
|
|
|
|
|
|
|
| |
std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up.
- Some code clean up.
llvm-svn: 53379
|
|
|
|
|
|
| |
makefile targets to find these better.
llvm-svn: 51143
|
|
|
|
| |
llvm-svn: 50695
|
|
|
|
|
|
| |
when they occur in the name, just like " is escaped.
llvm-svn: 47169
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 44544
|
|
|
|
| |
llvm-svn: 42071
|
|
|
|
|
|
| |
Patch by Sterling Stein!
llvm-svn: 41758
|
|
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
|
|
|
|
|
|
|
|
| |
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374
|
|
|
|
| |
llvm-svn: 30149
|