• Home
  • History
  • Annotate
  • only in /external/llvm/lib/CodeGen/AsmPrinter/
History log of /external/llvm/lib/CodeGen/AsmPrinter/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fab2daa4a1127ecb217abe2b07c1769122b6fee1 08-Aug-2013 Stephen Hines <srhines@google.com> Merge commit '10251753b6897adcd22cc981c0cc42f348c109de' into merge-20130807

Conflicts:
lib/Archive/ArchiveReader.cpp
lib/Support/Unix/PathV2.inc

Change-Id: I29d8c1e321a4a380b6013f00bac6a8e4b593cc4e
10251753b6897adcd22cc981c0cc42f348c109de 07-Aug-2013 Eric Christopher <echristo@gmail.com> Using the integrated assembler we'd fail to change section to the
.tbss section for zerofill thread locals. Make sure we do this
before emitting the zerofills.

Fixes PR15972.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187913 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f76e118cf879a90145aebbdc39fdd7feb9bf3e51 07-Aug-2013 Eric Christopher <echristo@gmail.com> Remove some parens. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187872 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b7669139e6309679acbe16ca26f1b1a2fdd91268 07-Aug-2013 Eric Christopher <echristo@gmail.com> Add a way to grab a particular attribute out of a DIE.
Use it when we're looking for a string in particular. Update comments
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187844 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
028f3478a510ef0855abc891237882b3c6123671 07-Aug-2013 Eric Christopher <echristo@gmail.com> Move somewhat messy conditional out of line.
No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187843 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2e363350f5b3a5df6a92b5afe55ee2375e06740a 06-Aug-2013 NAKAMURA Takumi <geek4civic@gmail.com> AsmPrinter/CMakeLists.txt: Add explicit dependency to intrinsics_gen here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187778 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
4c5be13890f723d78a92d4c96006f9102c4580a0 06-Aug-2013 Eric Christopher <echristo@gmail.com> Recommit previous cleanup with a fix for c++98 ambiguity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187752 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
de5cb6b24925c8d3113f02e94d2c16cfed69c47d 06-Aug-2013 Eric Christopher <echristo@gmail.com> Revert "Use existing builtin hashing functions to make this routine more"

This reverts commit r187745.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187747 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c222f671099ae5cc354a22078eeb405b5e02a91b 06-Aug-2013 Eric Christopher <echristo@gmail.com> Use existing builtin hashing functions to make this routine more
simple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187745 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b30347e64e0bd2904a39cd72631b91900f46d601 05-Aug-2013 Eric Christopher <echristo@gmail.com> Change parent hashing algorithm to be non-recursive and elaborate
greatly on many comments in the code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187742 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fdabd9f391c1c32c8800d1a07b03604b4a00ef3b 02-Aug-2013 Carlo Kok <ck@remobjects.com> Bugfix for making the DWARF debug strings and labels to code emitted as secrel32 instead of long opcodes (only for coff). This makes them debuggable with GDB (with fix for 64bits msvc)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187656 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ee1d7db74b24f941dd0334f5ca3db7ab48f65ede 02-Aug-2013 NAKAMURA Takumi <geek4civic@gmail.com> Revert r187597, "Bugfix for making the DWARF debug strings and labels to code emitted as secrel32 instead of long opcodes (only for coff). This makes them debuggable with GDB."

It broke x86_64-win32 builder in llvm/test/DebugInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187642 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c8b93557da150e051c273701652a2db328708708 01-Aug-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Emit definitions for types with no members.

The absence of members was a poor/incorrect proxy for "is definition".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187607 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
5b25082ddb88a3fdedcd3841d5f397402fcd3be4 01-Aug-2013 Carlo Kok <ck@remobjects.com> Bugfix for making the DWARF debug strings and labels to code emitted as secrel32 instead of long opcodes (only for coff). This makes them debuggable with GDB.

fixes Bug 16249 - LLVM generates broken debug info on Windows

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187597 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86aa03d5f991959299821ba45d476e2c51427139 30-Jul-2013 Eric Christopher <echristo@gmail.com> Fix a truly egregious thinko in anonymous namespace check,
update testcase to make sure we generate debug info for walrus
by adding a non-trivial constructor and verify that we don't
emit an ODR signature for the type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187393 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
944aa2b784c727f5d4dca1a1a5347af8519ae6f2 30-Jul-2013 Eric Christopher <echristo@gmail.com> Make sure we don't emit an ODR hash for types with no name and make
sure the comments for each testcase are a bit easier to distinguish.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187392 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
be48204a7b80917aff0bc659c75571b28fed2f24 30-Jul-2013 Eric Christopher <echristo@gmail.com> Elaborate a bit on the type unit and ODR conditional code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187385 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1faea8f0869a173c5952b59fd17718cf42111416 27-Jul-2013 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: MD5 is always little endian, bswap on big endian platforms.

This makes LLVM emit the same signature regardless of host and target endianess.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187304 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
05497cc965b59dff8a8170c5cbbcef3dff251262 27-Jul-2013 Chandler Carruth <chandlerc@gmail.com> Fix a memory leak in the debug emission by simply not allocating memory.
There doesn't appear to be any reason to put this variable on the heap.
I'm suspicious of the LexicalScope above that we stuff in a map and then
delete afterward, but I'm just trying to get the valgrind bot clean.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187301 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0be31910e08bd70e35293d7f85c797071326c02c 26-Jul-2013 Eric Christopher <echristo@gmail.com> Remove addLetterToHash, no functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187245 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3dee575b8dfe9c3d89f581e51dd11ddd08c43cd6 26-Jul-2013 Eric Christopher <echristo@gmail.com> Add preliminary support for hashing DIEs and breaking them into
type units.

Initially this support is used in the computation of an ODR checker
for C++. For now we're attaching it to the DIE, but in the future
it will be attached to the type unit.

This also starts breaking out types into the separation for type
units, but without actually splitting the DIEs.

In preparation for hashing the DIEs this adds a DIEString type
that contains a StringRef with the string contained at the label.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187213 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
6e61e0ba086f7c01f0966f7def824102ecedaf09 24-Jul-2013 Eric Christopher <echristo@gmail.com> Reformat options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186994 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fa7399518817c456cdedc08475a8fc9bd1e6a900 22-Jul-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186851 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
c8cfaa1625a72aa3660a268dae753748cfed67d0 17-Jul-2013 Manman Ren <mren@apple.com> Add getModuleFlag(StringRef Key) to query a module flag given Key.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186470 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4172a8abbabea2359d91bb07101166565127d798 16-Jul-2013 Craig Topper <craig.topper@gmail.com> Add 'const' qualifiers to static const char* variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186371 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
4d138ba0438225630bcd1700b3d07e81c315acea 15-Jul-2013 Eric Christopher <echristo@gmail.com> Clarify comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186297 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
010dbfdf9357f7db9dd93af35d6454919f7988f9 14-Jul-2013 Eric Christopher <echristo@gmail.com> Collapse temporary variable into call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186295 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
6cf88c985023bf76d6160a68bc75489465ac15b0 11-Jul-2013 Hal Finkel <hfinkel@anl.gov> Initialize AsmPrinter::MF in the constructor

MF is normally initialized in AsmPrinter::SetupMachineFunction, but if the file
contains only globals (no functions), then we need this to be initialized
because, when encountering an error, lowerConstant() references it.

This should fix the non-deterministic failures of
test/CodeGen/X86/nonconst-static-iv.ll, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186068 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
61c91d5d7c3b40837e5512b53b15b3e3a65833fa 10-Jul-2013 Eric Christopher <echristo@gmail.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185984 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
b2754919ca52316755f5ce70f53db9966bee42b5 09-Jul-2013 Adrian Prantl <aprantl@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185971 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
3517640443f0b5224e2a6414c246ac60016ee9d4 09-Jul-2013 Adrian Prantl <aprantl@apple.com> Reapply an improved version of r180816/180817.

Change the informal convention of DBG_VALUE machine instructions so that
we can express a register-indirect address with an offset of 0.
The old convention was that a DBG_VALUE is a register-indirect value if
the offset (operand 1) is nonzero. The new convention is that a DBG_VALUE
is register-indirect if the first operand is a register and the second
operand is an immediate. For plain register values the combination reg,
reg is used. MachineInstrBuilder::BuildMI knows how to build the new
DBG_VALUES.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185966 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCompileUnit.cpp
warfDebug.cpp
cced21285126ec09ecb021e353b54d47073cddf1 08-Jul-2013 Eric Christopher <echristo@gmail.com> Update comment to avoid mentioning DbgValues which is an instance
variable later in the class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185866 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
d03d2b243a1c3b32a19ed4f387ac9d66febf8c2c 08-Jul-2013 Manman Ren <mren@apple.com> Debug Info: clean up usage of Verify.

No functionality change. It should suffice to check the type of a debug info
metadata, instead of calling Verify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185847 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
66f464ee266b31bb02058c49a5abe3a6b77f080b 08-Jul-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Correct comment & re-format a nearby loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185844 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5ce4091a68936b94c1f8858a101e61e65f71a23b 08-Jul-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Simplify Address Pool index handling.

Since the pool indexes are necessarily sequential and contiguous, just
insert things in the right place rather than having to sort the sequence
after the fact.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185842 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
113d32cea868bd1749b4cdc8d1e52d9dccb8b5a2 08-Jul-2013 Kai Nacke <kai.nacke@redstar.de> Revert: Emit personality function and Dwarf EH data for Win64 SEH.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185788 91177308-0d34-0410-b5e6-96231b3b80d8
in64Exception.cpp
28bb04453d82bd680e84cd2617ce94f633dc3249 06-Jul-2013 Kai Nacke <kai.nacke@redstar.de> Emit personality function and Dwarf EH data for Win64 SEH.

Obviously the personality function should be emitted as language handler
instead of the hard coded _GCC_specific_handler. The language specific
data must be placed after the unwind information therefore it must not
be emitted into a separate section.

Reviewed by Charles Davis and Nico Rieck.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185761 91177308-0d34-0410-b5e6-96231b3b80d8
in64Exception.cpp
b6566aee3037f2d6e6837a93e0f766972179ed74 05-Jul-2013 Benjamin Kramer <benny.kra@googlemail.com> Simplify code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185689 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
25746ddd66651bdad159444d0331b7df4dc22842 04-Jul-2013 Nico Rieck <nico.rieck@gmail.com> Initialize object file info before output streamer

r179494 switched to using the object file info to retrieve the default text
section for some MC streamers. It is possible that initializing an MC
streamer can request sections before the object file info is initialized
when the AutoInitSections flag is set on the streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185670 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7c2f3e8944717239b6031ebc778de4547e1449e2 04-Jul-2013 Eric Christopher <echristo@gmail.com> Hoist all of the Entry.getLoc() calls int a single variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185589 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0d0782ae9325033176d1a9fc0912217b5c580cb5 04-Jul-2013 Eric Christopher <echristo@gmail.com> Make DotDebugLocEntry a class, reorder the members along with comments
for them and update all uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185588 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4e976457eb2e777dcd515a7b82e62161552a2466 03-Jul-2013 Eric Christopher <echristo@gmail.com> Elaborate on comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185586 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3a1812d1fea48cac278afbc6bd5593e6bb07e2a4 03-Jul-2013 Eric Christopher <echristo@gmail.com> Add names to the header file since they help in documenting the API
(and for consistency).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185585 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
08ebdc73de5e3396bc17b928ad16af523837e660 03-Jul-2013 Eric Christopher <echristo@gmail.com> Move typedefs inside the class that they belong to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185573 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
52f5a65f847c9eb2a80f4de0e5f21e711c4a7af4 03-Jul-2013 Eric Christopher <echristo@gmail.com> Remove unused field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185523 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
6af85aec4a8fe01c6b534ef1120822fe792d1cb6 03-Jul-2013 Eric Christopher <echristo@gmail.com> Constify a few functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185520 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
01eb99af2f2196241801b12f8ad841a2db346472 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Introduce some typedefs for DenseMaps containing SmallVectors so the vector size doesn't have to repeated when creating iterators for the DenseMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185508 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9f43ac6cd3bfd10afb77614766b5c874cb5c6073 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Use SmallVectorImpl& instead of SmallVector& to avoid needlessly respecifying the small vector size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185505 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2d785dbace6986f09a110ccb5b5cd65932b6b732 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185504 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e717713547f1b1b61315cf1bed775ede3d231a4e 03-Jul-2013 Eric Christopher <echristo@gmail.com> Avoid doing a lot of computation when we have multiple ranges and
avoid adding information for the debug_inlined section when it isn't
going to be emitted anyhow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185500 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f53d643bd9f9e0d13214f78274fc021d6c03765d 03-Jul-2013 Eric Christopher <echristo@gmail.com> Move iterator to where it's used and update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185498 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c9c17a8e4f7d11061fef4e644ba870c2fb47118b 03-Jul-2013 Eric Christopher <echristo@gmail.com> Move instance variable before experimental section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185497 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
aa30a0cf9b646b533c60254bf8113fe5e163afd3 03-Jul-2013 Eric Christopher <echristo@gmail.com> Fix typo to make grep for DW_AT_comp_dir work without case-insensitive
grep.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185496 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
015343eb7ca02f8f31117889f46e0badc7eb9aba 03-Jul-2013 Eric Christopher <echristo@gmail.com> Remove unnecessary forward declare.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185495 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
da965defb86fdc9430d40c291e770a6219698de6 03-Jul-2013 Eric Christopher <echristo@gmail.com> Add a helpful comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185492 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e4721495b68d770a529b6e1c6cc33655db29c0e2 03-Jul-2013 Eric Christopher <echristo@gmail.com> addConstantValue, addConstantFPValue never returned anything but
true, so remove the return value and propagate accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185490 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
0e6783feed2f0f572a002bda38707fcd3267916d 03-Jul-2013 Manman Ren <mren@apple.com> Debug Info: use module flag to set up Dwarf version.

Correctly handles ref_addr depending on the Dwarf version. Emit Dwarf with
version from module flag.

TODO: turn on/off features depending on the Dwarf version.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185484 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
d3b98530c55ab695ab02426a804ee0ca09f890b6 02-Jul-2013 Eric Christopher <echristo@gmail.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185480 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
716a94f0c96d6bef575cd286bafb2cc507adc6b0 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [DebugInfo] Allow getDebugThreadLocalSymbol to return MCExpr

This allows getDebugThreadLocalSymbol to return a generic MCExpr
instead of just a MCSymbolRefExpr.

This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185460 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
18dbe5029f36a5a5d583295daa4ef6d6f5474c25 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [DebugInfo] Hold generic MCExpr in AddrPool

This changes the AddrPool infrastructure to enable it to hold
generic MCExpr expressions, not just MCSymbolRefExpr.

This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185459 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1f8aacd6afdc30b4d1cf1da3bf5e41c7874f89be 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [DebugInfo] Introduce DIEExpr variant of DIEValue to hold MCExpr values

This partially reverts r185202 and restores DIELabel to hold plain
MCSymbol references. Instead, we add a new subclass DIEExpr of
DIEValue that can hold generic MCExpr references.

This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185458 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
a3863ea2dacafc925a8272ebf9884fc64bef686c 02-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove address spaces from MC.

This is dead code since PIC16 was removed in 2010. The result was an odd mix,
where some parts would carefully pass it along and others would assert it was
zero (most of the object streamer for example).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
8fed05ec1ba90c688d71323fe8a1c3070adf58cf 02-Jul-2013 David Blaikie <dblaikie@gmail.com> PR14728: DebugInfo: TLS variables with -gsplit-dwarf

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185398 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
59eaa3874663f80ce111a4781b8f1db82995210c 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: PR14728: TLS support

Based on GCC's output for TLS variables (OP_constNu, x@dtpoff,
OP_lo_user), this implements debug info support for TLS in ELF. Verified
that this output is correct/sufficient on Linux (using gold - if you're
using binutils-ld, you'll need something with the fix for
http://sourceware.org/bugzilla/show_bug.cgi?id=15685 in it).

Support on non-ELF is sort of "arbitrary" at the moment - if Apple folks
want to discuss (or just go ahead & implement) how this should work in
MachO, etc, I'm open.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185203 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
95e72c90e4e2ee64e12d898f6495e796ebcadaf8 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Pass MCSymbolRefExprs for labels instead of MCSymbols

This is a precursor to adding debug info support for TLS which requires
non-default relocations applied to TLS symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185202 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
1ca79907ef144358f16bb8abea849e806ca31134 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Revise r185189 to avoid subtle 'unsigned += bool'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185190 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1c736322a25d3a6fe4623daab7052e8b9d297223 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Simplify the AddressPool representation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185189 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
321d83ba9e6e4e99700dcfb96fdcebe758e51905 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: constify the AddressPool MCSymbol pointers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185188 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
2560e242c87b205143ca5e0e87a216e06f51a434 25-Jun-2013 Manman Ren <mren@apple.com> Remove unused code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184866 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fdfc81f142b3870c757bb9f06e440e843cb3a57f 25-Jun-2013 Eric Christopher <echristo@gmail.com> 80-column and tab character fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184792 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
warfDebug.cpp
afbe0e266cc3bcb6dcb318166f4a2f998cefd9b1 24-Jun-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184788 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
f61dbc15750f0b1a9a089ac91e6f5e7235335c25 24-Jun-2013 Eric Christopher <echristo@gmail.com> Use const references instead of pointers to references that are
never modified. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184781 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
fe2e66a6dab6162fb10ed2d576cd122f34d2626f 23-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: PR14404: Avoid truncating 64 bit values into 32 bits for ULEB128/SLEB128 generation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184669 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
e88939cfebbc98133553c6fc03a52b8fb1adbb70 22-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Support (using GNU extensions) for template template parameters and parameter packs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184643 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
4532c280f540de22c83ca2525f1a9a7722b4d7e3 20-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: don't use location lists when the location covers the whole function anyway

Fix up three tests - one that was relying on abbreviation number,
another relying on a location list in this case (& testing raw asm,
changed that to use dwarfdump on the debug_info now that that's where
the location is), and another which was added in r184368 - exposing a
bug in that fix that is exposed when we emit the location inline rather
than through a location list. Fix that bug while I'm here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184387 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
0159ae4295720c5ce8fc770ddb5fed67e90b8d3a 19-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: PR14763/r183329 correct the location of indirect parameters

We had been papering over a problem with location info for non-trivial
types passed by value by emitting their type as references (this caused
the debugger to interpret the location information correctly, but broke
the type of the function). r183329 corrected the type information but
lead to the debugger interpreting the pointer parameter as the value -
the debug info describing the location needed an extra dereference.

Use a new flag in DIVariable to add the extra indirection (either by
promoting an existing DW_OP_reg (parameter passed in a register) to
DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
(parameter passed on the stack).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184368 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
0187e7a9ba5c50b4559e0c2e0afceb6d5cd32190 16-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs

Frame index handling is now target-agnostic, so delete the target hooks
for creation & asm printing of target-specific addressing in DBG_VALUEs
and any related functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184067 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6d9dbd5526e3161db884fc4fe99c278bb59ccc19 16-Jun-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions

Rather than using the full power of target-specific addressing modes in
DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This
reduces the complexity of debug info handling down to two
representations of values (reg+offset and frame index+offset) rather
than three or four.

Ideally we could ensure that frame indicies had been eliminated by the
time we reached an assembly or dwarf generation, but I haven't spent the
time to figure out where the FIs are leaking through into that & whether
there's a good place to convert them. Some FI+offset=>reg+offset
conversion is done (see PrologEpilogInserter, for example) which is
necessary for some SelectionDAG assumptions about registers, I believe,
but it might be possible to make this a more thorough conversion &
ensure there are no remaining FIs no matter how instruction selection
is performed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184066 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCompileUnit.cpp
warfDebug.cpp
f14b44c71b3a58c3aef8e277dd3817cb216b5661 15-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: print DBG_VALUE MachineInstrs with [] for deref and drop the offset when it's zero

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184045 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
702ff96ff3157e0761d206cca2dc0a4c3e7c13a9 15-Jun-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Don't print the display name and colon prefix for DEBUG_VALUE comments if the display name is empty

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184026 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1878f9a7874b1ff569d745c0269f49d3daf7203d 12-Jun-2013 Stephen Hines <srhines@google.com> Merge commit '100fbdd06be7590b23c4707a98cd605bdb519498' into merge_20130612
1d1862958cf644def478efed355f577855f3ba57 12-Jun-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183807 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
f0aefa858c1e3bc4585336846175869b5575bbdf 11-Jun-2013 Eric Christopher <echristo@gmail.com> Remove a few fixmes, the only work we're doing is getting the string
to return and this is done all over.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183704 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
0fbaa378737e94afba25e88363b2c4d6b7208995 11-Jun-2013 Eric Christopher <echristo@gmail.com> Fix up comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183703 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
175a7809c82ff7f97f962510576bc7bbd5708c1b 10-Jun-2013 Eric Christopher <echristo@gmail.com> Remove unused function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183698 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
d32d7a541ad874c8951d5348abe7d40d841db9c9 10-Jun-2013 Eric Christopher <echristo@gmail.com> IndentCount is only used within NDEBUG code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183695 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
fcca6c690cc86123f175582772cb1554cc7e8d81 07-Jun-2013 Quentin Colombet <qcolombet@apple.com> Teach AsmPrinter how to print odd constants.

Fix an assertion when the compiler encounters big constants whose bit width is
not a multiple of 64-bits.
Although clang would never generate something like this, the backend should be
able to handle any legal IR.

<rdar://problem/13363576>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183544 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
babfebb4e804dbce12c7133860609aa8a2da48fd 07-Jun-2013 David Blaikie <dblaikie@gmail.com> Fix break in r183446 - helps to increment the iterator in a loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183454 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b20fdff6fe3ec55c75362f6ce14c91b1c9b016c7 06-Jun-2013 David Blaikie <dblaikie@gmail.com> Debug Info: simplify parameter ordering preservation

Seems we emit the parameter ordering number (spuriously named 'arg
number') in the debug info, so there's no need to search through the
variable list to figure out the parameter ordering. This implementation
does 'always' do the work, even in non-optimized debug info (the
previous implementation checked the existence of the 'variables' list on
the subprogram which is only present in optimized builds).

No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183446 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
032d62487c888fe1ce500dfe9e22ae76efbe18e5 05-Jun-2013 David Blaikie <dblaikie@gmail.com> PR15662: Optimized debug info produces out of order function parameters

When a function is inlined we lazily construct the variables
representing the function's parameters. After that, we add any remaining
unused parameters.

If the function doesn't use all the parameters, or uses them out of
order, then the DWARF would produce them in that order, producing a
parameter order that doesn't match the source.

This fix causes us to always keep the arg variables at the start of the
variable list & in the original order from the source.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183297 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7c2b4be2a718b994298803dd09e81e49a016ffb2 01-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> Move getRealLinkageName to a common place and remove all the duplicates of it.

Also simplify code a bit while there. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183076 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
813419ed5a1712ec5b75f157c103e875400f5cc6 01-Jun-2013 Eric Christopher <echristo@gmail.com> Const-ify some printing and dumping code for DIEValues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183057 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
d2df98f3aad701512c6f14579a24672a49df1150 30-May-2013 Eric Christopher <echristo@gmail.com> Rename variable to be more descriptive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182903 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5592ba4775964ab5e15a4603249e6beadfa5ce7a 30-May-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182902 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
cc5a882c96af6e36bc029b7ff69f62f94e2d041d 29-May-2013 Bill Wendling <isanbard@gmail.com> Don't reach into the middle of TargetMachine and cache one of its ivars.
Not only does this break encapsulation, it's gross.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182876 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
742671bf8e422aadcf3b7697a8844b9eb6f566f2 29-May-2013 Manman Ren <mren@apple.com> LTO+Debug Info: revert r182791.

Since the testing case uses ref_addr, which requires version 3+ to work,
we will solve the dwarf version issue first.

This patch also causes failures in one of the bots. I will update the patch
accordingly in my next attempt.

rdar://13926659


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182867 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
9174fd77e5e299fa3b1357a85ad82173217270b7 28-May-2013 Manman Ren <mren@apple.com> LTO+Debug Info: correctly emit inlined_subroutine when the inlined callee is
from a different CU.

We used to print out an error message and fail to generate inlined_subroutine.

If we use ref_addr in the generated DWARF, the DWARF version should be 3 or
above.
rdar://13926659


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182791 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
3d33184d9da02fb699827249e0631106252f72fa 23-May-2013 David Blaikie <dblaikie@gmail.com> Solidify the assumption that a DW_TAG_subprogram's type is a DW_TAG_subroutine_type

There were bits & pieces of code lying around that may've given the
impression that debug info metadata supported the possibility that a
subprogram's type could be specified by a non-subroutine type describing
the return type of a void function. This support was incomplete &
unnecessary. Asserts & API have been changed to make the desired usage
more clear.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182532 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
01cb18ea08aeb76726750914b1283c633b5a2d74 21-May-2013 Manman Ren <mren@apple.com> Dwarf: use a single line table to generate assembly when .loc is used.

This is to fix PR15408 where an undefined symbol Lline_table_start1 is used.
Since we do not generate the debug_line section when .loc is used,
Lline_table_start1 is not emitted and we can't refer to it when calculating
at_stmt_list for a compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182344 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7b72cc7782716f469eb1b0963423a5b414215705 21-May-2013 David Blaikie <dblaikie@gmail.com> PR14606: Debug Info for namespace aliases/DW_TAG_imported_module

This resolves the last of the PR14606 failures in the GDB 7.5 test
suite by implementing an optional name field for
DW_TAG_imported_modules/DIImportedEntities and using that to implement
C++ namespace aliases (eg: "namespace X = Y;").

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182328 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4d7f2ce93860bb587412c0d5bb572e7bdf7eaa96 14-May-2013 Eric Christopher <echristo@gmail.com> Make getCompileUnit non-const and return the current DIE if it
happens to be a compile unit. Noticed on inspection and tested
via calling on a newly created compile unit. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181835 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
17a692e7f196c15118e69d7012d110aa00a362ba 14-May-2013 David Blaikie <dblaikie@gmail.com> Assert that DIEEntries are constructed with non-null DIEs

This just brings a crash a little further forward from DWARF emission to
DIE construction to make errors easier to diagnose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181748 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
4a971705bc6030dc2e4338b3cd5cffa2e0f88b7b 13-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove the MachineMove class.

It was just a less powerful and more confusing version of
MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
dwarf register numbers, calls to getDwarfRegNum are pushed out, which
should allow further simplifications.

I left the MachineModuleInfo::addFrameMove interface unchanged since
this patch was already fairly big.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181680 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
warfException.h
03406c4f15b3bf0522763fe848cd40f9598b74e8 11-May-2013 Benjamin Kramer <benny.kra@googlemail.com> StringRefize some debug accel table bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181663 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
warfDebug.cpp
d84ccfaf50c7843f31ffc74a8a8e33f779453d6e 11-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change getFrameMoves to return a const reference.

To add a frame now there is a dedicated addFrameMove which also takes
care of constructing the move itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181657 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
baf81af7591dedb2587bf8e439e07a97dbe454f9 11-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove more dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181656 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4de9d72883eebe4e86bffdaad89483dfe822e2a5 10-May-2013 David Blaikie <dblaikie@gmail.com> PR14492: Debug Info: Support for values of non-integer non-type template parameters.

This is only tested for global variables at the moment (& includes tests
for the unnamed parameter case, since apparently this entire function
was completely untested previously)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181632 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
c496875f0c205ffadcec8060e1170e1c58e4eb55 09-May-2013 Eric Christopher <echristo@gmail.com> Revert "Make sure debug info contains linkage names (DW_AT_MIPS_linkage_name)"
temporarily while investigating gdb.cp/templates.exp.

This reverts commit r181471.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181496 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
cc55d4528c9ff3a2e0b148fd311be8d912ad22f4 08-May-2013 Eric Christopher <echristo@gmail.com> Make sure debug info contains linkage names (DW_AT_MIPS_linkage_name)
for constructors and destructors since the original declaration given
by the AT_specification both won't and can't.

Patch by Yacine Belkadi, I've cleaned up the testcases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181471 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
aa76a93cd35abd922b66825bb4e3e0b6e14ccfd5 08-May-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Support DW_TAG_imported_declaration

This provides basic functionality for imported declarations. For
subprograms and types some amount of lazy construction is supported (so
the definition of a function can proceed the using declaration), but it
still doesn't handle declared-but-not-defined functions (since we don't
generally emit function declarations).

Variable support is really rudimentary at the moment - simply looking up
the existing definition with no support for out of order (declaration,
imported_module, then definition).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181392 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d1221e377d8e37e41539ed9f36b60b4cd48b6988 08-May-2013 David Blaikie <dblaikie@gmail.com> Finish renaming constructImportedModuleDIE to constructImportedEntityDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181391 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9c57ad2381488b7cde7e3eb459d2ce3e447e93b7 08-May-2013 Eric Christopher <echristo@gmail.com> Pass the MDNode in and do the insertion at compile unit creation time
instead of relying upon an extra call to finish initializing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181383 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
1db3d0820f8057dd03ade1585bfa5f2bf53cfe33 08-May-2013 Eric Christopher <echristo@gmail.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181378 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
20d9e41ddb3f531267680819b5cac4cac1c6b231 07-May-2013 David Blaikie <dblaikie@gmail.com> Rename DIImportedModule to DIImportedEntity and allow imported declarations

DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181364 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
498c91e341ff8cff835b053c25a76fe7c21b06a9 07-May-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Fix for break due to r181271

Apparently we didn't keep an association of Compile Unit metadata nodes
to DIEs so looking up that parental context failed & thus caused no
DW_TAG_imported_modules to be emitted at the CU scope. Fix this by
adding the mapping & sure up the test case to verify this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181339 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
664fbee9c888c7cd1e7ba7943e9cce96a104ea5e 07-May-2013 Timur Iskhodzhanov <timurrrr@google.com> Fix the VS2010 build broken by r181271

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181296 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9dbeb69a345d12b15571769cfacf1d5e1a7ce378 03-May-2013 Stephen Hines <srhines@google.com> Update LLVM for merge to r180947.

Change-Id: Ic9e7daa7ef3789298c49a7b308af92115f5d682d
ndroid.mk
d2e0f7ee15e3df5317f804d9355c2b714e30b5c9 07-May-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Support imported modules in lexical blocks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181271 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
30cb836a20259babf0cce7bd898bc70e4a8f5454 06-May-2013 Eric Christopher <echristo@gmail.com> Remove unnecessary instance variable and rework logic accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181227 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
3bf2bcd96ce03a83967d9f256d23455e0e2ccefd 06-May-2013 Eric Christopher <echristo@gmail.com> Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181226 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
38578c4919ea18ceb27e29988b2d857afe6215bf 03-May-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-20130502

Conflicts:
lib/Support/Unix/Signals.inc
unittests/Transforms/Utils/Cloning.cpp

Change-Id: I027581a4390ec3ce4cd8d33da8b5f4c0c7d372c8
f18a32eb128513239b516cd055baf9415d05f24f 02-May-2013 Bill Wendling <isanbard@gmail.com> Revert r180737. The companion patch was reverted, and this is not relevant right now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180889 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86a87d9ba1faf153e0e6eaddfd3e95595c83bcb1 01-May-2013 Adrian Prantl <aprantl@apple.com> Temporarily revert "Change the informal convention of DBG_VALUE so that we can express a"
because it breaks some buildbots.

This reverts commit 180816.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180819 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
a2b56692c8b824b8cc4a0927bb555f3718e9bee8 01-May-2013 Adrian Prantl <aprantl@apple.com> Change the informal convention of DBG_VALUE so that we can express a
register-indirect address with an offset of 0.
It used to be that a DBG_VALUE is a register-indirect value if the offset
(operand 1) is nonzero. The new convention is that a DBG_VALUE is
register-indirect if the first operand is a register and the second
operand is an immediate. For plain registers use the combination reg, reg.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180816 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
fa2eac54e690928592a2bd6c1f8ee0f9b1923d5e 30-Apr-2013 Bill Wendling <isanbard@gmail.com> Emit the TLS initialization function pointers into the correct section.

The `llvm.tls_init_funcs' (created by the front-end) holds pointers to the TLS
initialization functions. These need to be placed into the correct section so
that they are run before `main()'.

<rdar://problem/13733006>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180737 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
00297bad0d7458b5bcdfce3d3301957b0539b070 27-Apr-2013 Eric Christopher <echristo@gmail.com> Use the target triple from the target machine rather than the module
to determine whether or not we're on a darwin platform for debug code
emitting.

Solves the problem of a module with no triple on the command line
and no triple in the module using non-gdb ok features on darwin. Fix
up the member-pointers test to check the correct things for cross
platform (DW_FORM_flag is a good prefix).

Unfortunately no testcase because I have no ideas how to test something
without a triple and without a triple in the module yet check
precisely on two platforms. Ideas welcome.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180660 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
13131e62fc9a523b3cc8ad98cc9def97ff89391a 26-Apr-2013 Adrian Prantl <aprantl@apple.com> Cleanup and document MachineLocation.
Clarify documentation and API to make the difference between register and
register-indirect addressed locations more explicit. Put in a comment
to point out that with the current implementation we cannot specify
a register-indirect location with offset 0 (a breg 0 in DWARF).
No functionality change intended.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180641 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
13367123a8682de6db3feee6c9b9a7cc19e4ae9c 24-Apr-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180186 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9a0e12a6ed7db1bf49e4676932427e91ae4eb9be 23-Apr-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Remove unused DwarfSectionOffsetDirective string

The value isn't actually used, and setting it emits a COFF specific
directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180064 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
cde25b435a907e7741da0c0d18953850936277c4 22-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Clarify that llvm.used can contain aliases.

Also add a check for llvm.used in the verifier and simplify clients now that
they can assume they have a ConstantArray.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180019 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1b0cd2f2a69c2ee6dd82e5445728f1b93aef4f47 22-Apr-2013 Eric Christopher <echristo@gmail.com> Tidy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180000 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6c3bb94445305f8ee0be6d3c9457a411bf22b3eb 22-Apr-2013 Eric Christopher <echristo@gmail.com> Update comment. Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179999 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
c462db6d66e683fb837c03d661483106a869a407 22-Apr-2013 David Blaikie <dblaikie@gmail.com> Revert "Revert "PR14606: debug info imported_module support""

This reverts commit r179840 with a fix to test/DebugInfo/two-cus-from-same-file.ll

I'm not sure why that test only failed on ARM & MIPS and not X86 Linux, even
though the debug info was clearly invalid on all of them, but this ought to fix
it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179996 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
41201ed06fa4fb246f5a7e9e2b62168814eca6ff 19-Apr-2013 Eric Christopher <echristo@gmail.com> Revert "PR14606: debug info imported_module support"

This reverts commit r179836 as it seems to have caused test failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179840 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
bcb81360a26cba066fae3acbe25b8ac161af6881 19-Apr-2013 David Blaikie <dblaikie@gmail.com> PR14606: debug info imported_module support

Adding another CU-wide list, in this case of imported_modules (since they
should be relatively rare, it seemed better to add a list where each element
had a "context" value, rather than add a (usually empty) list to every scope).
This takes care of DW_TAG_imported_module, but to fully address PR14606 we'll
need to expand this to cover DW_TAG_imported_declaration too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179836 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
df39be6cb4eb44011db3d3e86f8fe463f81ce127 17-Apr-2013 Peter Collingbourne <peter@pcc.me.uk> Add support for subsections to the ELF assembler. Fixes PR8717.

Differential Revision: http://llvm-reviews.chandlerc.com/D598

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e0828ec6027e43724a7c5c76a3409344198dac71 09-Apr-2013 Eric Christopher <echristo@gmail.com> The .dwo section shouldn't contain the unrelocated values (and
therefore not at all) of the pc or statement list. We also don't
need to emit the compilation dir so save so space and time
and don't bother.

Fix up the testcase accordingly and verify that we don't emit
the attributes or the items that they use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179114 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9a9e73b47d139ecb6bfc3c934352ab7c7ee9af44 07-Apr-2013 Eric Christopher <echristo@gmail.com> DW_FORM_sec_offset should be a relocation on platforms that use
a relocation across sections. Do this for DW_AT_stmt list in the
skeleton CU and check the relocations in the debug_info section.

Add a FIXME for multiple CUs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178969 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
5044a9395a6f19c37989d877a7cbbe21dd84c5b7 06-Apr-2013 Manman Ren <mren@apple.com> Dwarf: use utostr on CUID to append to SmallString.

We used to do "SmallString += CUID", which is incorrect, since CUID will
be truncated to a char.

rdar://problem/13573833


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178941 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
624a93ee47fd05adbad4ea22b50c554ca23ac0ef 05-Apr-2013 Manman Ren <mren@apple.com> Debug Info: revert 178722 for now.

There is a difference for FORM_ref_addr between DWARF 2 and DWARF 3+.
Since Eric is against guarding DWARF 2 ref_addr with DarwinGDBCompat, we are
still in discussion on how to handle this.

The correct solution is to update our header to say version 4 instead of version
2 and update tool chains as well.

rdar://problem/13559431


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178806 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
2e892e4e27ecb6b1af757796841db5ff18df99a9 05-Apr-2013 Adrian Prantl <aprantl@apple.com> typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178804 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
e3d75ee2a1c8ea11fd01fc49055d08f2da7f5668 04-Apr-2013 Manman Ren <mren@apple.com> Debug Info: according to DWARF 2, FORM_ref_addr the same size as an address on
the target system.

It was hard-coded to 4 bytes before. I can't get llvm to generate a
ref_addr on a reasonably sized testing case.

rdar://problem/13559431


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178722 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
0c5cdc5c6e12aea4f68d267b4c279f0d01389c1a 03-Apr-2013 Eric Christopher <echristo@gmail.com> Fix grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178624 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
3dcb538661317926e90c7a21cec92c7d871f13b9 03-Apr-2013 Eric Christopher <echristo@gmail.com> Remove ZeroOrMore from the option description. We don't need it here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178623 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f7cef7081b2e09b48d47263e391db2390dddf5e8 30-Mar-2013 Eric Christopher <echristo@gmail.com> Use SmallVectorImpl instead of SmallVector at the uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178386 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
2df938ad713140c352b2d81b49490e337c018891 29-Mar-2013 Eric Christopher <echristo@gmail.com> Use 12 as the magic number for our abbreviation data and our
die values. A lot of DIEs have 10 attributes in C++ code (example
clang), none had more than 12. Seems like a good default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178366 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
c126c3232a7c6c2e2a2ec9477252f1372b14f728 29-Mar-2013 Eric Christopher <echristo@gmail.com> Move the construction of the skeleton compile unit after the
entire original compile unit has been constructed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178365 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6a19f7b9de706f6ce895580a8e55996f3f9162e7 25-Mar-2013 Duncan Sands <baldrick@free.fr> Teach cmake about the new Erlang GC files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177869 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
477de3a7859104d7c41a36628169e13e524e980a 25-Mar-2013 Yiannis Tsiouris <gtsiour@softlab.ntua.gr> Add a GC plugin for Erlang

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177867 91177308-0d34-0410-b5e6-96231b3b80d8
rlangGCPrinter.cpp
2d4629c5d7dcc6582fa7b85a517744f1a3654eba 19-Mar-2013 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge_2013_03_18
a12c674ee579685e982db008f546681a10cc49a6 18-Mar-2013 Hans Wennborg <hans@hanshq.net> Fix integer comparison in DIEInteger::BestForm.

The always-true "(int)Int == (signed)Int" comparison was found
while experimenting with a potential new Clang warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177290 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
4945246327db36405447bc67c14bf26aaeb120e4 13-Mar-2013 Stephen Hines <srhines@google.com> Fix ifdef-related differences from upstream LLVM.

Change-Id: I207500ca8b24afaa976077771cacb20d28a8a31a
smPrinter.cpp
smPrinterInlineAsm.cpp
4c6f895205993b2e724a6025a34d0601135e8b18 13-Mar-2013 Manman Ren <mren@apple.com> No functionality change. Use unreachable in getCUOffset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176963 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b1e052aa1b9e52d12831f86a1ee0fcf0c4030f1b 13-Mar-2013 Manman Ren <mren@apple.com> No functionality change. Use unreachable in getCompileUnit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176962 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
bc3e96f17bb278358cd3976f35b87591a392f5af 12-Mar-2013 Manman Ren <mren@apple.com> Debug Info: use DW_FORM_ref_addr instead of DW_FORM_ref4 if the referenced DIE
belongs to a different compile unit.

DW_FORM_ref_addr should be used for cross compile-unit reference.

When compiling a large application, we got a dwarfdump verification error where
abstract_origin points to nowhere.

This error can't be reproduced on any testing case in MultiSource.
We may have other cases where we use DW_FORM_ref4 unconditionally.

rdar://problem/13370501


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176882 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
c0ec8a4f4db3c579dfc8c219dc39014f34260b42 12-Mar-2013 David Blaikie <dblaikie@gmail.com> Remove support for versioned debug info.

Versioned debug info support has been a burden to maintain & also compromised
current debug info verification by causing test cases testing old debug info to
remain rather than being updated to the latest. It also makes it hard to add or
change the metadata schema by requiring various backwards-compatibility in the
DI* hierarchy.

So it's being removed in preparation for new changes to the schema to tidy up
old/unnecessary fields and add new fields needed for new debug info (well, new
to LLVM at least).

The more surprising part of this is the changes to DI*::Verify - this became
necessary due to the changes to AsmWriter. AsmWriter was relying on the version
test to decide which bits of metadata were actually debug info when printing
the comment annotations. Without the version information the tag numbers were
too common & it would print debug info on random metadata that happened to
start with an integer that matched a tag number. Instead this change makes the
Verify functions more precise (just adding "number of operands" checks - not
type checking those operands yet) & relies on that to decide which metadata is
debug info metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176838 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
3de61b4c0144748e4b9157e2c22fe4ea685981a2 07-Mar-2013 Manman Ren <mren@apple.com> Debug Info: store the files and directories for each compile unit.

We now emit a line table for each compile unit. To reduce the prologue size
of each line table, the files and directories used by each compile unit are
stored in std::map<unsigned, std::vector< > > instead of std::vector< >.

The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
compile unit causes a huge increase of debug info. With this patch, each
prologue will only emit the files required by the compile unit.

rdar://problem/13342023


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176605 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
5adb136be579e8fff3734461580cb34d1d2983b8 06-Mar-2013 Stephen Hines <srhines@google.com> Merge commit 'b3201c5cf1e183d840f7c99ff779d57f1549d8e5' into merge_20130226

Conflicts:
include/llvm/Support/ELF.h
lib/Support/DeltaAlgorithm.cpp

Change-Id: I24a4fbce62eb39d924efee3c687b55e1e17b30cd
a8ada25afdb74a1cc53c183348ad9a424501dc96 28-Feb-2013 Eric Christopher <echristo@gmail.com> Remove unnecessary check against isGlobalVariable. We check it
a few lines above.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176224 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
8d45a98eb14338428155be70681a42dccc03a5ce 28-Feb-2013 Eric Christopher <echristo@gmail.com> Rework comment slightly and fix a few typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176223 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
21a08a1189df7922de3a89432cf896ed681db5d5 28-Feb-2013 Manman Ren <mren@apple.com> Debug Info: for static member variables, always put AT_MIPS_linkage_name to the
definition DIE (TAG_variable), and put AT_MIPS_linkage_name to TAG_member when
DarwinGDBCompat is true.

Darwin GDB needs AT_MIPS_linkage_name at both places to work.

Follow-up patch to r176143.
rdar://problem/13291234


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176220 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
06df83c25a7b07b3a19a40bd680c0a205bcc0b9a 27-Feb-2013 Manman Ren <mren@apple.com> Debug Info: for static member variables, add AT_MIPS_linkage_name to the
definition DIE, to make old GDB happy.

We have a regression for old GDB when Clang uses DW_TAG_member to declare
static members inside a class, instead of DW_TAG_variable. This patch will fix
this regression.

rdar://problem/13291234


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176143 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
d61c840fcda18675c131bf86bb6d4498fcb6c272 26-Feb-2013 Manman Ren <mren@apple.com> Revert r176120 as it caused a failure at static-member.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176129 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
6fe26103d71263124e3cc56c0a349cb1391208a1 26-Feb-2013 Manman Ren <mren@apple.com> Debug Info: for static member variables, move AT_MIPS_linkage_name from
TAG_member inside a class to the specification DIE.

Having AT_MIPS_linkage_name on TAG_member caused old gdb (GNU 6.3.50) to
error out. Also gcc 4.7 has AT_MIPS_linkage_name on the specification DIE.

rdar://problem/13291234


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176120 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
3ce51a970fd545c1ef45f580c84b64d764fb9a64 23-Feb-2013 Eric Christopher <echristo@gmail.com> Use getSplitDebugFilename when constructing the skeleton cu and
update testcase accordingly to give the correct name to the cu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175934 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
74b3c8da4800c7e8ba8f019879db29738ecc5f74 15-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175264 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
c5ef7eee3c412b0f334e395b0cf7c363200c2f79 12-Feb-2013 Krzysztof Parzyszek <kparzysz@codeaurora.org> Allow optionally generating pubnames section in DWARF info. Introduce
option "generate-dwarf-pubnames" to control it, set to "false" by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174981 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
f64c889cc94417322b0ff8ad1c61939183bf3c38 11-Feb-2013 Bob Wilson <bob.wilson@apple.com> Revert "Rename LLVMContext diagnostic handler types and functions."

This reverts my commit 171047. Now that I've removed my misguided attempt to
support backend warnings, these diagnostics are only about inline assembly.
It would take quite a bit more work to generalize them properly, so I'm
just reverting this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174860 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
7dcb23a0522eb23c3a50f6c8249f10ccdf214993 09-Feb-2013 Jakub Staszak <kubastaszak@gmail.com> Remove unneeded "TargetMachine.h" #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174817 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
warfException.cpp
in64Exception.cpp
f2d89ff5c82c78f6160a9a8611c525771fdd2033 09-Feb-2013 Manman Ren <mren@apple.com> Dwarf: do not use line_table_start in at_stmt_list since we do not always emit
line table entries in assembly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174785 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7a0103c30d2f423c78527aeeeebc7915e3bc9ee9 07-Feb-2013 Eric Christopher <echristo@gmail.com> "Clean up" line section symbol emission by emitting the section
syms before constructing the compile units so we're not emitting
section references to sections not there already.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174663 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
01776a5a9480243f95fff50c96e3f35fad41e4cb 06-Feb-2013 Eric Christopher <echristo@gmail.com> Clean up multiple skeleton compile units if we have multiple compile
units coming in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174548 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
231b83d8fd3ce86fb5cd154d50dd3f920ca0d71f 06-Feb-2013 Eric Christopher <echristo@gmail.com> Remove some dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174547 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9c5861fdbd5e30df55cb7cd9a0edda8d92494100 06-Feb-2013 Manman Ren <mren@apple.com> Attempt to recover gdb bot after r174445.

Failure: undefined symbol 'Lline_table_start0'.
Root-cause: we use a symbol subtraction to calculate at_stmt_list, but
the line table entries are not dumped in the assembly.
Fix: use zero instead of a symbol subtraction for Compile Unit 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174479 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
43213cf1ac05b4198fcf9fa85d7da85477daafd1 05-Feb-2013 Manman Ren <mren@apple.com> Dwarf: support for LTO where a single object file can have multiple line tables

We generate one line table for each compilation unit in the object file.
Reviewed by Eric and Kevin.

rdar://problem/13067005


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174445 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
31fb5dafce280ddcc945e2136d11e5c69a3d3493 05-Feb-2013 Eric Christopher <echristo@gmail.com> Construct a skeleton cu for each compile unit in the module, not just
for the first compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174352 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
208cc6f48975320da1a71cf7f7eff497f4f43b75 05-Feb-2013 Eric Christopher <echristo@gmail.com> Add support for emitting a stub DW_AT_GNU_dwo_id as part of the
DWARF5 split dwarf proposal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174350 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
945e828003b746f6bbe86390940cf1433d18b0a1 02-Feb-2013 Manman Ren <mren@apple.com> [Dwarf] avoid emitting multiple AT_const_value for static memebers.

Testing case is reduced from MultiSource/BenchMarks/Prolangs-C++/deriv1.

rdar://problem/13071590


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174235 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
8b15d74434dfde5ea9227b985c2c934f62bf03a7 31-Jan-2013 Manman Ren <mren@apple.com> [Dwarf] early exit to avoid creating dangling DIEs

We used to create children DIEs for a scope, then check whether ScopeDIE is
null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can
link to those dangling DIEs, which are not emitted at all, causing dwarf error.

The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor.

rdar://problem/13071959


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174084 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
aaf2e639ecf2e5a1647e6d59ef53dc76da0a6102 29-Jan-2013 David Blaikie <dblaikie@gmail.com> Support artificial parameters in function types.

Provides the functionality for Clang change r172911 - I just had this still
lying around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173820 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
498703bcfb274f3911a1fdbfb818b526338249ad 28-Jan-2013 Eric Christopher <echristo@gmail.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173698 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
059800f9e3fee2852672f846d91a2da14da7783a 21-Jan-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-llvm

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCAssembler.cpp
lib/Support/Atomic.cpp
lib/Support/Memory.cpp
lib/Target/ARM/ARMJITInfo.cpp

Change-Id: Ib339baf88df5b04870c8df1bedcfe1f877ccab8d
14268416720155d63f190a6143ee40b3b850e409 20-Jan-2013 David Blaikie <dblaikie@gmail.com> The last of PR14471 - emission of constant floats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172941 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
0969ddf601c7cf9da2b01fe227005951c6af0cac 18-Jan-2013 Eric Christopher <echristo@gmail.com> Split out DW_OP_addr for the split debug info DWARF5 proposal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172857 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
446b88fb81e14f5fa6f98ca924c83edc856cade7 17-Jan-2013 Eric Christopher <echristo@gmail.com> Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this by
changing both the string of the dwo_name to be correct and the type of
the statement list.

Testcases all around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172699 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
d96c72a14cf327af98cbc7d3491f7a2248f5137d 17-Jan-2013 Eric Christopher <echristo@gmail.com> Add the DW_AT_GNU_addr_base for the skeleton cu. Add support for
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172698 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
6b6061f01171bd3d4e32022efa45428d4f9941ee 16-Jan-2013 Eric Christopher <echristo@gmail.com> Define metadata interfaces for describing a static data member
of a class. Emit static data member declarations and definitions
through correctly.

Part of PR14471.

Patch by Paul Robinson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172590 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
72f7bfbf0e02bb11d3e7cca1f9598c5f9d9fa2ca 16-Jan-2013 Eric Christopher <echristo@gmail.com> Split address information for DWARF5 split dwarf proposal. This involves
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.

Sneak in two other small changes:

a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.

Add tests for all of this in the fission-cu.ll test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172578 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
5f2801bd653f82927ddd7612cb149e78a8509ed4 11-Jan-2013 Tim Northover <Tim.Northover@arm.com> Simplify writing floating types to assembly.

This removes previous special cases for each floating-point type in favour of a
shared codepath.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172189 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1ced208be9cab0f994c5df9000da36bc313b2507 09-Jan-2013 Eric Christopher <echristo@gmail.com> Last in the series of removing unnecessary '0' arguments for
address space. Reordered the EmitULEB128IntValue arguments to
make this easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171949 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfAccelTable.cpp
warfDebug.cpp
camlGCPrinter.cpp
68ca56285f9b6e82eb16ff8ea02a301f2c489fae 09-Jan-2013 Eric Christopher <echristo@gmail.com> These functions have default arguments of 0 for the last arg. Use
them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171933 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
camlGCPrinter.cpp
ca1dd05c3c12e857614ae6837f90894396225dd6 09-Jan-2013 Eric Christopher <echristo@gmail.com> These functions have default arguments of 0 for the last arg. Use
them and add one where it seemed obvious that we wanted one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171932 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
b6714227eda5d499f7667fc865f931126a8dc488 08-Jan-2013 Eric Christopher <echristo@gmail.com> Move the string pools down into the units. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171905 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
90f011e0baa68ea02b80e8b913f7120537ce05aa 08-Jan-2013 Tim Northover <Tim.Northover@arm.com> Allow the asm printer to print fp128 values properly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171866 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9a1e0e252a7ede548acaac98cf304d4bb135fb97 08-Jan-2013 Eric Christopher <echristo@gmail.com> Remove the llvm-local DW_TAG_vector_type tag and add a test to
make sure that vector types do work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171833 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
ff34845f78ec5c20ccd8b5ec715d505eba9f66af 07-Jan-2013 Eric Christopher <echristo@gmail.com> Whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171803 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
3cc42205600b2d3865efd1585d79663c41e048f1 07-Jan-2013 Eric Christopher <echristo@gmail.com> Add more comments to what's going on here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171780 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
dd8e9f395e881972b320d947de88102a0be04b70 07-Jan-2013 Eric Christopher <echristo@gmail.com> Add support for separating strings for the split debug info DWARF5
proposal. This leaves the strings in the skeleton die as strp,
but in all dwo files they're accessed now via DW_FORM_GNU_str_index.

Add support for dumping these sections and modify the fission-cu.ll
testcase to have the correct strings and form. Fix a small bug
in the fixed form sizes routine that involved out of array accesses
for the table and add a FIXME in the extractFast routine to fix
this up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171779 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
62fdfb5fa7efdfd61339e4abe6fd87e60e939e58 07-Jan-2013 David Blaikie <dblaikie@gmail.com> PR14759: Debug info support for C++ member pointers.

This works fine with GDB for member variable pointers, but GDB's support for
member function pointers seems to be quite unrelated to
DW_TAG_ptr_to_member_type. (see GDB bug 14998 for details)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171698 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
00ece1b846536cb2ba4efefa6e6194c7030e4c63 05-Jan-2013 David Blaikie <dblaikie@gmail.com> Emit DW_TAG_formal_parameter for unnamed parameters.

This change essentially reverts r87069 which came without a test case. It
causes no regressions in the GDB 7.5 test suite & fixes 25 xfails (commit
to the test suite to follow). If anyone can present a test case that
demonstrates why this check is necessary I'd be happy to account for it in one
way or another.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171609 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
8cab6edf4fa46d9bd06ff3ce0e1dd4557be58b65 04-Jan-2013 Eric Christopher <echristo@gmail.com> Add a name for the anonymous type we're creating for subrange
types and a FIXME for what we should be doing. Should solve the
immediacy of PR12069 where our debug info is crashing another
tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171536 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinter.cpp
smPrinterDwarf.cpp
smPrinterInlineAsm.cpp
IE.cpp
warfCFIException.cpp
warfCompileUnit.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
in64Exception.cpp
98281a20503896349bd152e2dfe87435d3a6aada 30-Dec-2012 Nuno Lopes <nunoplopes@sapo.pt> convert a bunch of callers from DataLayout::getIndexedOffset() to GEP::accumulateConstantOffset().
The later API is nicer than the former, and is correct regarding wrap-around offsets (if anyone cares).
There are a few more places left with duplicated code, which I'll remove soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171259 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
64f824c9d181c8ee78cba5b00fa7be0e5a0900a5 27-Dec-2012 Eric Christopher <echristo@gmail.com> For the dwarf5 split debug info code split out the string section
per compile unit/skeleton compile unit. Update tests accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171133 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
04de315694d441de4dbdf52b3ff41b2fe6803646 25-Dec-2012 Bob Wilson <bob.wilson@apple.com> Rename LLVMContext diagnostic handler types and functions.

These are now generally used for all diagnostics from the backend, not just
for inline assembly, so this drops the "InlineAsm" from the names. No
functional change. (I've left aliases for the old names but only for long
enough to let me switch over clang to use the new ones.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171047 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
72c1655e0af6c87ffe687bed1f4ed263b1165c06 20-Dec-2012 Eric Christopher <echristo@gmail.com> Whitespace and 80-column cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170771 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
2e5d870b384f7cc20ba040e827d54fa473f60800 20-Dec-2012 Eric Christopher <echristo@gmail.com> Start splitting out the debug string section handling by moving it
into the DwarfUnits class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170770 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
6eebe47060eec7e3a4ae95d4b4835869108f9c07 19-Dec-2012 Eric Christopher <echristo@gmail.com> Split out abbreviations for the skeleton info from the rest of
the abbreviations. Part of implementing split dwarf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170589 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
034b94b17006f51722886b0f2283fb6fb19aca1f 19-Dec-2012 Bill Wendling <isanbard@gmail.com> Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.h
0641bd7399c8c3269779b0ba2de47d02524725ba 16-Dec-2012 Dmitri Gribenko <gribozavr@gmail.com> Declare class DwarfDebug before use instead of relying on a forward declaration
from some other unrelated header.

Patch by Kai.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170284 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
2c3a4641a7785da78839caf574277df9cd93b52c 16-Dec-2012 Reed Kotler <rkotler@mips.com> This patch is needed to make c++ exceptions work for mips16.

Mips16 is really a processor decoding mode (ala thumb 1) and in the same
program, mips16 and mips32 functions can exist and can call each other.

If a jal type instruction encounters an address with the lower bit set, then
the processor switches to mips16 mode (if it is not already in it). If the
lower bit is not set, then it switches to mips32 mode.

The linker knows which functions are mips16 and which are mips32.
When relocation is performed on code labels, this lower order bit is
set if the code label is a mips16 code label.

In general this works just fine, however when creating exception handling
tables and dwarf, there are cases where you don't want this lower order
bit added in.

This has been traditionally distinguished in gas assembly source by using a
different syntax for the label.

lab1: ; this will cause the lower order bit to be added
lab2=. ; this will not cause the lower order bit to be added

In some cases, it does not matter because in dwarf and debug tables
the difference of two labels is used and in that case the lower order
bits subtract each other out.

To fix this, I have added to mcstreamer the notion of a debuglabel.
The default is for label and debug label to be the same. So calling
EmitLabel and EmitDebugLabel produce the same result.

For various reasons, there is only one set of labels that needs to be
modified for the mips exceptions to work. These are the "$eh_func_beginXXX"
labels.

Mips overrides the debug label suffix from ":" to "=." .

This initial patch fixes exceptions. More changes most likely
will be needed to DwarfCFException to make all of this work
for actual debugging. These changes will be to emit debug labels in some
places where a simple label is emitted now.

Some historical discussion on this from gcc can be found at:
http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html
http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170279 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
b1e66d0c4fed6f162424fd5257cedf0d2e705152 15-Dec-2012 Eric Christopher <echristo@gmail.com> To simplify some code move the unit emission into the holders.
Make emitDIE public accordingly. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170258 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
cf6b8ad784c7e5e64beb9e26c43176eb38b1b68b 15-Dec-2012 Eric Christopher <echristo@gmail.com> Use begin and end label names from the section for info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170257 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
01bc2b39a4cbe76537e11411038bb834bceaf8a0 13-Dec-2012 David Blaikie <dblaikie@gmail.com> Debug Info: add support to mark member variables as artificial

This is the LLVM portion of r170154.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170156 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
44fedbad3a3f57aa27ae2b5ac82b21679bf7fe00 13-Dec-2012 Eric Christopher <echristo@gmail.com> Use default label name for a section in emitting abbreviation
section to help prep some code to be split about.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170088 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5399d2502acaf96fe8420e61913e77f0b23650ff 12-Dec-2012 Pedro Artigas <partigas@apple.com> Make the MCStreamer have a reset method and call that after finalization of the asm printer,
also changed MCContext to a single reset only method for simplicity as requested on the list



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170041 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0b944ee36f85ff0af849f35dfb59dced15dcde5a 11-Dec-2012 Eric Christopher <echristo@gmail.com> Update some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169907 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0e3e9b79f6e471b46438251249f18121408e5189 11-Dec-2012 Eric Christopher <echristo@gmail.com> Refactor out the abbreviation handling into a separate class that
controls each of the abbreviation sets (only a single one at the
moment) and computes offsets separately as well for each set
of DIEs.

No real function change, ordering of abbreviations for the skeleton
CU changed but only because we're computing in a separate order. Fix
the testcase not to care.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169793 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
07f6a4fde0a1b081fbefd986345c9b2f4f85e88a 10-Dec-2012 Lang Hames <lhames@gmail.com> Defer call to InitSections until after MCContext has been initialized. If
InitSections is called before the MCContext is initialized it could cause
duplicate temporary symbols to be emitted later (after context initialization
resets the temporary label counter).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169785 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
617d18385f7fc33082c91710676a01ed528555af 10-Dec-2012 Eric Christopher <echristo@gmail.com> Rearrange vars and make comments more obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169780 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
642630ef2baeeb84763bc30dbc2e8b154d54d200 10-Dec-2012 Eric Christopher <echristo@gmail.com> Remove blank line at top of file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169779 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4daaed1c7077deb185628a86252afdbbbaf5d3db 10-Dec-2012 Eric Christopher <echristo@gmail.com> Use the somewhat semantic term "split dwarf" it more matches what's
going on and makes a lot of the terminology in comments make more sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169758 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9ec87b3c86151d065b58a1f4f94c37034aae97da 10-Dec-2012 Eric Christopher <echristo@gmail.com> Delete the FissionCU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169757 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
28bd25a06ba3f3fa493fde97344e095b6987988c 10-Dec-2012 Eric Christopher <echristo@gmail.com> Reorder fission variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169756 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6afe478e005bf9f112b32b7ec25879475adc1915 06-Dec-2012 Bill Wendling <isanbard@gmail.com> s/getLowerBoundDefault/getDefaultLowerBound/ for consistency. Also put the more natural check first in the if-then statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169486 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
222c2fd60d0cbe676f3f316a4d62a75762a83c40 06-Dec-2012 Bill Wendling <isanbard@gmail.com> Handle non-default array bounds.

Some languages, e.g. Ada and Pascal, allow you to specify that the array bounds
are different from the default (1 in these cases). If we have a lower bound
that's non-default, then we emit the lower bound. We also calculate the correct
upper bound in those cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169484 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
836cfc46b38969acc2f74af099b51d0b567f498d 04-Dec-2012 David Blaikie <dblaikie@gmail.com> Comment change made in r169304 as requested by Eric Christopher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169315 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9493dae613847b01b79914502f337814fe3e00ac 04-Dec-2012 Bill Wendling <isanbard@gmail.com> Use the 'count' attribute to calculate the upper bound of an array.

The count attribute is more accurate with regards to the size of an array. It
also obviates the upper bound attribute in the subrange. We can also better
handle an unbound array by setting the count to -1 instead of the lower bound to
1 and upper bound to 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169312 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
b36c531653913cdea211a25d45350e8b5bfbd262 04-Dec-2012 David Blaikie <dblaikie@gmail.com> Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB

This reapplies the fix for PR13303 now with more justification. Based on my
execution of the GDB 7.5 test suite this results in:

expected passes: 16101 -> 20890 (+30%)
unexpected failures: 4826 -> 637 (-77%)

There are 23 checks that used to pass and now fail. They are all in
gdb.reverse. Investigating a few looks like they were accidentally passing
due to extra breakpoints being set by this bug. They're generally due to the
difference in end location between gcc and clang, the test suite is trying to
set breakpoints on the closing '}' that clang doesn't associate with any
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169304 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a1514e24cc24b050f53a12650e047799358833a1 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort includes for all of the .h files under the 'lib' tree. These were
missed in the first pass because the script didn't yet handle include
guards.

Note that the script is now able to handle all of these headers without
manual edits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169224 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
warfCompileUnit.h
warfDebug.h
a7645a3c66668da5e2bc772a8e5ab03dc301610c 04-Dec-2012 Bill Wendling <isanbard@gmail.com> Add a 'count' field to the DWARF subrange.

The count field is necessary because there isn't a difference between the 'lo'
and 'hi' attributes for a one-element array and a zero-element array. When the
count is '0', we know that this is a zero-element array. When it's >=1, then
it's a normal constant sized array. When it's -1, then the array is unbounded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169218 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
d4a05e0c2c871a0acbadfe572abbdb99158871bd 03-Dec-2012 Eli Bendersky <eliben@google.com> Fix PR12942: Allow two CUs to be generated from the same source file.

Thanks Eric for the review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169142 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinter.cpp
smPrinterDwarf.cpp
smPrinterInlineAsm.cpp
IE.cpp
warfAccelTable.cpp
warfCFIException.cpp
warfCompileUnit.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
in64Exception.cpp
98e237fc69236f89ec35d6b69b264241af1e8107 01-Dec-2012 Eric Christopher <echristo@gmail.com> Add some first skeleton work for the DWARF5 Fission proposal. Emit
part of the compile unit CU and start separating out information into
the various sections that will be pulled out later.

WIP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
5cf823cd82778e3193a18feffeee69b2beb92c68 29-Nov-2012 Eric Christopher <echristo@gmail.com> More comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168952 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
cbefa15de4821975bb99fc6d74b3bdb42b2df45c 28-Nov-2012 Stephen Hines <srhines@google.com> Remove TARGET_BUILD_VARIANT dependency from external/llvm.

Bug: 7172695
Change-Id: I73aedcbefd36360fc68ba428be39cbab86eeee71
ndroid.mk
smPrinter.cpp
b6dc8655e193fa92c6d9233ad5f53ec21d4348cf 27-Nov-2012 Eric Christopher <echristo@gmail.com> Attempt to make the comments for dwarf debug look more like
the coding standard would like.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168737 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4288502af9de9978283a83918301038a32512a66 27-Nov-2012 Eric Christopher <echristo@gmail.com> Reapply section moving, make sure string section is output last.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168736 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dba37a3c43b79be8a54d5e07ff390b621da5958d 27-Nov-2012 Ulrich Weigand <ulrich.weigand@de.ibm.com> Never use .lcomm on platforms where it does not accept an alignment
argument. Instead, use a pair of .local and .comm directives.

This avoids spurious differences between binaries built by the
integrated assembler vs. those built by the external assembler,
since the external assembler may impose alignment requirements
on .lcomm symbols where the integrated assembler does not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168704 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fcdbecbbaf110c6dff371655d6aaa8f58b2a22f3 27-Nov-2012 Eric Christopher <echristo@gmail.com> Revert rearrangement of debug info sections to unblock the bots
and O0 + debug codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168680 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4d265332341360a7cb5b15e2c2f0c675a7fed766 27-Nov-2012 Eric Christopher <echristo@gmail.com> Make comment names match function names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168644 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
74802f7e43dada1411dd456e998e7650c360e1cf 27-Nov-2012 Eric Christopher <echristo@gmail.com> Add in sections for the fission case (no change so incorrect) and
add a TODO for starting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168643 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8ba01175cce553091b7367c4edb758b32266cc15 27-Nov-2012 Eric Christopher <echristo@gmail.com> Reorder section output ordering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168638 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bdab800b02d8a3fca276d2df2119e036a023c9df 27-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168637 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4117bec41b955f4b6d22e600f4a04d968201701d 22-Nov-2012 Eric Christopher <echristo@gmail.com> Pull some code out into functions to make rearranging them a bit easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168481 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8b4310b8061d3d5ef26a4a313f53804a8ad02fc9 21-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168402 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
7ee5f5d61f18deda7412fdff4c2729c59a436b27 21-Nov-2012 Eric Christopher <echristo@gmail.com> Update for some of the coding standard before rearranging functions
around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168401 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
b8a101f39a05818138795c929d984ad5714f91dd 21-Nov-2012 Eric Christopher <echristo@gmail.com> Update some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168400 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
e6ad6acb1922f54d0eac34fe6b60bca601401e23 21-Nov-2012 Eric Christopher <echristo@gmail.com> Update and add some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168399 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
c82fbf4cb19223ce483a249f6940bcf5e7067193 21-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168398 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
7dc68db9f006959775b0689b31a36e4be4930126 21-Nov-2012 Eric Christopher <echristo@gmail.com> Remove constness from this, it modifies the output stream as does
everything else underneath.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168395 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fbd19750383cf6a74ac8bfbca09956a0d7945143 20-Nov-2012 Eric Christopher <echristo@gmail.com> Remove unused function argument, add a bit to the comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168387 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
aaa50b9bc5e8707015ff31dce0a3665600f6b440 20-Nov-2012 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168384 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
dcc675a4ac735fd6cec66eaf481458fccfd5e96c 20-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168383 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c4639d6ec2cf1e66d0bbc22db9ec530419b18784 19-Nov-2012 Eric Christopher <echristo@gmail.com> Remove a function argument and propagate const around accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168338 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0f1c7f6216c4dfdd4593bef077f7e1e082b624f9 19-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168337 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
239938ff77ef43c753881b030438f89a3dfc72c4 19-Nov-2012 Anton Korobeynikov <asl@math.spbu.ru> Make AsmPrinter::EmitTTypeReference() more robust - put
the zero GV check inside, so we won't forget it at the caller side.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168328 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinterDwarf.cpp
warfException.cpp
2386fc8daa682c7b6c2479cd9c9c3113581c41db 19-Nov-2012 Anton Korobeynikov <asl@math.spbu.ru> Factor out type info emission into separate routine.
It turned out that ARM wants different layout of type infos.
This is yet another patch in attempt to fix PR7187


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168325 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
warfException.cpp
warfException.h
97c3472bf915ce9124f682f6c8ce9e4baff7c284 19-Nov-2012 Eric Christopher <echristo@gmail.com> Move section label emission to module end. Nothing should be
depending on them being emitted before the text and/or data
sections and testing didn't uncover any.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168321 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
062a6c8380efc74233d05ec895def51b01aa2f8f 14-Nov-2012 Anton Korobeynikov <asl@math.spbu.ru> Fix really stupid ARM EHABI info generation bug: we should not emit
eh table and handler data if there are no landing pads in the function.
Patch by Logan Chien with some cleanups from me.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167945 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
25efd6d556718295a63d37f5294985746af354f6 14-Nov-2012 Anton Korobeynikov <asl@math.spbu.ru> Use TARGET2 relocation for TType references on ARM.
Do some cleanup of the code while here.

Inspired by patch by Logan Chien!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167904 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfException.cpp
242343d1ab0d6b10221569fd2c504842a561f0e7 14-Nov-2012 Eric Christopher <echristo@gmail.com> Revert "Use the 'count' attribute instead of the 'upper_bound' attribute."
temporarily as it is breaking the gdb bots.

This reverts commit r167806/e7ff4c14b157746b3e0228d2dce9f70712d1c126.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167886 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
e7ff4c14b157746b3e0228d2dce9f70712d1c126 13-Nov-2012 Bill Wendling <isanbard@gmail.com> Use the 'count' attribute instead of the 'upper_bound' attribute.

If we have a type 'int a[1]' and a type 'int b[0]', the generated DWARF is the
same for both of them because we use the 'upper_bound' attribute. Instead use
the 'count' attrbute, which gives the correct number of elements in the array.
<rdar://problem/12566646>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167806 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
f5b6dcd3929fe04c81aca1d69f69bbc530de148f 12-Nov-2012 Eric Christopher <echristo@gmail.com> Add an option to enable prototype "fission" capabilities and debug changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167765 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
168c190c581d21d50edefeedebe38400a12845e1 07-Nov-2012 Bill Wendling <isanbard@gmail.com> Add comment describing what's going on here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167525 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a4c769311877916cc73994d318d5e962228bf3cd 07-Nov-2012 Bill Wendling <isanbard@gmail.com> When we're updating the subprogram scope DIE, we want to determine if we're
updating an abstract DIE or not. If we are, then we use that. Its children will
be added on later, as well as the object pointer attribute. Otherwise, this
function may be called with a concrete DIE twice and adding the children and
object pointer attribute to it twice.
<rdar://problem/12401423&12600340>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167524 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
426c2bf5cdd2173e4a33aea8cb92cf684a724f4b 01-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Revert the majority of the next patch in the address space series:

r165941: Resubmit the changes to llvm core to update the functions to
support different pointer sizes on a per address space basis.

Despite this commit log, this change primarily changed stuff outside of
VMCore, and those changes do not carry any tests for correctness (or
even plausibility), and we have consistently found questionable or flat
out incorrect cases in these changes. Most of them are probably correct,
but we need to devise a system that makes it more clear when we have
handled the address space concerns correctly, and ideally each pass that
gets updated would receive an accompanying test case that exercises that
pass specificaly w.r.t. alternate address spaces.

However, from this commit, I have retained the new C API entry points.
Those were an orthogonal change that probably should have been split
apart, but they seem entirely good.

In several places the changes were very obvious cleanups with no actual
multiple address space code added; these I have not reverted when
I spotted them.

In a few other places there were merge conflicts due to a cleaner
solution being implemented later, often not using address spaces at all.
In those cases, I've preserved the new code which isn't address space
dependent.

This is part of my ongoing effort to clean out the partial address space
code which carries high risk and low test coverage, and not likely to be
finished before the 3.2 release looms closer. Duncan and I would both
like to see the above issues addressed before we return to these
changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167222 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
ece6c6bb6329748b92403c06ac87f45c43485911 01-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Revert the series of commits starting with r166578 which introduced the
getIntPtrType support for multiple address spaces via a pointer type,
and also introduced a crasher bug in the constant folder reported in
PR14233.

These commits also contained several problems that should really be
addressed before they are re-committed. I have avoided reverting various
cleanups to the DataLayout APIs that are reasonable to have moving
forward in order to reduce the amount of churn, and minimize the number
of commits that were reverted. I've also manually updated merge
conflicts and manually arranged for the getIntPtrType function to stay
in DataLayout and to be defined in a plausible way after this revert.

Thanks to Duncan for working through this exact strategy with me, and
Nick Lewycky for tracking down the really annoying crasher this
triggered. (Test case to follow in its own commit.)

After discussing with Duncan extensively, and based on a note from
Micah, I'm going to continue to back out some more of the more
problematic patches in this series in order to ensure we go into the
LLVM 3.2 branch with a reasonable story here. I'll send a note to
llvmdev explaining what's going on and why.

Summary of reverted revisions:

r166634: Fix a compiler warning with an unused variable.
r166607: Add some cleanup to the DataLayout changes requested by
Chandler.
r166596: Revert "Back out r166591, not sure why this made it through
since I cancelled the command. Bleh, sorry about this!
r166591: Delete a directory that wasn't supposed to be checked in yet.
r166578: Add in support for getIntPtrType to get the pointer type based
on the address space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167221 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b4c9d9c51fcb8a4cad2336b1ad9d225f504bbc4c 31-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> Replace some instances of UniqueVector with SetVector, which is slightly cheaper.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167116 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e0aae5b4f30ce283b7023daf3a41a6bd0e1e117e 30-Oct-2012 Bill Wendling <isanbard@gmail.com> Fix grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167029 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b52fb876171e3670e7307fda4459ca005d49d9f5 24-Oct-2012 Micah Villmow <villmow@gmail.com> Add some cleanup to the DataLayout changes requested by Chandler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166607 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aa76e9e2cf50af190de90bc778b7f7e42ef9ceff 24-Oct-2012 Micah Villmow <villmow@gmail.com> Add in support for getIntPtrType to get the pointer type based on the address space.
This checkin also adds in some tests that utilize these paths and updates some of the
clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166578 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2c39b15073db81d93bb629303915b7d7e5d088dc 15-Oct-2012 Micah Villmow <villmow@gmail.com> Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165941 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
fb384d61c78b60787ed65475d8403aee65023962 11-Oct-2012 Micah Villmow <villmow@gmail.com> Revert 165732 for further review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165747 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
f3840d2c16a4ec4c879a8ded402835746de380f8 11-Oct-2012 Micah Villmow <villmow@gmail.com> Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165726 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
2d65efed5357ff1768e0462feffc910809ed1b62 09-Oct-2012 Eric Christopher <echristo@gmail.com> Fix up comment to be more clear.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165463 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
c56e3f0cdde9b5e3f8222ece7b5968ae9961955e 08-Oct-2012 Eric Christopher <echristo@gmail.com> Fixup comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165427 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
02c1a64efe95e5fcdb0123d3f03a605801abbec4 08-Oct-2012 Eric Christopher <echristo@gmail.com> Fixup comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165426 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3574eca1b02600bac4e625297f4ecf745f4c4f32 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinter.cpp
smPrinterDwarf.cpp
IE.cpp
warfCFIException.cpp
warfCompileUnit.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
in64Exception.cpp
0313ced016f3777e806ca2e42a746d3162174c47 04-Oct-2012 Eric Christopher <echristo@gmail.com> Update this a bit more to represent how the prologue should work:

a) frame setup instructions define the prologue
b) we shouldn't change our location mid-stream

Add a test to make sure that the stack adjustment stays within
the prologue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165250 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
394820b8e159a39a9a07aac9722ad8738680037d 03-Oct-2012 Eric Christopher <echristo@apple.com> Revert "Don't use a debug location for frame setup instructions in the"

This reverts 165055 and 165052 temporarily while I look at debugger
failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165071 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
55c86c67ee7ac8596c439d41b93851e7ad024c43 02-Oct-2012 Eric Christopher <echristo@apple.com> 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165054 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9fd304672cec6cd31b1978408a0a0dc375f96969 02-Oct-2012 Eric Christopher <echristo@apple.com> Don't use a debug location for frame setup instructions in the
prologue. Also skip frame setup instructions when looking for the
first location.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165052 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e9525d862454674ce87a9da52b2d05915a142206 25-Sep-2012 Jim Grosbach <grosbach@apple.com> Mark jump tables in code sections with DataRegion directives.

Even out-of-line jump tables can be in the code section, so mark them
as data-regions for those targets which support the directives.

rdar://12362871&12362974

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164571 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7b451cf35613cd4dbed1cd2053464b28974571fc 22-Sep-2012 Eric Christopher <echristo@apple.com> Have the DbgVariable "isArtificial" and "isObjectPointer" not
care about it being an argument variable so that we can decide
that captured block and lambda vars that don't happen to
be arguments could be an argument pointer.

Add the object pointer for one case onto the subprogram die.

rdar://12001329

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164419 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d57ae39a885649cf4d86e50e11fd2c453eae78d5 21-Sep-2012 Eric Christopher <echristo@apple.com> Only emit DW_AT_object_pointer if this is a definition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164326 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
86a1c32e67b23c5e9e42dff9eb86e99ba15bb42f 15-Sep-2012 Craig Topper <craig.topper@gmail.com> Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163974 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
e521278f00cf5f4ea0cc4aac126df30924d3e705 13-Sep-2012 Eric Christopher <echristo@apple.com> Recommit, with fixes:

Add some support for dealing with an object pointer on arguments.

Part of rdar://9797999

which now supports adding the object pointer attribute to the
subprogram as it should.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163754 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
fd1cd572211aae8f73dc073c004b865054a34604 12-Sep-2012 Eric Christopher <echristo@apple.com> Revert "Add some support for dealing with an object pointer on arguments."
This should be done on the subprogram, not the variable itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163734 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
2c57a334d762275a0ba478b7c39f384992bcdf6a 12-Sep-2012 Eric Christopher <echristo@apple.com> Add some support for dealing with an object pointer on arguments.

Part of rdar://9797999

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163667 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
a7b159ccdd3531853dc49dd91cf8948ce382e1c1 11-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Split the parsing of IR asm strings into GCC and MS variants.
Add support in the EmitMSInlineAsmStr() function for handling integer consts.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163645 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
1c4ad5ef4fab105f0c8af7edd026e00502fb6279 11-Sep-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-2012_09_10

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/Support/DynamicLibrary.cpp
lib/Support/LockFileManager.cpp

Change-Id: I91e94c3a7a76e19c688307c5a480a640a3bd2b7e
09e475091921aef0f1f1253f774689d00da78bf4 11-Sep-2012 Eric Christopher <echristo@apple.com> Revert r160148 it seems to cause more problems than it should
right now. We'll fix PR13303 a different way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163570 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4984e01fd5d671db17fdbebcd84d618837ad13bf 11-Sep-2012 Eric Christopher <echristo@apple.com> 80-col fixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163569 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfCompileUnit.h
warfDebug.h
edf8bc8c88ba0edd5c502957dd11402dbd66f58d 11-Sep-2012 Eric Christopher <echristo@apple.com> 80-col fixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163568 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5c38de99f104daaf1624b28def2c8375a702466d 11-Sep-2012 Eric Christopher <echristo@apple.com> No reason to construct this twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163567 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
24f5fddbdff3d54d822555ae792a7f3bb22e342f 10-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Properly emit the asm directives when the AsmPrinterVariant
and InlineAsmVariant don't match.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163550 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
3b132fab0bebe7186348d7ab0e2663c9fddab3bb 10-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Pass the correct AsmVariant to the PrintAsmOperand() function
and update the printOperand() function accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163544 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
a9e37c5eaf79c3a32f2921536fb7e12514e86fb2 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix alignment of .comm and .lcomm on mingw32.

For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
use the same setting for both. Fix this by reintroducing the LCOMM enum.
I verified this against mingw's gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163420 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
26c5d5f0a93640008ccd01554b9c26e1e42dc892 07-Sep-2012 Chad Rosier <mcrosier@apple.com> Fix indent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163416 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
c53ade2889c85207e064e4c3d049383ffffb3319 07-Sep-2012 Chad Rosier <mcrosier@apple.com> Update function names to conform to guidelines. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163401 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
39646d96e76aea5d20bffb386233a0dbb5932a21 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> MC: Overhaul handling of .lcomm

- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163395 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
366df7945f0e65052d2e1df701ae1fd16b943642 06-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Use the asm dialect from the MI to set the parser dialect.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163273 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
ec90cc8b0fc4d1dfb641ca1a7853f1bb334a00bd 05-Sep-2012 Logan Chien <tzuhsiang.chien@gmail.com> Reorder the comments of EmitExceptionTable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163194 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.h
17dd9a992aa499d79ccfa8b477ed4a225d1e39b6 29-Aug-2012 Eric Christopher <echristo@apple.com> Clean this up slightly, doesn't really fall through.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162848 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
1144af3c9b4da48cd581156e05b24261c8de366a 25-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix integer undefined behavior due to signed left shift overflow in LLVM.
Reviewed offline by chandlerc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162623 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
31675153bd2d7617db8cb6aeb58054934c7b9f73 24-Aug-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge_2

Conflicts:
lib/Target/ARM/ARMCodeEmitter.cpp

Change-Id: I6702d340c733e9721499b5d85b13b96ad9c14eb5
873cf0a0d7906083578d9b793008348750636138 24-Aug-2012 Eric Christopher <echristo@apple.com> Use DW_FORM_flag_present to save space in debug information if we're
not in darwin gdb compat mode.

Fixes rdar://10975088

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162526 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
cbbd5b1d86e0d06c804f4cdd61e0676b2d2f5c85 24-Aug-2012 Eric Christopher <echristo@apple.com> Remove the DW_AT_MIPS_linkage name attribute when we don't need it
output (we're emitting a specification already and the information
isn't changing) and we're not in old gdb compat mode.

Saves 1% on the debug information for a build of llvm.

Fixes rdar://11043421

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162493 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
20f47ab7688ba1e5e4c6af4be47c2f07ee4e9ab6 24-Aug-2012 Eric Christopher <echristo@apple.com> Turn these two options in to trinary state so that they can be
turned on and off separate from the platform if you're on darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162487 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c1610fa3c43befd489cd41e358bfa48323594266 24-Aug-2012 Eric Christopher <echristo@apple.com> Add a flag to DwarfDebug to allow it to communicate whether or not
we're using the darwin old gdb compat mode for emitting dwarf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162486 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9d9f5a5855a711b1154e178e26f3766dc21d846a 23-Aug-2012 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162438 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9eb1a94c2020b4d6ba53962745eef19559b39a9f 23-Aug-2012 Eric Christopher <echristo@apple.com> Only emit the __debug_inlined section if we're trying to be compatible
with older gdbs on darwin.

rdar://10975874

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162436 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
360f0062bc83610e944123ee30eb057c325dfbf7 23-Aug-2012 Eric Christopher <echristo@apple.com> Emit pubtypes only when going for darwin gdb compatibility.

rdar://10393214

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162434 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
10cb744f194dc2a0ce0c3d52965aafb2b190068b 23-Aug-2012 Eric Christopher <echristo@apple.com> Add an option for darwin gdb compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162432 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
32811bef956e0fae4329e6515420d85f7e510660 17-Aug-2012 Bill Wendling <isanbard@gmail.com> Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
make it more consistent with its intended semantics.

The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.

The intended semantic is more like the `linkonce_odr' linkage type.

Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.

Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
443c9ed7688e66c55c43819a75be681574b291de 14-Aug-2012 Eric Christopher <echristo@apple.com> Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161851 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
c3f0e98f40f1382870c679b6aef1c5d01540637f 03-Aug-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate to LLVM-160668-20120724.

- Update Android.mk for removed files and new files.

- llvm-ld has been removed in upstream, so we remove it as well.

Change-Id: I613ada916156a43993d4bba9cae6dcb6bf40ed2f
smPrinter.cpp
7744acd1ab73b3eec6f1449f47083abe3fb1b527 03-Aug-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r160668 (Jul 24th 2012)

Conflicts:
include/llvm/Support/ELF.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Support/Memory.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp

Change-Id: Iddd658cf2eadc7165b2805b446d31af2c5c9917f
6635cad5480210d683aba7dc42627430b29fb0b4 01-Aug-2012 Eric Christopher <echristo@apple.com> Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causing
failures in the debug testsuite and possibly PR13486.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161121 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c23b933d5f8be9b51a1d22e717c0311f65f87dcd 28-Jul-2012 Eric Christopher <echristo@apple.com> Add a DW_AT_high_pc for CUs that are a single address range. Update
all tests accordingly.

Fixes PR13351.

Patch by shinichiro hamaji!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160899 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e288cd100f86631ec0ade2a85930397a4ea7b21e 21-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove unused private member variables uncovered by the recent changes to clang's -Wunused-private-field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160583 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
warfException.h
5cf55e1c6a22ae066db5066fdc69f99564ace8ea 13-Jul-2012 Eric Christopher <echristo@apple.com> The end of the prologue should be marked with is_stmt.
Fixes PR13303.

Patch by Paul Robinson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160148 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b67bd33e8e2f29c3d6adb10c4f3a02c79c61af08 06-Jul-2012 Alexey Samsonov <samsonov@google.com> Fix PR13202 and a regtest.
DwarfDebug class could generate the same (inlined) DIVariable twice:
1) when trying to find abstract debug variable for a concrete inlined instance.
2) when explicitly collecting info for variables that were optimized out.

This change makes sure that this duplication won't happen and makes
Clang pass "gdb.opt/inline-locals" test from gdb testsuite.

Reviewed by Eric Christopher.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159811 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
caba263c8e28474e3d6feb307af8fc4445645962 04-Jul-2012 Eric Christopher <echristo@apple.com> Reduce some code duplication.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159701 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
e2ec14090999a45583ed0f6e6f1a1effc510f4f3 29-Jun-2012 Alexey Samsonov <samsonov@google.com> Cleanup in DwarfDebug - fix a typo and remove two unused functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159433 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
16eeb6f5ebc978b03745177b9ac82684ab1c6932 29-Jun-2012 Bill Wendling <isanbard@gmail.com> The DIBuilder class is just a wrapper around debug info creation
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159414 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
0bcbd1df7a204e1e512f1a27066d725309de1b13 28-Jun-2012 Bill Wendling <isanbard@gmail.com> Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.

The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
9cfc799171171e0cc26f64a60ba36bef8e889556 22-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove another duplicated variable. We only need one to tell us if the linker
knows dwarf or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158993 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2241e51406f7bae369d6103cf3464e70f74c4af9 22-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix a FIXME: DwarfRequiresRelocationForSectionOffset is the same as
DwarfUsesRelocationsAcrossSections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158992 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ffccd923101ae177c1a2c407618d8f03a312d69b 22-Jun-2012 Nick Lewycky <nicholas@mxc.ca> Emit relocations for DW_AT_location entries on systems which need it. This is
a recommit of r127757. Fixes PR9493. Patch by Paul Robinson!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158957 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
4db98becf798a013ee00b82691af154e261d648e 21-Jun-2012 Jack Carter <jcarter@mips.com> The inline asm operand modifier 'n' is suppose
to be generic across architectures. It has the
following description in the gnu sources:

Negate the immediate constant

Several Architectures such as x86 have local implementations
of operand modifier 'n' which go beyond the above description
slightly. This won't affect them.

Affected files:

lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
Added 'n' to the switch cases.

test/CodeGen/Generic/asm-large-immediate.ll
Generic compiled test (x86 for me)

test/CodeGen/Mips/asm-large-immediate.ll
Mips compiled version of the generic one

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158939 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
d5e11ad51a3966c0b80ce2119946cd1aa3558aec 21-Jun-2012 Jack Carter <jcarter@mips.com> The inline asm operand modifier 'c' is suppose
to be generic across architectures. It has the
following description in the gnu sources:

Substitute immediate value without immediate syntax

Several Architectures such as x86 have local implementations
of operand modifier 'c' which go beyond the above description
slightly. To make use of the generic modifiers without overriding
local implementation one can make a call to the base class method
for AsmPrinter::PrintAsmOperand() in the locally derived method's
"default" case in the switch statement. That way if it is already
defined locally the generic version will never get called.

This change is needed when test/CodeGen/generic/asm-large-immediate.ll
failed on a native Mips board. The test was assuming a generic
implementation was in place.

Affected files:

lib/Target/Mips/MipsAsmPrinter.cpp:
Changed the default case to call the base method.
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
Added 'c' to the switch cases.
test/CodeGen/Mips/asm-large-immediate.ll
Mips compiled version of the generic one

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158925 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
f33a79c590934ee9973a3c91cbc7c435bd6aa115 09-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Allocate the contents of DwarfDebug's StringMaps in a single big BumpPtrAllocator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158265 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
396618b43a85e12d290a90b181c6af5d7c0c5f11 02-Jun-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Switch all register list clients to the new MC*Iterator interface.

No functional change intended.

Sorry for the churn. The iterator classes are supposed to help avoid
giant commits like this one in the future. The TableGen-produced
register lists are getting quite large, and it may be necessary to
change the table representation.

This makes it possible to do so without changing all clients (again).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
fc4199bf4add3422ce6470ca47bbe6bff2d70ea5 01-Jun-2012 Eric Christopher <echristo@apple.com> Add support for enum forward declarations.

Part of rdar://11570854

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157786 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
27302f07393d4db22e8ad06ac2ad4e7f01370b17 27-May-2012 Peter Collingbourne <peter@pcc.me.uk> Have getOrCreateSubprogramDIE store the DIE for a subprogram
definition in the map before calling itself to retrieve the
DIE for the declaration. Without this change, if this causes
getOrCreateSubprogramDIE to be recursively called on the definition,
it will create multiple DIEs for that definition. Fixes PR12831.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157541 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
bb0f6eac1f2d04e485607f0726c31a84ce9b8ced 23-May-2012 Eric Christopher <echristo@apple.com> Add support for C++11 enum classes in llvm.

Part of rdar://11496790

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157303 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
4d069bf8ec726570d668e59fda993a33dfb7cb0b 22-May-2012 Eric Christopher <echristo@apple.com> Untabify and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157274 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
4a5d839dfa07fd6a187581b00c1a09ece30d9a08 22-May-2012 Eric Christopher <echristo@apple.com> Formatting consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157273 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
3e96531186ba574b0c25a4be62d24b8b7d752c9f 18-May-2012 Jim Grosbach <grosbach@apple.com> Refactor data-in-code annotations.

Use a dedicated MachO load command to annotate data-in-code regions.
This is the same format the linker produces for final executable images,
allowing consistency of representation and use of introspection tools
for both object and executable files.

Data-in-code regions are annotated via ".data_region"/".end_data_region"
directive pairs, with an optional region type.

data_region_directive := ".data_region" { region_type }
region_type := "jt8" | "jt16" | "jt32" | "jta32"
end_data_region_directive := ".end_data_region"

The previous handling of ARM-style "$d.*" labels was broken and has
been removed. Specifically, it didn't handle ARM vs. Thumb mode when
marking the end of the section.

rdar://11459456

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157062 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
23da8a061fcadd20a2abe3afafdeed2d505acfb8 18-May-2012 Eric Christopher <echristo@apple.com> Remove duplicate code that we could just fallthrough to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157060 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a80f2d1f976a40ce627e18e3a80e52cb1f1aecb5 08-May-2012 Eric Christopher <echristo@apple.com> Fix thinko in conditional.

Part of rdar://11352000 and should bring the buildbots back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156421 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9318e484de290b46192e834eb8feca18e0ece153 08-May-2012 Akira Hatanaka <ahatanaka@mips.com> Formatting fixes.

Patch by Jack Carter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156409 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
501207676c78fefcfc9eeeaa1e3dbe9ea857d33f 08-May-2012 Eric Christopher <echristo@apple.com> Handle OpDeref in case it comes in as a register operand.

Part of rdar://11352000

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156405 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
cf5a1461acaace0f3e7d11fbbcfbf635b8c8ea9d 24-Apr-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r155090.

Conflicts:
lib/Support/Unix/PathV2.inc

Change-Id: I7b89833849f6cbcfa958a33a971d0f7754c9cb2c
e9722e1e8ba43bff2dc8ee3ae948e31f3fb0e370 17-Apr-2012 Eric Christopher <echristo@apple.com> Make comment here more clear.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154878 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
36c38b81f0938974c0b1b5fde0b838d51466a94f 13-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> Reduce malloc traffic in DwarfAccelTable

- Don't copy offsets into HashData, the underlying vector won't change once the table is finalized.
- Allocate HashData and HashDataContents in a BumpPtrAllocator.
- Allocate string map entries in the same allocator.
- Random cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154694 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
60b35f408bc3194e7ea4e96367c0b42dc5e7f850 05-Apr-2012 Eric Christopher <echristo@apple.com> Patch to set is_stmt a little better for prologue lines in a function.
This enables debuggers to see what are interesting lines for a
breakpoint rather than any line that starts a function.

rdar://9852092

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154120 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fa5b05013679fe04bac94084d411d2774608236f 03-Apr-2012 Eric Christopher <echristo@apple.com> Fix thinko check for number of operands to be the one that actually
might have more than 19 operands. Add a testcase to make sure I
never screw that up again.

Part of rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153961 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6126a1e1894f346fae02a514a20aa56b879aeb99 03-Apr-2012 Eric Christopher <echristo@apple.com> Add a line number for the scope of the function (starting at the first
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.

Part of rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153916 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
60777d8eaf338fd7fef2296f78d5e513bf0da011 02-Apr-2012 Eric Christopher <echristo@apple.com> Turn on the accelerator tables for Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153880 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b8ca98874316bfe8e46b27e7a034a8a764c92e08 29-Mar-2012 Eric Christopher <echristo@apple.com> Add support for objc property decls according to the page at:

http://llvm.org/docs/SourceLevelDebugging.html#objcproperty

including type and DECL. Expand the metadata needed accordingly.

rdar://11144023

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153639 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
663e0cf73dcf2bfbbfc22b49c739d54916652d1c 28-Mar-2012 Eric Christopher <echristo@apple.com> Fix the output of the DW_TAG_friend tag to include DW_AT_friend
and not the rest of the member tag.

Fixes PR11695

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153570 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
7f316597cfaf3e8cacf2626559b1aab310f4cb98 27-Mar-2012 Eric Christopher <echristo@apple.com> Use DW_AT_low_pc for a single entry point into a routine.

Fixes PR10105

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153524 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
082120053fdccb7eb21681c09365175f130df210 26-Mar-2012 Eric Christopher <echristo@apple.com> Use the file in the inlined die rather than the compile unit for
backtrace locations.

Testcase forthcoming, but I wanted to get some testing here.

Should fix:

PR12323
PR12314
rdar://11091100

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153471 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
be3f051c49699a86d526833d7dbe95645680a340 26-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> No need to do an expensive stable sort for a bunch of integers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153438 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
f1d0f7781e766df878bec4e7977fa3204374f394 26-Mar-2012 Craig Topper <craig.topper@gmail.com> Prune some includes and forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
c59a7995d22e2889706810c90a20a51ecfec278b 24-Mar-2012 Shih-wei Liao <sliao@google.com> Merge branch 'upstream' into sliao_d
7c0bc008f1b1f8185f879bd956ef0b5f361638cb 24-Mar-2012 Jim Grosbach <grosbach@apple.com> Pretty-printing comments for literal floating point in .s files.

Dump the hex representation to the comment stream as well as the float
value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153346 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aa206ffa6bf160f90d0d3aae5745ae4abf2d98fa 22-Mar-2012 Eric Christopher <echristo@apple.com> In erroneous inline assembly we could mistakenly try to access the
metadata operand as an actual operand, leading to an assert. Error
out in this case.

rdar://11007633

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153234 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
21e42d0ea55c31ac4d57578f5116fa606d5c87ee 20-Mar-2012 Bill Wendling <isanbard@gmail.com> It's possible to have a constant expression who's size is quite big (e.g.,
i128). In that case, we may not be able to print out the MCExpr as an
expression. For instance, we could have an MCExpr like this:

0xBEEF0000BEEF0000 | (0xBEEF0000BEEF0000 << 64)

The MCExpr printer handles sizes up to 64-bits, but this expression would
require 128-bits. In this situation, try to evaluate the constant expression and
emit that as the value into 64-bit chunks.
<rdar://problem/11070338>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153081 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2125d5a7e58eb21f34c2a21913d6f1074c63b5cd 16-Mar-2012 Eric Christopher <echristo@apple.com> For types with a parent of the compile unit make sure and emit
the DECL information.

rdar://10855921

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152876 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
8d101c31d293bcb8ece8fecdb3325cd0728bed08 15-Mar-2012 Eric Christopher <echristo@apple.com> Revert the removal of DW_AT_MIPS_linkage_name when we aren't putting
out the DW_AT_name. Older gdbs unfortunately still use it to
disambiguate member functions in templated classes (gdb.cp/templates.exp).

rdar://11043421 (which is now deferred for a bit)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152782 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
fc7e9ef23941e8a9ab3055e9f50ac4704b6d24a2 14-Mar-2012 Eric Christopher <echristo@apple.com> Remove the DW_AT_MIPS_linkage name attribute when we don't need it
output (we're emitting a specification already and the information
isn't changing).

Saves 1% on the debug information for a build of llvm.

Fixes rdar://11043421

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152697 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
74612c250bac1f62a2b74c85411cf7180cd8cd78 11-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152541 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8938895a8338e6084eb12a2bb4bf044928436173 07-Mar-2012 Eric Christopher <echristo@apple.com> Add the DW_AT_APPLE_runtime_class attribute to forward declarations
as well as completely defined classes.

This fixes rdar://10956070

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152171 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
c511c2827d9cebd16bc63041b5812f1fc5d57e06 06-Mar-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Hoist common code out of if statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152153 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c02a5c5e8d9c1fd2a20ad4aed40f328564e95b40 05-Mar-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-20120305

Conflicts:
lib/Support/Atomic.cpp

Change-Id: I563b3bc2a82942ccbae5bed42e53b9149a8bf3a0
9ebfbf8b9fd5f982e0db9293808bd32168615ba9 05-Mar-2012 Craig Topper <craig.topper@gmail.com> Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152016 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e4fd907e72a599eddfa7a81eac4366b5b82523e3 04-Mar-2012 Craig Topper <craig.topper@gmail.com> Use uint16_t to store register overlaps to reduce static data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b83e2bbfbc107a71632bd42f2be8186554b16e1f 02-Mar-2012 Eric Christopher <echristo@apple.com> Grammar-o in function name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151875 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
61cafd14491ff7d8183c1593edb7725e8732de38 02-Mar-2012 Eric Christopher <echristo@apple.com> Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151874 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
50e266135edb896e037c1a8f22a2fafac84eea86 02-Mar-2012 Eric Christopher <echristo@apple.com> If the linkage name doesn't exist we're supposed to emit a reference
to the string table for the function name, not the function name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151873 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7550f7dce65f96aa2e95c60b04d6c9650343a5df 02-Mar-2012 Eric Christopher <echristo@apple.com> Revert "Reorder the sections being output to reduce the number of assembler"

The inline table needs to be constructed ahead of time so that it doesn't try to
create new strings while we're emitting everything.

This reverts commit a8ff9bccb399183cdd5f1c3cec2bda763664b4b0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151864 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
12313a56ec1f17cb7636773b1a6448917835f838 01-Mar-2012 Eric Christopher <echristo@apple.com> Reorder the sections being output to reduce the number of assembler
fixups that are being used to determine section offsets. Reduces
the total number of fixups by 50% for a non-trivial testcase.

Part of rdar://10413936

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151852 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
647c0ce48cdbefc22c221ffeb892e73ccd155009 01-Mar-2012 Michael J. Spencer <bigcheesegs@gmail.com> Minimal changes for LLVM to compile under VS11.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151849 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2987cbcdaef9e14f635b6f9ac32c58ff26a2fc0f 29-Feb-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 8f698b54 to master

Change-Id: Ie502ec01a03b2f9a8e015a2b83139f56fd84b91e
369c4a40cd8c97e1e513ec8c6eaeee26e6adfc9b 19-Feb-2012 Daniel Malea <daniel.malea@intel.com> Build FileCheck and enable DWARF emission for target eng builds

- conditionally enable AsmPrinter Dwarf bits for eng builds
- build script for FileCheck

Change-Id: I68c5f9b2f28b36a779cf76e9161f740994c619f5
ndroid.mk
smPrinter.cpp
d55a2664f9493a4c3be242a75d339fac0ebe2e21 22-Feb-2012 Hal Finkel <hfinkel@anl.gov> Allow the use of an alternate symbol for calculating a function's size.

The standard function epilog includes a .size directive, but ppc64 uses
an alternate local symbol to tag the actual start of each function.

Until recently, binutils accepted the .size directive as:
.size test1, .Ltmp0-test1
however, using this directive with recent binutils will result in the error:
.size expression for XXX does not evaluate to a constant
so we must use the label which actually tags the start of the function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151200 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8b6fe6b651064da51bb9bc63ece8bf1f2a36d66a 22-Feb-2012 Eric Christopher <echristo@apple.com> Only add DW_AT_prototyped if we're working with a C-like language.
Worth another 45k (1%) off of a large C++ testcase.

rdar://10909458

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151144 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
438b092a4bba8d766316542ced10b7b028bad82c 22-Feb-2012 Eric Christopher <echristo@apple.com> Add the source language into the compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151143 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
e2dc9336d15ad3ca4f38d296d17f6682829b80b4 22-Feb-2012 Eric Christopher <echristo@apple.com> Remove extra semi-colon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151142 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
35f225aa2c04ca2420161cca812cb3eb611bde51 21-Feb-2012 Eric Christopher <echristo@apple.com> There's no need for a DW_AT_byte_size on a pointer type.

Part of rdar://10493979 where it reduces by about .5% (10k)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151097 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
057d521e3d91a894f6c38fcbc21ee5950fbdf7b1 15-Feb-2012 Bill Wendling <isanbard@gmail.com> Modify the code that emits the module flags to use the new module flags accessor
method. This allows the target lowering code to not have to deal with MDNodes.

Also, avoid leaking memory like a sieve by not creating a global variable for
the image info section, but just emitting the code directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150624 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b464d3ff72790260e8c2068afe856fd7299a6834 14-Feb-2012 Bill Wendling <isanbard@gmail.com> Add code to the target lowering object file module to handle module flags.

The MachO back-end needs to emit the garbage collection flags specified in the
module flags. This is a WIP, so the front-end hasn't been modified to emit these
flags just yet. Documentation and front-end switching to occur soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150507 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
30d409ca097e35c51964c9dac642804e5e495906 08-Feb-2012 Devang Patel <dpatel@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150012 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
6588abf377b7381274236e651462ec83052f6013 06-Feb-2012 Devang Patel <dpatel@apple.com> DebugInfo: Provide a new hook to encode relationship between a property and an ivar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149874 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
5e25ee8a1fcf8288d00d731b0f7ab7976f33b123 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149816 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
18c7f80b3e83ab584bd8572695a3cde8bafd9d3c 05-Feb-2012 Chris Lattner <sabre@nondot.org> reapply the patches reverted in r149470 that reenable ConstantDataArray,
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul. Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9e11eb1ddb2988d0a751fdcfe433bc816c83f1f2 04-Feb-2012 Devang Patel <dpatel@apple.com> Emit new property tag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149737 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
6c2cf8b1fbcf70fd9db6fe44032c1ceaa2299760 03-Feb-2012 Akira Hatanaka <ahatanaka@mips.com> Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary
for emitting jump tables which have entries with directive .gpdword. This patch
does not implement the parts needed for direct object emission or JIT.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149668 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
91766fe066efe6e0969ba805a2e3726a70ed34a3 01-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail.

These are:

r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1b2f643753a2974540934ac0f1e3ffd182b0571c 31-Jan-2012 Chris Lattner <sabre@nondot.org> with recent changes, ConstantArray is never a "string". Remove the associated
methods and constant fold the clients to false.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149362 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c63352f6336ab67cdba6d4702dc2bed5fdca1091 31-Jan-2012 Chris Lattner <sabre@nondot.org> don't emit a 1-byte object as a .fill. This is silly and causes
CodeGen/X86/global-sections.ll to fail with CDArray



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149343 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
beb05952ce27b4039c9d8bea929f154edeb19ca0 31-Jan-2012 Chandler Carruth <chandlerc@gmail.com> Chris's constant data sequence refactoring actually enabled printing
vectors of all one bits to be printed more cleverly in the AsmPrinter.
Unfortunately, the byte value for all one bits is the same with
-fsigned-char as the error return of '-1'. Force this to be the unsigned
byte value when returning it to avoid this problem, and update the test
case for the shiny new behavior.

Yay for building LLVM and Clang with -funsigned-char.

Chris, please review, and let me know if there is any reason to not
desire this change. It seems good on the surface, and certainly intended
based on the code written.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149299 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b66fb5acbe4bfde5264fdbbfe7f9f478ed94c68d 30-Jan-2012 Chris Lattner <sabre@nondot.org> when verbose asm is on, print integers in ConstantDataSequentials just
like normal integers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149223 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6e64c381daa30a63608bfa3443e67c39e6df2d64 30-Jan-2012 Chris Lattner <sabre@nondot.org> don't lose tail padding on ConstantDataAggregate vec3's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149222 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5b676ce7932cf60d4fd6d101323d8d54b8395804 26-Jan-2012 Chris Lattner <sabre@nondot.org> tidy up forward declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149078 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
34982576a43887e7f062ed0a3571af2cbab003f3 26-Jan-2012 James Molloy <james.molloy@arm.com> Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors.

This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149057 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4a99f59aef358fb93eac180e49f6dcef03822046 25-Jan-2012 Anton Korobeynikov <asl@math.spbu.ru> Properly emit ctors / dtors with priorities into desired sections
and let linker handle the rest.

This finally fixes PR5329



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148990 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0f193b8a6846dab25323788638e760ae03b7cd87 25-Jan-2012 Chris Lattner <sabre@nondot.org> Use the right method to get the # elements in a CDS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148897 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
53fa1ae51008d22ce5d2aa6fbf22c1afc4ec1401 24-Jan-2012 Evgeniy Stepanov <eugeni.stepanov@gmail.com> An option to selectively enable part of ARM EHABI support.

This change adds an new option --arm-enable-ehabi-descriptors that
enables emitting unwinding descriptors. This provides a mode with a
working backtrace() without the (currently broken) exception support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148800 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
e697b4f486770dd640a47f39e8f0155b6d679b2d 24-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Bit pack DIE structures better.

16 bits are sufficient to store attributes, tags and forms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148799 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
8a6983493595a896cfca8392a2676bf425349cee 24-Jan-2012 Eric Christopher <echristo@apple.com> Remove generation of DW_AT_sibling. Nothing as far as I can tell uses it.
Saves about 1.5% on debug info size.

rdar://10278198

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148794 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
9e631da253bff90d9da5ace21bd73f1c838e72eb 24-Jan-2012 Chris Lattner <sabre@nondot.org> Add AsmPrinter (aka MCLowering) support for ConstantDataSequential,
and clean up some other misc stuff. Unlike ConstantArray, we will
prefer to emit .fill directives for "String" arrays that all have
the same value, since they are denser than emitting a .ascii


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148793 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3eb4be0ace6263f35a2f3aae9e964a752ebe55af 24-Jan-2012 Chandler Carruth <chandlerc@gmail.com> Revert r148686 (and r148694, a fix to it) due to a serious layering
violation -- MC cannot depend on CodeGen.

Specifically, the MCTargetDesc component of each target is actually
a subcomponent of the MC library. As such, it cannot depend on the
target-independent code generator, because MC itself cannot depend on
the target-independent code generator. This change moved a flag from the
ARM MCTargetDesc file ARMMCAsmInfo.cpp to the CodeGen layer in
ARMException.cpp, leaving behind an 'extern' to refer back to it. That
layering order isn't viable givin the constraints outlined above.
Commandline flags are designed to be static specifically to avoid these
types of bugs.

Fixing this is likely going to require some non-trivial refactoring.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148759 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
4302a4965c4fffcecee23210dd1910d8d2c88259 23-Jan-2012 Bill Wendling <isanbard@gmail.com> Remove extraneous ';'s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148740 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
7908480e4caf2f7ecb0b62c900039d49e7d51ebb 23-Jan-2012 Evgeniy Stepanov <eugeni.stepanov@gmail.com> An option to selectively enable parts of ARM EHABI support.

This change adds an new value to the --arm-enable-ehabi option that
disables emitting unwinding descriptors. This mode gives a working
backtrace() without the (currently broken) exception support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148686 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
21506061ef031a01fce5cc1781f30780fbecb59b 17-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Add 148175 back. I am unable to reproduce any non determinism in a dragonegg
or clang bootstrap.

I will keep an eye on the bots.

Original message:
Only emit the Leh_func_endN symbol when needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148283 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
2dd674fdce68f8fd59d78a3bbab2cf5b8d220290 17-Jan-2012 David Blaikie <dblaikie@gmail.com> Removing unused default switch cases in switches over enums that already account for all enumeration values explicitly.

(This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148262 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
c464e998e6db00e72c65f9ae10e4a40bf34ceb83 14-Jan-2012 Duncan Sands <baldrick@free.fr> Speculatively revert commit 148175 (rafael), to see if this fixes
non-determinism in the 32 bit dragonegg buildbot. Original commit
message:
Only emit the Leh_func_endN symbol when needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148191 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
da223448043e860d1f997b6a72f35c9d4da7ea29 14-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Only emit the Leh_func_endN symbol when needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148175 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
54f7533e36b7dab074f78790c01b98ba69e0d02d 14-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove previous commit while I debug the bot failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148156 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
cf05d039614879e908e3c31196cef1a7f392495c 13-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove label that is not used anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148150 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
bf5b13d07ec942c865479448e1b9344fe0c9509f 13-Jan-2012 Bill Wendling <isanbard@gmail.com> Revert accidental commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148065 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86b1a7d61413aed40a68f98f1e8f17fd79ebd7a2 13-Jan-2012 Bill Wendling <isanbard@gmail.com> Fix the code that was WRONG.

The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148064 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e016789b7380b2a452f81ce15c2e382e62ede120 07-Jan-2012 Eric Christopher <echristo@apple.com> Add a comment and ensure that anyone else looking at this code doesn't start
to bleed from the eyes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147695 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
fa03db0d2d896a689ac58cb63ec9e1b10af72868 07-Jan-2012 Eric Christopher <echristo@apple.com> Use const vector references instead of a vector copy. Spotted by Devang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147694 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
547abbb40bc9d986446fa493b0caae5ed1f346f2 07-Jan-2012 Eric Christopher <echristo@apple.com> Use -> instead of (*iter).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147693 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
7eabae3f50d43af1b76f2bcc5ac6c47700d12b8b 06-Jan-2012 Eric Christopher <echristo@apple.com> Fix a leak I noticed while reviewing the accelerator table changes. Passes
lldb testsuite.

rdar://10652330

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147673 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
c36145f19c1e164f7d630b813e9970600d8f2976 06-Jan-2012 Eric Christopher <echristo@apple.com> As part of the ongoing work in finalizing the accelerator tables, extend
the debug type accelerator tables to contain the tag and a flag
stating whether or not a compound type is a complete type.

rdar://10652330

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147651 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
e3376ecd504300ae529c902135f51baffbdc2824 20-Dec-2011 Dan Gohman <gohman@apple.com> Add basic generic CodeGen support for half.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146927 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8f7d12ccfd8feb258bdf4e582592bc00beacc7c6 17-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Add back the MC bits of 126425. Original patch by Nathan Jeffords. I added the
asm parsing and testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146801 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
1a8e8869cafa16d94afcb6f73bc3e0f2f72f70f1 17-Dec-2011 Eric Christopher <echristo@apple.com> Resolve part of a fixme and add a new one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146784 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
44625f91c57638d178fcb464681ae5a293a1f100 17-Dec-2011 Eric Christopher <echristo@apple.com> Add a fixme here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146783 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
abbb200feb492cb1951d089eb8d9e596db38c38c 17-Dec-2011 Eric Christopher <echristo@apple.com> Extraneous whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146780 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a1e6e241a813f81be2d2f36ab60c950ca297574b 16-Dec-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream r146714 (Dec 16th 2011)

Change-Id: Ied458adb08bf9a69250cbcee9b14b44d17e8701a
798313d6c1f48634f0964d82c6b31364058a280f 14-Dec-2011 Nick Lewycky <nicholas@mxc.ca> DW_AT_virtuality is also defined to be constant, not flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146534 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
13aaca5edf538f967c16b8bdbfe293e2f9d75fc1 13-Dec-2011 Nick Lewycky <nicholas@mxc.ca> DW_AT_accessibility is "constant" class, not form class, so it may not use
DW_FORM_flag. Use DW_FORM_data1 for one byte.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146475 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
4ab406d7fc06b1272d02cd8be46f0c5ebe51a3da 12-Dec-2011 Daniel Dunbar <daniel@zuster.org> LLVMBuild: Remove trailing newline, which irked me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd 07-Dec-2011 Evan Cheng <evan.cheng@apple.com> Add bundle aware API for querying instruction properties and switch the code
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.

For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
f91abd22be9c98abcba50952cfcd39d5264417b6 07-Dec-2011 Eli Friedman <eli.friedman@gmail.com> Support vector bitcasts in the AsmPrinter. PR11495.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146001 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8c741b8064f1116d8d8dc435b60b75abdf5c4d57 06-Dec-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Use logarithmic units for basic block alignment.

This was actually a bit of a mess. TLI.setPrefLoopAlignment was clearly
documented as taking log2(bytes) units, but the x86 target would still
set a preferred loop alignment of '16'.

CodePlacementOpt passed this number on to the basic block, and
AsmPrinter interpreted it as bytes.

Now both MachineFunction and MachineBasicBlock use logarithmic
alignments.

Obviously, MachineConstantPool still measures alignments in bytes, so we
can emulate the thrill of using as.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145889 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
309bedd7bc37554cdb41c76737284150dc842a4a 04-Dec-2011 Eric Christopher <echristo@apple.com> Add inline subprogram names to the name lookup table since they may
not get there any other way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145789 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0cb2a45cceaefb48ec7efb902c453aaae4e24cb2 04-Dec-2011 Anton Korobeynikov <asl@math.spbu.ru> Emit the ctors in the proper order on ARM/EABI.
Maybe some targets should use this as well.

Patch by Evgeniy Stepanov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145781 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 02-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Move global variables in TargetMachine into new TargetOptions class. As an API
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.

One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d782bae970e888572f0458ac05369bbd7752f05a 29-Nov-2011 Daniel Dunbar <daniel@zuster.org> build/CMake: Finish removal of add_llvm_library_dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145420 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
1429059dc0129c1cec938c29d6fce89e14293241 25-Nov-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream r145126 (Nov 25th 2011)

Change-Id: I30d08ae004a4c3c74092ad2537ab30cce4280e1d
ce35d8b5a1071bb8ccf70bf8be3952dd0c4f2f15 18-Nov-2011 Devang Patel <dpatel@apple.com> DISubrange supports unsigned lower/upper array bounds, so let's not fake it in the end while emitting DWARF. If a FE needs to encode signed lower/upper array bounds then we need to extend DISubrange or ad DISignedSubrange.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144937 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
8368f74c434db60c36a4044dfe80d4abee49ce27 16-Nov-2011 Eric Christopher <echristo@apple.com> Stabilize the output of the dwarf accelerator tables. Fixes a comparison
failure during bootstrap with it turned on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144731 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
6c5b2dcd8385e2465f1b9f628d4368fa7c5a3c77 15-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> We currently use a callback to handle an IL pass deleting a BB that still
has a reference to it. Unfortunately, that doesn't work for codegen passes
since we don't get notified of MBB's being deleted (the original BB stays).

Use that fact to our advantage and after printing a function, check if
any of the IL BBs corresponds to a symbol that was not printed. This fixes
pr11202.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144674 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f9c1b92c27bf4ac40a52e0f1ef6d006d7e74bed3 15-Nov-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream r144606 (Nov 15th 2011)

Conflicts:
Makefile.rules
configure
docs/ReleaseNotes.html
lib/Analysis/ScalarEvolution.cpp
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/ExecutionDepsFix.cpp
lib/CodeGen/MachineBlockPlacement.cpp
lib/CodeGen/MachineBranchProbabilityInfo.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/ExecutionEngine/JIT/LLVMBuild.txt
lib/MC/LLVMBuild.txt
lib/MC/MCDisassembler/LLVMBuild.txt
lib/MC/MCDwarf.cpp
lib/Object/LLVMBuild.txt
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/ARM/ARMFastISel.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
lib/Target/ARM/Disassembler/LLVMBuild.txt
lib/Target/ARM/TargetInfo/LLVMBuild.txt
lib/Target/CBackend/TargetInfo/LLVMBuild.txt
lib/Target/CellSPU/MCTargetDesc/LLVMBuild.txt
lib/Target/CellSPU/TargetInfo/LLVMBuild.txt
lib/Target/CppBackend/TargetInfo/LLVMBuild.txt
lib/Target/LLVMBuild.txt
lib/Target/MBlaze/Disassembler/LLVMBuild.txt
lib/Target/MBlaze/TargetInfo/LLVMBuild.txt
lib/Target/MSP430/MCTargetDesc/LLVMBuild.txt
lib/Target/MSP430/TargetInfo/LLVMBuild.txt
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsMCInstLower.cpp
lib/Target/Mips/TargetInfo/LLVMBuild.txt
lib/Target/PTX/LLVMBuild.txt
lib/Target/PTX/PTXAsmPrinter.cpp
lib/Target/PTX/TargetInfo/LLVMBuild.txt
lib/Target/PowerPC/TargetInfo/LLVMBuild.txt
lib/Target/Sparc/TargetInfo/LLVMBuild.txt
lib/Target/X86/TargetInfo/LLVMBuild.txt
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrSSE.td
lib/Target/XCore/MCTargetDesc/LLVMBuild.txt
lib/Target/XCore/TargetInfo/LLVMBuild.txt
lib/Transforms/IPO/LLVMBuild.txt
lib/Transforms/Utils/LLVMBuild.txt
test/CodeGen/ARM/2011-10-26-memset-with-neon.ll
test/CodeGen/ARM/2011-11-07-PromoteVectorLoadStore.ll
test/CodeGen/ARM/fast-isel-cmp-imm.ll
test/CodeGen/ARM/fast-isel-ldrh-strh-arm.ll
test/CodeGen/CellSPU/call_indirect.ll
test/CodeGen/X86/avx2-logic.ll
test/CodeGen/X86/block-placement.ll
test/CodeGen/X86/sse-domains.ll
test/CodeGen/X86/sse3.ll
test/CodeGen/X86/vec_shuffle-39.ll
test/MC/ARM/neon-vld-encoding.s
test/MC/ARM/neon-vst-encoding.s
tools/llvm-config-2/llvm-config.cpp
utils/TableGen/LLVMBuild.txt

Change-Id: I70f454db6fc79d7799f56d0f6f2eb7b99561c504
f2a027ee44593147a4aee5566a13f682a1964773 11-Nov-2011 Stephen Hines <srhines@google.com> Update LLVM to svn 144354.

Change-Id: I1935ffce1c5d5eec52ad8b69bab9ee0c281aef16
ndroid.mk
4fffbb4e26c7ee764a853e54ba11aa57087b6ab1 11-Nov-2011 Eric Christopher <echristo@apple.com> If we have a DIE with an AT_specification use that instead of the normal
addr DIE when adding to the dwarf accelerator tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144354 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
e699247c88cc3321e6c92c7506c900ca90f1c17f 10-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Check in getOrCreateSubprogramDIE if a declaration exists and if so output
it first.

This is a more general fix to pr11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144324 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
a69e037083e51d56fee1ef0961ad71b441d6f5f1 10-Nov-2011 Eric Christopher <echristo@apple.com> Make types and namespaces take multiple DIEs for the accelerator tables
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144319 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
warfDebug.cpp
6dfcce76e9e12730c6b67d7a04eca32dd331711b 10-Nov-2011 Eric Christopher <echristo@apple.com> Move type handling to make sure we get all created types that aren't
forward decls and have names into the dwarf accelerator types table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144306 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
c63f8b0fdb11d1723f070de38a3d68de95981990 10-Nov-2011 Eric Christopher <echristo@apple.com> Rework adding function names to the dwarf accelerator tables, allow
multiple dies per function and support C++ basenames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144304 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfCompileUnit.h
warfDebug.cpp
8b990fb13ec620eca9c31d1f7d6e2109ac8c374b 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144194 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
48d9a37d968b5ce6c9eed249f5a3b95fa0bd2014 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Take advantage of the zero byte in StringMap when emitting dwarf stringpool entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144184 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d4807991d8782772c32e24cb6e17e8c2d1853531 09-Nov-2011 Devang Patel <dpatel@apple.com> Remove extra ';'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144172 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
4cbab6932e3badf961f31658e8b378450132665f 09-Nov-2011 Eric Christopher <echristo@apple.com> Remove the pubnames section, no one consumes it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144169 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
b213765260884e182eb3cf4867181c66a7eb4f83 08-Nov-2011 Eric Christopher <echristo@apple.com> Also add the linkage name to the name accelerator tables if it exists
and is different than the normal name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144130 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
c57daf29566e89d93a9d5e00314b947d9fc5b104 08-Nov-2011 Eric Christopher <echristo@apple.com> Add the base ObjC method name to the names lookup table as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144105 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
68e7c6959f1a3d0542e752b34f1a7816ccdd75bf 08-Nov-2011 Eric Christopher <echristo@apple.com> A few more places where we can avoid multiple size queries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144099 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
5cba0ca062c582fdc6462dbf3407cde17970c4e0 08-Nov-2011 Eric Christopher <echristo@apple.com> Don't evaluate Data.size() on every iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144095 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
8b2139f5e988cd975f74dec8238aa74541a7658d 07-Nov-2011 Eric Christopher <echristo@apple.com> Add all completed and named types to the dwarf type accelerator tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144027 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
69ff8cf1ab1470541fc43ecf083670ce95a773af 07-Nov-2011 Eric Christopher <echristo@apple.com> Move the hash function to using and taking a StringRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144024 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
26bab293425c448bb5c2b63838d123543d6fd0ec 07-Nov-2011 Eric Christopher <echristo@apple.com> Simple destructor to delete the hash data we created earlier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144023 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
80f3344904fb0678f06a2e69067421990d2e39df 07-Nov-2011 Eric Christopher <echristo@apple.com> Use StringRef::startswith to do some string comparisons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143982 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1f857842c5408e2ae4412123142132ef87edc6ce 07-Nov-2011 Eric Christopher <echristo@apple.com> Avoid the use of a local temporary for comment twines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143974 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
408c5673bbf5f504e2ef411738127d83d5e71de0 07-Nov-2011 Eric Christopher <echristo@apple.com> Allow for the case where the name of the subprogram is "".

Fixes a self-host error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143970 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0565071e15ddcb379568d87b3a2725aab501e476 07-Nov-2011 Eric Christopher <echristo@apple.com> Remove unnecessary addition to API. Replace with something much simpler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143925 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfDebug.cpp
warfDebug.h
74851494443271fd4935594e4632ef6f27a230a2 07-Nov-2011 Eric Christopher <echristo@apple.com> Add new files to cmake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143924 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
fcb83a41ff8645804794400d6a8c0d77ccc93042 07-Nov-2011 Eric Christopher <echristo@apple.com> Add the support code to enable the dwarf accelerator tables. Upcoming patches
to fix the types section (all types, not just global types), and testcases.

The code to do the final emission is disabled by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143923 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
3dec3fd0e97ff2eb6bb39cbcb0d89ad154aec604 07-Nov-2011 Eric Christopher <echristo@apple.com> Add a new dwarf accelerator table prototype with the goal of replacing
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.

A basic summary:

The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:

.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'

where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.

The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.

For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143921 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
51b8262989192fc12300402296602ac57f288faf 07-Nov-2011 Eric Christopher <echristo@apple.com> Expose a way to get the beginning of the dwarf string section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e56902effc5e67c0a1c53a712f8d67b55aa9ce97 07-Nov-2011 Eric Christopher <echristo@apple.com> Fix up comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143919 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b2d6f982de5813bb3b8ddd1001c27d090d8930eb 07-Nov-2011 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143918 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
916f8baa0d9d984e37c02c70d67f04992352568e 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 encoding from the DWARF asm printer.

As a side effect we now print dwarf ulebs with .ascii directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143809 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
4eb73c59bcd1055e9a3f324d836ce3898fbb7c81 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add more PRI.64 macros for MSVC and use them throughout the codebase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
5ad16989828cd342609b2035ec54e5c75b4e01f9 04-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Emit declarations before definitions if they are available. This causes DW_AT_specification to
point back in the file in the included testcase. Fixes PR11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143726 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
00ade8bab0045bde35b13d2489021b8642aeb0cc 03-Nov-2011 Daniel Dunbar <daniel@zuster.org> build: Add initial cut at LLVMBuild.txt files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
2443f9532abf55cb26e4c8e7c485df79e7855368 02-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
implied by directory index zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143570 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
93ce5f573eaaafeabfc41bf60e63fb215a9be288 28-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> Dwarf: [PR11022] Fix emitting DW_AT_const_value(>i64), to be host-endian-neutral.

Don't assume APInt::getRawData() would hold target-aware endianness nor host-compliant endianness. rawdata[0] holds most lower i64, even on big endian host.

FIXME: Add a testcase for big endian target.

FIXME: Ditto on CompileUnit::addConstantFPValue() ?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143194 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
a4f0ca4a19c91ec0a6a99538f55c3648f0f3eed6 28-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Always use the string pool, even when it makes the .o larger. This may help
tools that read the debug info in the .o files by making the DIE sizes more
consistent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143186 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
2be084a25b1f79f17520d824d0feb8c7854b5f31 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Teach our Dwarf emission to use the string pool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143097 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
2e5d3abd4e9f450ae30362d440a09aca26fc9c30 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Reflow lines, fix comments for doxygen style, fix whitespace. No functionality
change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143074 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
db66fb51c47acb2faea916752a90c4baa8f9d0e3 25-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Remove dead enum value. There is no DIESectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142912 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
e0c998db1fd339c3818e360d7769e375ac296d06 25-Oct-2011 Eric Christopher <echristo@apple.com> Remove unused forward decl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142892 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
d1ac3a47f2c2993e8bbda0a9f1c843e9efd0f00f 12-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> The dwarf standard says that the only differences between a out-of-line
instance and a concrete inlined instance are the use of DW_TAG_subprogram
instead of DW_TAG_inlined_subroutine and the who owns the tree.

We were also omitting DW_AT_inline from the abstract roots. To fix this,
make sure we mark abstract instance roots with DW_AT_inline even when
we have only out-of-line instances referring to them with DW_AT_abstract_origin.

FileCheck is not a very good tool for tests like this, maybe we should add
a -verify mode to llvm-dwarfdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144441 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d61c34ba30888c49f4f223422f30b018a41594da 11-Nov-2011 Eric Christopher <echristo@apple.com> Initialize variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144360 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
d117fbb2311f6b05770ee680135eaac4eb6d16d1 11-Nov-2011 Eric Christopher <echristo@apple.com> If we have a DIE with an AT_specification use that instead of the normal
addr DIE when adding to the dwarf accelerator tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144354 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
01b55b4a808d04cbff7b62f55eaeb62019340bc0 10-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Check in getOrCreateSubprogramDIE if a declaration exists and if so output
it first.

This is a more general fix to pr11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144324 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
8bd36eafca6992754006cbace5ba471884631d08 10-Nov-2011 Eric Christopher <echristo@apple.com> Make types and namespaces take multiple DIEs for the accelerator tables
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144319 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
warfDebug.cpp
1b3f9198ab3880be34b6252423b9e388b5cd6a5e 10-Nov-2011 Eric Christopher <echristo@apple.com> Move type handling to make sure we get all created types that aren't
forward decls and have names into the dwarf accelerator types table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144306 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
0ffe2b4dd6f26fa19827f85bf9e4a766539a859c 10-Nov-2011 Eric Christopher <echristo@apple.com> Rework adding function names to the dwarf accelerator tables, allow
multiple dies per function and support C++ basenames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144304 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfCompileUnit.h
warfDebug.cpp
983c4578b0e84eb3b4ae319b49a8079c5cd322c6 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144194 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0c45f7d1a7a158e94817b21b9cca5456414a4760 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Take advantage of the zero byte in StringMap when emitting dwarf stringpool entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144184 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c6bcf4315c568610b89e4c79898cfe36ff2e4905 09-Nov-2011 Devang Patel <dpatel@apple.com> Remove extra ';'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144172 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
dfa30e1ab243990eda4732a6dffb91e965e7a755 09-Nov-2011 Eric Christopher <echristo@apple.com> Remove the pubnames section, no one consumes it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144169 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
74d8a87f40dd89ec263071c0af4d77104b166f4a 08-Nov-2011 Eric Christopher <echristo@apple.com> Also add the linkage name to the name accelerator tables if it exists
and is different than the normal name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144130 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
67a917d495d38004e3a4a134eec81b312a71a164 08-Nov-2011 Eric Christopher <echristo@apple.com> Add the base ObjC method name to the names lookup table as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144105 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
30b4d8b83b7b3995ac1b53f35d3110d48676b187 08-Nov-2011 Eric Christopher <echristo@apple.com> A few more places where we can avoid multiple size queries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144099 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
ec8ffc29c04e5e11d8637f1ba1df67d97bafb499 08-Nov-2011 Eric Christopher <echristo@apple.com> Don't evaluate Data.size() on every iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144095 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
56c2b109f73f895b591d2303128c8adcf0bc2c3d 07-Nov-2011 Eric Christopher <echristo@apple.com> Add all completed and named types to the dwarf type accelerator tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144027 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
2dd5e1e64d718a0aeaaf988a54d5acc0ec70f243 07-Nov-2011 Eric Christopher <echristo@apple.com> Move the hash function to using and taking a StringRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144024 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
e77546c3c3634863a79ffc3adea52882685db454 07-Nov-2011 Eric Christopher <echristo@apple.com> Simple destructor to delete the hash data we created earlier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144023 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
2ea402541fa1bd2aa9942abf7b281ef01f9a10ff 07-Nov-2011 Eric Christopher <echristo@apple.com> Use StringRef::startswith to do some string comparisons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143982 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c545322c276f933759e4140027e5f84e480d15d6 07-Nov-2011 Eric Christopher <echristo@apple.com> Avoid the use of a local temporary for comment twines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143974 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
7135457efff83960bfad420f2dc3a5b4b58e8d07 07-Nov-2011 Eric Christopher <echristo@apple.com> Allow for the case where the name of the subprogram is "".

Fixes a self-host error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143970 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
76a4e1a0682c8e855f8b7c0a05d802dce8c07d7a 07-Nov-2011 Eric Christopher <echristo@apple.com> Remove unnecessary addition to API. Replace with something much simpler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143925 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfDebug.cpp
warfDebug.h
2c802b7e88718f2c033fe1e7e602e341501b5d80 07-Nov-2011 Eric Christopher <echristo@apple.com> Add new files to cmake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143924 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
09ac3d841367d5d56328eade506c951e0dc3a72d 07-Nov-2011 Eric Christopher <echristo@apple.com> Add the support code to enable the dwarf accelerator tables. Upcoming patches
to fix the types section (all types, not just global types), and testcases.

The code to do the final emission is disabled by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143923 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.h
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
bcbd3a4637f33036d05833364e180f9dfaabb67c 07-Nov-2011 Eric Christopher <echristo@apple.com> Add a new dwarf accelerator table prototype with the goal of replacing
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.

A basic summary:

The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:

.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'

where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.

The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.

For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143921 91177308-0d34-0410-b5e6-96231b3b80d8
warfAccelTable.cpp
warfAccelTable.h
d8a8752d5b7f546fd7ebb295366a43b2b76afbd6 07-Nov-2011 Eric Christopher <echristo@apple.com> Expose a way to get the beginning of the dwarf string section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6370118b16da30f20b5a68ccb814f3a8b8bc58b6 07-Nov-2011 Eric Christopher <echristo@apple.com> Fix up comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143919 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
33aa20f737e9ebb3c29c93508da0c041a6a772c7 07-Nov-2011 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143918 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
c25c90897781f116d5dbabab170bafcf65900fa7 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 encoding from the DWARF asm printer.

As a side effect we now print dwarf ulebs with .ascii directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143809 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
41a964931a0e0943ceef28b0c691843bf8ca87b7 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add more PRI.64 macros for MSVC and use them throughout the codebase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
b0527283682c5f44fae24ae0a7e2e794f019fade 04-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Emit declarations before definitions if they are available. This causes DW_AT_specification to
point back in the file in the included testcase. Fixes PR11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143726 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a3a2dfd4a2a8265a9a0c962cb776e2e6ba123956 03-Nov-2011 Daniel Dunbar <daniel@zuster.org> build: Add initial cut at LLVMBuild.txt files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
6c1a703e5418b2ba9d7b47b0c9345e9928ea5a68 02-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
implied by directory index zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143570 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c3e48c38bf87ad081904eccf16e4ddd99c36d070 28-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> Dwarf: [PR11022] Fix emitting DW_AT_const_value(>i64), to be host-endian-neutral.

Don't assume APInt::getRawData() would hold target-aware endianness nor host-compliant endianness. rawdata[0] holds most lower i64, even on big endian host.

FIXME: Add a testcase for big endian target.

FIXME: Ditto on CompileUnit::addConstantFPValue() ?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143194 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
6a7efcfc02ea5370fb0da66d750165a3ffe93ab7 28-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Always use the string pool, even when it makes the .o larger. This may help
tools that read the debug info in the .o files by making the DIE sizes more
consistent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143186 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfCompileUnit.cpp
390c40d96adb2eb4a778a0890c6c8743057e289e 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Teach our Dwarf emission to use the string pool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143097 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
746cb670c3cd4f79b288d56d8e9f195685a5381a 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Reflow lines, fix comments for doxygen style, fix whitespace. No functionality
change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143074 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
000b9bdd3396ca322413c4e419d41cd3a6235e74 25-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Remove dead enum value. There is no DIESectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142912 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
fd747b24a3fb08805336f2070b9316ded6b57810 25-Oct-2011 Eric Christopher <echristo@apple.com> Remove unused forward decl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142892 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
2e5a5ee613fae456a8ed4282acede56860682f4f 21-Oct-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to upstream Oct 20th 2011.

Change-Id: I2bb819151f3fa5ce18690ef373bf071205d3f278
ndroid.mk
0ebc07a576037e4e36f68bf5cece32740ca120c0 19-Oct-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream 2011/10/20 (r142530)

Conflicts:
lib/Support/Unix/Host.inc

Change-Id: Idc00db3b63912dca6348bddd9f8a1af2a8d5d147
20b2b788b4f3914757789fe1ee835b70759ce4ec 19-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Missed a spot!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142436 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
024170f859112518adb5796060607574bf1e6015 19-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Fix some typo/formatting issues. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142435 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.h
d5d52132d78e006842a0cf9b6ef5a9feec661711 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Minor style cleanup, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142307 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
44d798d9763bc32aaf49fe7c10d604845f4b6685 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Add support for a new extension to the .file directive:

.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
47b8798c0bf0944b24051bc21d85d93a2732676a 16-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Twinify better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142139 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
6618a241f7ba2571a1a55b3733c4441d467baf42 12-Oct-2011 Eric Christopher <echristo@apple.com> Add a new wrapper node for a DILexicalBlock that encapsulates it and a
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.

This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.

Part of rdar://10246360

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2fec6c5ff153786744ba7d0d302b73179731c5e9 05-Oct-2011 Owen Anderson <resistor@mac.com> Teach the MC to output code/data region marker labels in MachO and ELF modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141135 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8cf5e74a9cc7482901125b810f1e482d24e9404d 03-Oct-2011 Eric Christopher <echristo@apple.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141005 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
1aeb7ac6246c39703e08089ab0dc2f35631b8bb5 03-Oct-2011 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141004 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9a7d48ae67d1f151d5339d37ce66c57179de77b4 29-Sep-2011 Duncan Sands <baldrick@free.fr> Place this bracket according to the LLVM style.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140784 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
42e5c799b61ce70620d4d4d4d20e847750a185c3 28-Sep-2011 Duncan Sands <baldrick@free.fr> A typeid of zero means a cleanup, not a catch. This case occurs
when there is both a catch and a cleanup. Correct the comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140686 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
439780eeaef1a2c6a1105fb705a27c5c819e8d0e 26-Sep-2011 James Molloy <james.molloy@arm.com> Fix emission of debug data for global variables. getContext() on DIGlobalVariables is not valid any more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140539 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
1dd4e56d5565d59e9d40ad9e088a05e06f4b70f8 22-Sep-2011 Devang Patel <dpatel@apple.com> Do not unnecessarily use AT_specification DIE because it does not add any value.

Few weeks ago, llvm completely inverted the debug info graph. Earlier each debug info node used to keep track of its compile unit, now compile unit keeps track of important nodes. One impact of this change is that the global variable's do not have any context, which should be checked before deciding to use AT_specification DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140282 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
fe59d853c6bee18aeca1da5f703fc442068853a7 21-Sep-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Whitepsace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140275 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
734a67cda5a02be1654a2f89b811d7b6cbe3f5e5 15-Sep-2011 Devang Patel <dpatel@apple.com> Add support to emit debug info for C++0x nullptr type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139751 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
147272b8a70db7984a6bdfad3b5efabcb794a42e 02-Sep-2011 Duncan Sands <baldrick@free.fr> Darwin wants ctors/dtors to be ordered the other way round to linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139015 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 02-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Don't drop alignment info on local common symbols.

- On COFF the .lcomm directive has an alignment argument.
- On ELF we fall back to .local + .comm

Based on a patch by NAKAMURA Takumi.

Fixes PR9337, PR9483 and PR10128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
94fca8300d61cc038030c31014116df38b74e986 31-Aug-2011 David Greene <greened@obbligato.org> Fix Size Typing

Stores sizes as uint64_t to avoid possible truncation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138901 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d92e2e4f88fccd4b3a497d8d9eade7bfd8564798 31-Aug-2011 David Greene <greened@obbligato.org> Compress Repeated Byte Output

Emit a repeated sequence of bytes using .zero. This saves an enormous
amount of asm file space for certain programs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138864 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fd9c4f76f4a1ec06891a3405198fc907f8253958 28-Aug-2011 Duncan Sands <baldrick@free.fr> Fix PR5329: pay attention to constructor/destructor priority
when outputting them. With this, the entire LLVM testsuite
passes when built with dragonegg.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138724 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 24-Aug-2011 Evan Cheng <evan.cheng@apple.com> Move TargetRegistry and TargetSelect from Target to Support where they belong.
These are strictly utilities for registering targets and components.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
93d39be5300702d8c9892ec04a492a6056926462 20-Aug-2011 Devang Patel <dpatel@apple.com> Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138145 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f1f6de1c9b658c78baa36c1af7a94c1deba91851 19-Aug-2011 Renato Golin <renato.golin@arm.com> add the comments of each declaration follow it, making it easier to read and compare to GCC's result.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138009 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
28bea08e531452992ff1e25e8584883dfbd4c232 19-Aug-2011 Devang Patel <dpatel@apple.com> Eliminate unnecessary forwarding function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138006 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
49e2f03849064d9dc26db3865ae419f17daadca6 19-Aug-2011 Devang Patel <dpatel@apple.com> Add new DIE into the map asap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137998 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
94c7ddb6f52a5200983fed0ce74dc602a7737879 17-Aug-2011 Devang Patel <dpatel@apple.com> Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL.

MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137778 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
1b84cce77f8bccc905b4800927ce9016f76c1c40 16-Aug-2011 Jim Grosbach <grosbach@apple.com> Remove unused Target argument from AsmParser construction methods.

The argument is unused, and is a layering violation in any case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137735 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
e26a1352487c350acaee62bc5f7fa4002b9bf524 16-Aug-2011 Devang Patel <dpatel@apple.com> Remove unnecessary version check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137728 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
02e603f87a9745768a05411e16c47c558d2cbd6e 16-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137689 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3655a21b15e135927826eeb1917b42299ac95d67 16-Aug-2011 Devang Patel <dpatel@apple.com> Continue to hoist uses of getCompileUnit() up. The goal is to get rid of uses of getCompileUnit().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137683 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d30243402bf5db25e8b947bd3de2677d0f6c9637 16-Aug-2011 Devang Patel <dpatel@apple.com> This is somewhat déjà-vu, but avoid using getCompileUnit() as much as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137668 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d0b5a5ece4f6bf1a29bacefcdd07eaa7ba83e316 16-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. Variables are part of compile unit so let CompileUnit create new variable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137663 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
7a328270be871f640d94fcebfd48dee02950fb8c 15-Aug-2011 Devang Patel <dpatel@apple.com> There is no need to maintain a set to keep track of variables that use location expressions. In such cases, AT_location attribute's value will be a label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137659 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c890b19226673d7004eaff7433834b2e5223bdea 15-Aug-2011 Devang Patel <dpatel@apple.com> Fix warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137658 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ff9dd0ac55bc7eb06e7ba8cccf255e64757863cc 15-Aug-2011 Devang Patel <dpatel@apple.com> Simplify. Let DbgVariable keep track of variable's DBG_VALUE machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137656 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
5a1a67cd3f35b82bcae5dc5dce6ffd9b9549a5c0 15-Aug-2011 Devang Patel <dpatel@apple.com> Simplify mapping to variable from its abstract variable info.
When a variable is inlined multiple places, abstract variable keeps name, location, type etc.. info and all other concreate instances of the variable directly refers to abstract variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137637 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a098c506a24a5f1a4e7c7344b53b2e586801a415 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137632 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
59bc4093d5009ecda4a4f70ed04c78502e28474f 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137631 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6f9d8ffe5e47e3d11176298e849cc8545c2169a2 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. Global variables are part of compile unit so let CompileUnit create new global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137621 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
dbc64af76d769596903485668a1dfc2d6640c4fb 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. A subprogram is part of compile unit so let CompileUnit construct new subprogram.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137618 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
cd9f6c53de95f5301c0152cab2ccc78d653d6270 12-Aug-2011 Devang Patel <dpatel@apple.com> Use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137485 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0fa5e053a914cbbea7c66f13da190d96f8fe2a2c 11-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> Plug a memory leak.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137321 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5bc942cc3cc970836d48d8ad276ef3b2b1120ffc 11-Aug-2011 Devang Patel <dpatel@apple.com> Stay within 80 columns.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137283 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b549bcfe6c19dbb24162c75bbcc06d4a5fa90cb8 10-Aug-2011 Devang Patel <dpatel@apple.com> Distinguish between two copies of one inlined variable. Take 2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137253 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9ce256421a90cd0413db220f1d60df65cb8344b6 10-Aug-2011 Devang Patel <dpatel@apple.com> Revert unintentional parts of previous check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137249 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bf47fdb91c3bc7c26fb7eb6096ca3657c69bd26f 10-Aug-2011 Devang Patel <dpatel@apple.com> Start using LexicalScopes utility. No intetional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137246 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c0405292693dc463cd14ce20b3ead7dcd1260e8e 08-Aug-2011 Devang Patel <dpatel@apple.com> Simplify by creating parent first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137056 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4147f39769d404cab02da4beea852ad2600dadbb 05-Aug-2011 Chandler Carruth <chandlerc@gmail.com> Temporarily revert r135528 which distinguishes between two copies of one
inlined variable, based on the discussion in PR10542.

This explodes the runtime of several passes down the pipeline due to
a large number of "copies" remaining live across a large function. This
only shows up with both debug and opt, but when it does it creates
a many-minute compile when self-hosting LLVM+Clang. There are several
other cases that show these types of regressions.

All of this is tracked in PR10542, and progress is being made on fixing
the issue. Once its addressed, the re-instated, but until then this
restores the performance for self-hosting and other opt+debug builds.

Devang, let me know if this causes any trouble, or impedes fixing it in
any way, and thanks for working on this!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136953 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cfc55c2fc94a7b58e9b9090bc47eb791e029d7a2 03-Aug-2011 Bob Wilson <bob.wilson@apple.com> Some revisions to Devang's change r136759 for merged global debug info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136802 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
027cbf9329854e6b02d8db36cbe4f361ee0038cd 03-Aug-2011 Devang Patel <dpatel@apple.com> Use byte offset, instead of element number, to access merged global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136759 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b899d959332871eb62dc22a9ffd81e0e97d96710 01-Aug-2011 Jay Foad <jay.foad@gmail.com> Remove an unnecessary cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136609 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3bbb6f79b718e5d972ac3e1c949f3139419b4603 29-Jul-2011 Nick Lewycky <nicholas@mxc.ca> Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow some
lines. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136458 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
ac03e736c77bcf7e8deb515fc16a7e55d343dc8d 29-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Rewrite the CMake build to use explicit dependencies between libraries,
specified in the same file that the library itself is created. This is
more idiomatic for CMake builds, and also allows us to correctly specify
dependencies that are missed due to bugs in the GenLibDeps perl script,
or change from compiler to compiler. On Linux, this returns CMake to
a place where it can relably rebuild several targets of LLVM.

I have tried not to change the dependencies from the ones in the current
auto-generated file. The only places I've really diverged are in places
where I was seeing link failures, and added a dependency. The goal of
this patch is not to start changing the dependencies, merely to move
them into the correct location, and an explicit form that we can control
and change when necessary.

This also removes a serialization point in the build because we don't
have to scan all the libraries before we begin building various tools.
We no longer have a step of the build that regenerates a file inside the
source tree. A few other associated cleanups fall out of this.

This isn't really finished yet though. After talking to dgregor he urged
switching to a single CMake macro to construct libraries with both
sources and dependencies in the arguments. Migrating from the two macros
to that style will be a follow-up patch.

Also, llvm-config is still generated with GenLibDeps.pl, which means it
still has slightly buggy dependencies. The internal CMake
'llvm-config-like' macro uses the correct explicitly specified
dependencies however. A future patch will switch llvm-config generation
(when using CMake) to be based on these deps as well.

This may well break Windows. I'm getting a machine set up now to dig
into any failures there. If anyone can chime in with problems they see
or ideas of how to solve them for Windows, much appreciated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136433 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
0748f83d3740582c408ab31c66261c2491565a84 28-Jul-2011 Devang Patel <dpatel@apple.com> Remove outdated FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136275 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
26a92003cd88355f5b027a2703b5016bb4b7870d 27-Jul-2011 Devang Patel <dpatel@apple.com> It is quiet possible that inlined function body is split into multiple chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136196 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a671a3092a9d86819bd740b4433ac217365bbfd7 26-Jul-2011 Devang Patel <dpatel@apple.com> While extracting lexical scopes from machine instruction stream, work on one machine basic block at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136106 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
94b9550a32d189704a8eae55505edf62662c0534 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
a7cfc08ebe737062917b442830eb5321b0f79e89 23-Jul-2011 Evan Cheng <evan.cheng@apple.com> Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
3737b89098a6aa954d7742277d218f293d38956a 21-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135633 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
40c7e4142e2327a540eceb640392a6da4ccfb3bf 21-Jul-2011 Devang Patel <dpatel@apple.com> There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135629 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4ec14b0dee433a4f134d832e326a20839b1f777e 20-Jul-2011 Devang Patel <dpatel@apple.com> While emitting constant value, look through derived type and use underlying basic type to determine size and signness of the constant value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135627 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.

There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ebf5f0962932032481ae306b42c96c68c3a0be95 20-Jul-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream r135568 (Jul 20th 2011)

Conflicts:
lib/Bitcode/Reader/BitcodeReader.cpp

Change-Id: Iebed76d2f7d281e742947e31d9a0b78174daf2d6
e76a33b9567d78a5744dc52fcec3a6056d6fb576 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Add MCObjectFileInfo and sink the MCSections initialization code from
TargetLoweringObjectFileImpl down to MCObjectFileInfo.

TargetAsmInfo is done to one last method. It's *almost* gone!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
warfCFIException.cpp
c8fcfc9cd9c0940e8afdaba8b815f8f489b457ba 20-Jul-2011 Devang Patel <dpatel@apple.com> Distinguish between two copies of one inlined variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135528 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8fbbb3980755d74539a0aed02bc18842ed2bd18d 19-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert TargetData::getIndexedOffset to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135478 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e060a5cd0688caea0e3de670f642f92a4d0b326e 19-Jul-2011 Bill Wendling <isanbard@gmail.com> Add a frame with the compact unwind encoding if it exists.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2d28617de2b0b731c08d1af9e830f31e14ac75b4 19-Jul-2011 Evan Cheng <evan.cheng@apple.com> Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for
better location welcome).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135438 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinterDwarf.cpp
warfCFIException.cpp
warfDebug.h
warfException.cpp
in64Exception.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a71642b2a4944eaa269d881cf71b02b8e8fe5638 16-Jul-2011 Nowar Gu <nowar100@gmail.com> Merge upstream to r135343 at Sat. 16th July 2011.
133b09953c40b9cceb559e765bca461c38bb4c51 15-Jul-2011 Devang Patel <dpatel@apple.com> Use DebugLoc directly to map inlined functions' instructions to respective lexical scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1e479fb5c1937e586cb485f1d6a1f09e5f08c957 15-Jul-2011 Devang Patel <dpatel@apple.com> Eliminate redundant map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135278 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a83bba46b38c255e18ebbe1262ea339431a1ef94 15-Jul-2011 Evan Cheng <evan.cheng@apple.com> Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135254 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0bf164605dd83d65f6c510dad26449fcf9a79a51 15-Jul-2011 Devang Patel <dpatel@apple.com> Do not get confused by multiple empty lexical scopes inlined at one location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135232 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9b4a172ac07dfc639cab7f8851d5fad3a70101a5 15-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135212 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4f455d6f258ae209291006e96b007111978fa1e0 15-Jul-2011 Devang Patel <dpatel@apple.com> Eliminate redundant LLVMContext argument.
Improve DbgScope->dump() output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135207 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
49c19f778b62df6f2a28798113a17d5cb3582bda 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135127 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d77ec6208cef2a8e615181c2bf0fc5a50a37a20b 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as much as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135124 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0cd0c248cc7bbc6045b614940f14fb0a886f27f6 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify. Compile unit check inside hasValidLocation() did not add any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135118 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0f16a4eecc14a0455d0b9dd55742b1c4ebaa1575 14-Jul-2011 Devang Patel <dpatel@apple.com> Fix typo in DEBUG message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135111 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5fc0d886da2253b3cd1f319cca7185327a447ba4 14-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135110 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ffc0e73046f737d75e0a62b3a83ef19bcef111e3 09-Jul-2011 Evan Cheng <evan.cheng@apple.com> Change createAsmParser to take a MCSubtargetInfo instead of triple,
CPU, and feature string. Parsing some asm directives can change
subtarget state (e.g. .code 16) and it must be reflected in other
modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance
must be shared.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134795 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
90b40414a092a5cbf35b80eb03e38787eea1a363 08-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134703 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
80efd4e96b0be13e80c26acd737c287d39b9c00f 08-Jul-2011 Devang Patel <dpatel@apple.com> Make provision to have floating point constants in .debug_loc expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134702 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ebdeeab812beec0385b445f3d4c41a114e0d972f 08-Jul-2011 Evan Cheng <evan.cheng@apple.com> Eliminate asm parser's dependency on TargetMachine:
- Each target asm parser now creates its own MCSubtatgetInfo (if needed).
- Changed AssemblerPredicate to take subtarget features which tablegen uses
to generate asm matcher subtarget feature queries. e.g.
"ModeThumb,FeatureThumb2" is translated to
"(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
476df5f64f1536330af0dacdfce768efc625dc41 07-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134643 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7986289a9cc99b45941adf98c64e6f3dbbc917cc 07-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134572 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
90369eb209f5cfa52d683f4248b4c0a9cfd9b916 07-Jul-2011 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134561 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
53d48080e55bf0c99cb7ca9de5b15a084d7324b5 01-Jul-2011 Nowar Gu <nowar100@gmail.com> Merge upstream to r134237 at Fri. 1st July 2011.

Conflicts:
lib/Target/ARM/ARMCodeEmitter.cpp
8594d429e02c688d428036f8563f09572da3fbff 24-Jun-2011 Devang Patel <dpatel@apple.com> Handle debug info for i128 constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133821 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
bb5c18c80e7ae4ce49eb9067b664f0559ec50965 23-Jun-2011 Nowar Gu <nowar100@gmail.com> Merge upstream to r133679 at Thu. 23th Jun 2011.
5b7ac1402f3c84a751eac96838d4b9676723f0c8 22-Jun-2011 Nick Lewycky <nicholas@mxc.ca> Emit trailing padding on constant vectors when TargetData says that the vector
is larger than the sum of the elements (including per-element padding).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133631 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0c11218f0a38461a3d74c075ee3b76e511c7ccd0 22-Jun-2011 Bill Wendling <isanbard@gmail.com> Add verbose EH table printing to SjLj exception tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133561 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8fcd3e620424372af9afeeed7cd941aa8d5435af 22-Jun-2011 Bill Wendling <isanbard@gmail.com> Improve the comment printing for the EH table. This gives a much more detailed
explanation of what the EH table describes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133559 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
2a73c7f188f16049faa9282c9bd1217f878bd5d2 17-Jun-2011 Nowar Gu <nowar100@gmail.com> Fix source list of Android.mk.
ndroid.mk
907af0f20f58f2ea26da7ea64e1f094cd6880db7 17-Jun-2011 Nowar Gu <nowar100@gmail.com> Merge upstream to r133240 at Fri. 17th Jun 2011.

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
7d715dfe6d66be257926f626df96a0e2bd38dc1f 19-Jun-2011 Jay Foad <jay.foad@gmail.com> Fix a FIXME by making GlobalVariable::getInitializer() return a
const Constant *.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133400 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aeb6da46ce7c55440215fca1fb11122ecddeec44 15-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Handle jump tables. Test to follow soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133083 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0fc3015ae8a70152895536ddd8395ce8f6219164 14-Jun-2011 Eli Friedman <eli.friedman@gmail.com> Revert r133004 ; it's breaking nightly tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133007 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b8018d8f885f29df3745fa5596bbbfc4c2fa53d2 14-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Partial revert of 132882.
Dan noted that this would work on the case shown on the commit message. I think
the case that was failing was a bb ending with a redundant conditional jump:

...
jne foo

foo:
...

I was unable to find any such case in the tests or in a debug build of clang,
so I will revert this part of the patch and watch the bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133004 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f5b5c5156c0ac6250d2980f51e47145096851d6f 14-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement Jakob's suggestion on how to detect fall thought without calling
AnalyzeBranch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132981 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1edc08b09ff723f3ff80dba28401b58b3ee4569e 12-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Really fix the fall-through logic.
Add a triple to the tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132885 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
571e20fc50fc20cf612c7b928f7b49a3c41e078a 12-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix silly bug I introduce in the previous commit. Fixes debug builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132883 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4509ec42b88e9220f61bca5654411e65368ac53a 12-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> AnalyzeBranch doesn't change which successors a bb has, just the order
we try to branch to them.

Before we were creating successor lists with duplicated entries. Fixing that
found a bug in isBlockOnlyReachableByFallthrough that would causes it to
return the wrong answer for

-----------
...
jne foo
jmp bar

foo:
----------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132882 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
348d542199f83418481bde6eba1c94f6fdb45b85 10-Jun-2011 Chad Rosier <mcrosier@apple.com> Ensure that EmitGlobalVariable is correctly differentiating between declarations
and definitions when emitting global variables. This was causing global
declarations to be emitted as if they were definitions.
Fixes <rdar://problem/9429892>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132825 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ab5f788f6711f473289b9c42726e81872c3d0c47 05-Jun-2011 Benjamin Kramer <benny.kra@googlemail.com> Use path API for path concatenation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132668 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4ada1d791028041a6609128a8a4f3b5ebf1c837b 02-Jun-2011 Devang Patel <dpatel@apple.com> A DBG_VALUE that truncates a range does not start another dbg value range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132433 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c432907eca615dfea2de3c467f4087f00203b2d6 02-Jun-2011 Devang Patel <dpatel@apple.com> Do not drop constant values when a variable's content is described using .debug_loc entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132427 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c20bdf194ad4c824ee6a5f163410d73513ae5c81 01-Jun-2011 Devang Patel <dpatel@apple.com> Incomplete type may not have corresponding DIE, so do not check DIEEntry eagerly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132377 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
66658e4dff51664a53c56dd729b8abe4d57aadef 01-Jun-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132373 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
e9ae06ca987b6c3b6cfbcd50ab85386565a4e0ca 01-Jun-2011 Devang Patel <dpatel@apple.com> Include global types, that are referenced through local variables, in debug_pubtypes list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132371 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
59ed4151d8d0567b7771772cfa2b65e7c25ffb68 30-May-2011 Charles Davis <cdavis@mines.edu> Emit the handler's data area. For GCC-style exceptions under Win64, the
handler's data area starts with a 4-byte reference to the personality
function, followed by the DWARF LSDA.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132302 91177308-0d34-0410-b5e6-96231b3b80d8
in64Exception.cpp
12e3349de9a13e133d8a59ce4c517a8e95bd91c3 29-May-2011 Charles Davis <cdavis@mines.edu> When generating against the Win64 EH scheme, set the handler to the GCC-specific
handler.

At this moment, only GCC-style exceptions are supported. Other kinds
of exceptions, including "traditional" SEH and Microsoft Visual C++ exceptions,
need more work--and an compiler exception model that isn't specific to
GCC-style exceptions!

In particular, I imagine that it would be possible to mix "traditional" SEH
with GCC-style EH or Microsoft C++ EH. Currently LLVM has no way (beyond some
target-specific defaults and whole-module compiler switches) of knowing which
scheme to use when.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132283 91177308-0d34-0410-b5e6-96231b3b80d8
in64Exception.cpp
f46337004ab08076774932785679460ec3d3bb9a 28-May-2011 Charles Davis <cdavis@mines.edu> When generating code for Win64 EH, emit StartProc and EndProc directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132250 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
in64Exception.cpp
d6a8136e66f0095c7306cad022d792a57e88ba01 28-May-2011 Devang Patel <dpatel@apple.com> Select DW_AT_const_value size based on global variable size.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132239 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
7bf114c1bd0390f4f485905d2fe9c7c6a048b8b7 28-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix the root cause of the bootstrap failure:

There was no way to check if a given register/mode pair was valid. We now return
an error code (-2) instead of asserting. If anyone thinks that an assert
at this point is really needed, we can autogen a hasValidDwarfRegNum instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132236 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d652b1368b1e381382951f450e5eeca870d91dd6 28-May-2011 Charles Davis <cdavis@mines.edu> Stub out support for Win64-style exceptions. Note that this is merely using
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132234 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
MakeLists.txt
warfException.h
in64Exception.cpp
37afca128db40b086752f3f62464ba08128c3b4d 28-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix a regression I recently introduced by removing DwarfRegNum of
subregisters:

When a value is in a subregister, at least report the location as being
the superregister. We should extend the .td files to encode the bit
range so that we can produce a DW_OP_bit_piece.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132224 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5b23b7fe3150b2050d6fcd6981d64f30930fd3ef 28-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Make size computation less brittle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132222 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
045c1d4e48e5e06ca05d04af340f7c487bc9975d 27-May-2011 Devang Patel <dpatel@apple.com> Keep this simple. Use DIType to get signness and size of a type. Based on size, select appropraite form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132206 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
72f0d9cdefa3086715e1e2547a9843321690b4d9 27-May-2011 Devang Patel <dpatel@apple.com> Handle signed types gracefully.
This fixes regressions reported by buildbots as a fallout of r132193.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132197 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
b58128e2b2375173aafb07905bd53014d622e4ba 27-May-2011 Devang Patel <dpatel@apple.com> Select DW_AT_const_value size based on variable size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132193 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
fc2bb8c4448fa884d79e437cc2d2627a7d7740a8 25-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Replace the -unwind-tables option with a per function flag. This is more
LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132033 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinter.cpp
a9b324be9ca4a1f46d1ddf39ea0f6b6bbec86ae9 24-May-2011 Devang Patel <dpatel@apple.com> Fix debug info for blocks' variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131940 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c481b70a6aeadb54c880f70422631044af4856b9 24-May-2011 Devang Patel <dpatel@apple.com> Remove unnecessary comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131936 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
958b68140e08df76e1b8f3287cd0a24d0fb35734 20-May-2011 Jim Grosbach <grosbach@apple.com> No reason not to allow defining the CFA as a reg w/ offset zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131760 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
1585ce7e8c1bd1b3521a9ef4406dbac728685e70 20-May-2011 Jim Grosbach <grosbach@apple.com> Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131757 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
2b6f7117f5be1b8449e63baffe58c52197f19418 20-May-2011 Jim Grosbach <grosbach@apple.com> Add support for frame info use of the .cfi_def_cfa directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131756 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
201e6cdc39d5dca4e70cdd331f6f5055b3af3534 12-May-2011 Devang Patel <dpatel@apple.com> Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131244 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
b11f80e94b590c90d07254dfa2406cf504e09cd3 12-May-2011 Devang Patel <dpatel@apple.com> Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131238 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
4243e67bd5eeae930060824d4290f8071a66e28f 11-May-2011 Devang Patel <dpatel@apple.com> Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131194 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
354c82bdf554bc5e6fa5c77f7c357577860d66d8 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Initialize moveTypeModule.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131157 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
6253c7ca60e3e5c9b10743721b921aa34307d625 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Produce a __debug_frame section on darwin ARM when appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131151 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
MakeLists.txt
warfException.h
warfSjLjException.cpp
dc52ecf6fdbee63652d2dac0dccc17e23ac7797f 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Rename DwarfRequiresRelocationForStmtList to
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131148 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e29887b4ee42ae78790a8c1886a7babee9ef18e5 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Use .cfi_sections to put the unwind info in .debug_frame when possible. With
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131140 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
warfException.h
a3f486762f943136da84bfe590e7153fd434c7ad 10-May-2011 Devang Patel <dpatel@apple.com> Do not ignore InlinedAt while walking up scope chain to find subprogram node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131106 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
31c5d05a26b5b9eec88558d34e9c20d12e0d53d7 06-May-2011 Devang Patel <dpatel@apple.com> Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130991 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfDebug.cpp
af25768415eb280affde138e75273a8d5263041e 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Nothing else uses this label.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130989 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0125d5056999ca4a428251ef2ced5bad34d1133b 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Yet more dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130988 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
ffa6408f9cb30cd639eb8eb71ee4aa6f48d0c7a7 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130987 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
ba39f88d0ede1d889a9a564562422d9c9c5134a0 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> More dead code elimination.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130985 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
f2b04232006142eb7933972fb21d9ffb9b8c2646 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Dead code elimination.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130984 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
97a12165812e67782749bc18d22ba1edcaf11a6c 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove DwarfTableException.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130964 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfException.h
warfSjLjException.cpp
warfTableException.cpp
254784f9e0ae59fc060ccd54b39cd1e94ac91356 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove the DwarfTable enum.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130959 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
51a04adc5ebc82830ee679830495424e330406cf 06-May-2011 Devang Patel <dpatel@apple.com> Remove little used statistical counter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130955 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ecf58b9e3c4f0d1e0abc7aa7ce95dd42c674acee 05-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement a really simple DwarfSjLjException.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130947 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
MakeLists.txt
warfException.h
warfSjLjException.cpp
2d57a6470181e7cc6396caae69e045cd0549d10e 05-May-2011 Rafael Espindola <rafael.espindola@gmail.com> List all exception types in a switch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130944 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d96efb83c11454f511f6b16bbf1fb07d8a14ef66 05-May-2011 Devang Patel <dpatel@apple.com> If debug info for inlined function is missing then handle it gracefully.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130933 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
087aad44cb37b361e8ed84f197138b366c764f9a 05-May-2011 Bill Wendling <isanbard@gmail.com> Remove a flag that would set the ".eh" symbol as .globl. MachO was the only one
who used this flag, and it now emits CFI and doesn't emit this anymore. All
other targets left this flag "false".
<rdar://problem/8486371>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130918 91177308-0d34-0410-b5e6-96231b3b80d8
warfTableException.cpp
597a7664e1bbe2ea5f757eb6e853bd1d2fe98d6c 04-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Producing a DW_FORM_addr for DW_AT_stmt_list is probably correct, but
it is both inefficient and unexpected by dwarfdump. Change to
a DW_FORM_data4.

While in here, change the predicate name to reflect that the position
is not really absolute (it is an offset), just that the linker needs a
relocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130846 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a938dd0dc9737779dfd476e3099e0bad617aad4a 04-May-2011 Devang Patel <dpatel@apple.com> Tighten up check for empty (i.e. no meaningful debug info) module. This fixes dwarf-die2.c test case from gcc test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130842 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ee4a3abede8fe895030bc75e560020ee6bac2deb 03-May-2011 Devang Patel <dpatel@apple.com> Even if the subprogram is going to use AT_specification, emit DW_AT_MIPS_linkage_name. This helps gdb and fixes var-path-expr.exp regression reported by gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130794 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
30692abac7da49376b7d3b33d74612893d72f547 03-May-2011 Devang Patel <dpatel@apple.com> If the front end has emitted llvm.dbg.cu and other debug info anchors (clang does it now) then use them directly. This saves one scan of entire module, to collect debug info, which in turns saves few machine cycles at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130759 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c455bb7dc795b8eef66d35ec30650f39ee8b61ab 02-May-2011 Devang Patel <dpatel@apple.com> Emit debug info for global variables first.
This works around a limitation in gdb which is reported by following inherit.exp test failures from gdb testsuite.

gdb.cp/inherit.exp: print g_vB.vB::vb
gdb.cp/inherit.exp: print g_vB.vB::vx
gdb.cp/inherit.exp: print g_vC.vC::vc
gdb.cp/inherit.exp: print g_vC.vC::vx
gdb.cp/inherit.exp: print g_vD.vB::vb
...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130702 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e17e6c01c8d64b1081661ff7fbf0355bab75754c 02-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Only produce the eh_frame section if we have at least one personality function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130692 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
5426a9ee37667660935d80841c5392d78e254318 01-May-2011 Rafael Espindola <rafael.espindola@gmail.com> GCC uses a different encoding of pointers in the FDE when using
-fno-dwarf2-cfi-asm. Implement the same behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130637 91177308-0d34-0410-b5e6-96231b3b80d8
warfTableException.cpp
49a3ff9d1733cb16bdc97590e5b90508b8656565 29-Apr-2011 Devang Patel <dpatel@apple.com> Hoist MCLineEntry construction AsmPrinter so that anyone who derives from AsmPrinter can have line number entries.
PR 9810



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130518 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ac3ba1b27e686410f249cb0475909a8d2abfe57d 29-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> The last hack for producing bit identical output with cfi on OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130504 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
7b11a4cbdc613c768871a0e4aad4ad3ae7cab5de 29-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Change DwarfCFIException's member variables to track what it actually
emmits: .cfi_personality, .cfi_lsda and the moves.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130503 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
warfException.h
a432997745f668e85e45826106430f69238b1d1e 29-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Factor some code to needsCFIMoves. Avoid printing moves when we don't have to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130501 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
c26f5447e39b43a6dd9c1a9d88227f4adf3b5600 28-Apr-2011 Devang Patel <dpatel@apple.com> Teach dwarf writer to handle complex address expression for .debug_loc entries.
This fixes clang generated blocks' variables' debug info.
Radar 9279956.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130373 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCompileUnit.cpp
warfDebug.cpp
warfDebug.h
60246a96224c8b790177253bf25433b93b335d2b 28-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove unnecessary argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130343 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
7afec9cc0ff1654619d30b6f30e2a4d13369c8bf 28-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, and
give it a bit more responsibility. Also implement it for MachO.

If hacked to use cfi, 32 bit MachO will produce

.cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr

and 64 bit will produce

.cfi_presonality ___gxx_personality_v0

The general idea is that .cfi_personality gets passed the final symbol. It is
up to codegen to produce it if using indirect representation (like 32 bit
MachO), but it is up to MC to decide which relocations to create.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130341 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
e1cdf84ee5ca72a38f4dedd6b12cce21cf83e415 28-Apr-2011 Devang Patel <dpatel@apple.com> Simplify handling of variables with complex address (i.e. blocks variables)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130339 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
0be77dff1147488814b8eea6ec8619f56e3d9f5e 27-Apr-2011 Devang Patel <dpatel@apple.com> Revert r130178. It turned out to be not the optimal path to emit complex location expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130326 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fea8fea58328d561eeccd5e0f896dbddf17ddb38 26-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Print the label if we will use it in debug_frame.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130232 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
116da2fbe93861bb60ffff26dce1d0e76d9ccf15 26-Apr-2011 Devang Patel <dpatel@apple.com> Refactor code. Keep dwarf register operation selection logic at one place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130231 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
bffc2b4af1abe9d25392819b5d9a14f2f228abd4 26-Apr-2011 Chris Lattner <sabre@nondot.org> don't emit the symbol name twice for local bss and common
symbols. For example, don't emit:
.comm _i,4,2 ## @i
## @i

instead emit:
.comm _i,4,2 ## @i



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130192 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b28d4f152ee9b76d8798b2bdcb06cb8d106841e6 26-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Print all the moves at a given label instead of just the first one.
Remove previous DwarfCFI hack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130187 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
0c99861836741911300587c579d4f9d3fe1d2a39 26-Apr-2011 Devang Patel <dpatel@apple.com> Let dwarf writer allocate extra space in the debug location expression. This space, if requested, will be used for complex addresses of the Blocks' variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130178 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9341d10f9443da6c6b0833f8a208afec69505f6e 26-Apr-2011 Devang Patel <dpatel@apple.com> Rename a local variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130171 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b865d46d95a4c5073d0c006ccc1773641f88fc98 26-Apr-2011 Devang Patel <dpatel@apple.com> Rename a method to match what it really does.
s/addVariableAddress/addFrameVariableAddress/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130170 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
warfCompileUnit.h
warfDebug.cpp
80925f5dca36e34c6c28ae080d2fd2bf861fb346 26-Apr-2011 Devang Patel <dpatel@apple.com> Do not drop a variable's complex address if it is not based on frame base.
Observed this while reading code, so I do not have a test case handy here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130167 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e54e785be5ed4ca2022728e39128e27fe5face0c 24-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Simplify the logic. Noticed by aKor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130116 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
7ed673244784e16cac58d69e5a7010fda8fe92bd 24-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Synchronize the conditions for producing a .cfi_startproc and a .cfi_endproc.
Fixes PR9787.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130115 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
5e06bb83f4d7b1b86659ad851324350afb04f5b0 23-Apr-2011 Devang Patel <dpatel@apple.com> Let front-end tie subprogram declaration with subprogram definition directly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130028 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
eac0c9dc7759b013bbe831ace1afa37bc46915c6 22-Apr-2011 Devang Patel <dpatel@apple.com> Do not leak argument's DbgVariables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130004 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
acc381bee95b5eafcdf3eaa85a66e83a5773aacb 21-Apr-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129938 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
2c4b4b195fa86715622d04bf87b9391fc06f3dca 21-Apr-2011 Devang Patel <dpatel@apple.com> Add comment in output stream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129921 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4788c3e839203dc75ba9fe2026f315095677715c 20-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove unused arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129844 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
3f3bf9387b75f4c932e4c59bd7af719d26ae4b99 18-Apr-2011 Devang Patel <dpatel@apple.com> Reduce clutter in asm output. Do not emit source location as comment for each instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129715 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
e5060984aa4d8c473e5081cb6c36d8e0a23e5d25 16-Apr-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129639 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
30deafc84adf88f643cdc39dc97a37537155347f 16-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Put each personality function in a section. This fixes the gnu ld warning:

error in foo.o; no .eh_frame_hdr table will be created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129635 91177308-0d34-0410-b5e6-96231b3b80d8
warfCFIException.cpp
e9db5e29e3af91eec572bfeb8dcec908213298b0 16-Apr-2011 Devang Patel <dpatel@apple.com> Introduce support to encode Objective-C property information in debugging information generated for an interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129624 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
126ae6815263aeffe4fbaa6dff1e4428aa8f0a91 15-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Some refactoring suggested by Anton Korobeynikov.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129600 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterDwarf.cpp
f0adba9a7ec8a3031876575a6ffb7db5f1b6f855 15-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Add 129518 back with a fix for when we are producing eh just because of debug info.
Change ELF systems to use CFI for producing the EH tables. This reduces the
size of the clang binary in Debug builds from 690MB to 679MB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129571 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bcb8c6d09ee426e0f774e3412912f6ae9e5f78dd 15-Apr-2011 NAKAMURA Takumi <geek4civic@gmail.com> Revert r129518, "Change ELF systems to use CFI for producing the EH tables. This reduces the"

It broke several builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129557 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
3dae6e7333b8fae7b79ddb99757ab5de73890af9 14-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Change ELF systems to use CFI for producing the EH tables. This reduces the
size of the clang binary in Debug builds from 690MB to 679MB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129518 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
65705d559af0ac7002320dd582cb0d59ce70485a 13-Apr-2011 Devang Patel <dpatel@apple.com> Remove extra bytes that were added for gdb. We do not have good poiner to understand actual reason behind this fixme. Spot checking suggest that newer gdb does not need this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129461 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
161b2f45c2413a9aa3bb3003d043f58c21dfd319 13-Apr-2011 Devang Patel <dpatel@apple.com> I missed this new file in previous commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129407 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.cpp
513edf62fa63ca9051cd95de9af04a3506d1e902 13-Apr-2011 Devang Patel <dpatel@apple.com> Simplify. There is no need to use static variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129406 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5d6076383171cb4f676b24bead5292f8e3fc4973 13-Apr-2011 Devang Patel <dpatel@apple.com> Do not reuse parameter name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129405 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
3cbee30eacd5d918a00f21c08dbd10ee9ae73925 13-Apr-2011 Devang Patel <dpatel@apple.com> This mechanical patch moves type handling into CompileUnit from DwarfDebug. In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129402 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfCompileUnit.h
warfDebug.cpp
warfDebug.h
860cf9693a2a09d4a316deb9b829fc9e1641c16e 12-Apr-2011 Devang Patel <dpatel@apple.com> Remove dead typedef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129368 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
8b9df62d0227beab8c7adb487fb909e67bbc7237 12-Apr-2011 Devang Patel <dpatel@apple.com> Refactor CompileUnit into a separate header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129367 91177308-0d34-0410-b5e6-96231b3b80d8
warfCompileUnit.h
warfDebug.cpp
8feda7ee332f1f91e4d3a42d9f7ad729012ed174 09-Apr-2011 Jush Lu <jush.msn@gmail.com> Merge upstream r129128
3f932a74be207eaad700ac7898f63c06131097ea 09-Apr-2011 Devang Patel <dpatel@apple.com> Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129170 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fb6e8d65547b744b1804b74b263f163e9879b901 08-Apr-2011 Devang Patel <dpatel@apple.com> Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129156 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1adb47cc11e708e6009007eeab58caf4310df30f 07-Apr-2011 Evan Cheng <evan.cheng@apple.com> Remove dead code. rdar://9221736.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129044 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
da19475328ece3da19437a2e9eef035dcafa2814 06-Apr-2011 Devang Patel <dpatel@apple.com> Add support to encode function's template parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128947 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b4c2bc25439bd4a226a85e1f3d8b420c07590622 05-Apr-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128929 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e050f50443eff5449016d5bd24bd9401685a227c 05-Apr-2011 Devang Patel <dpatel@apple.com> Do not emit empty name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128914 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
84397472364ac3ce3b5dbcc1e6aa93e9a584c32f 05-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Print visibility info for external variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128887 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e62dfcf4b3fcf5397737713b222ab1655df10e03 31-Mar-2011 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128639 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
83d808329b81ad7589ddc516566169b0331c25d1 30-Mar-2011 Jim Grosbach <grosbach@apple.com> Tidy up. 80 columns and trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128504 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
adb877d62e5ac88db037d91bcd2e9f7dc2c4cd7a 26-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Collect and coalesce DBG_VALUE instructions before emitting the function.

Correctly terminate the range of register DBG_VALUEs when the register is
clobbered or when the basic block ends.

The code is now ready to deal with variables that are sometimes in a register
and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack
slot'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128327 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
15a3ea0628d2e961cecd70b4e284149524aa3019 25-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Emit less labels for debug info and stop emitting .loc directives for DBG_VALUEs.

The .dot directives don't need labels, that is a leftover from when we created
line number info manually.

Instructions following a DBG_VALUE can share its label since the DBG_VALUE
doesn't produce any code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128284 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
23670e5b95fcaf88238239729457393b8cc831ff 24-Mar-2011 Devang Patel <dpatel@apple.com> Keep track of directory namd and fIx regression caused by Rafael's patch r119613.

A better approach would be to move source id handling inside MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128233 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
01079311e153dae59a38aa0cdf5332eb3e410abf 23-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Don't coalesce identical DBG_VALUE instructions prematurely.

Each of these instructions may have a RegsClobberInsn entry that can't be
ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc
merges entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128155 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
28cf1156c93afabedc69fe7b73aa92ce85e323a5 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Reapply r128045 and r128051 with fixes.

This will extend the ranges of debug info variables in registers until they are
clobbered.

Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on
the stack with DBG_VALUE instructions referring to variables in the frame
pointer. This fixes the gdb test-suite failure.

Fix 2: Don't trace through copies to physical registers setting up call
arguments. These registers are call clobbered, and the source register is more
likely to be a callee-saved register that can be extended through the call
instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128114 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c1dbd5d9c30ea67ae45f190ff90e076cdf8bbc17 22-Mar-2011 Andrew Trick <atrick@apple.com> Revert r128045 and r128051, debug info enhancements.

Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128097 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
bd17478f2f6dd3630c4e2fafaa71e2424e08c96e 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Clear map after use.

This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128051 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e17232ee4de2f608f0e5d965368c2bc54b6c1e83 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.

These ranges get completely jumbled by the post-ra scheduler, and it is not
really reasonable to expect it to make sense of them.

Instead, teach DwarfDebug to notice when user variables in registers are
clobbered, and terminate the ranges there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128045 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
83320a023c26aa8150761fc0694e7999941febb2 16-Mar-2011 Daniel Dunbar <daniel@zuster.org> Revert r127757, "Patch to a fix dwarf relocation problem on ARM. One-line fix
plus the test where it used to break.", which broke Clang self-host of a
Debug+Asserts compiler, on OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127763 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2589d0aedf97f1f34246fe89b27270c9d998d19f 16-Mar-2011 Renato Golin <renato.golin@arm.com> Patch to a fix dwarf relocation problem on ARM. One-line fix plus the test where it used to break.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127757 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ba9934648f1b8f5b1749548963f385f1147c1f68 12-Mar-2011 Duncan Sands <baldrick@free.fr> Speculatively revert commit 127478 (jsjodin) in an attempt to fix the
llvm-gcc-i386-linux-selfhost and llvm-x86_64-linux-checks buildbots.
The original log entry:
Remove optimization emitting a reference insted of label difference, since
it can create more relocations. Removed isBaseAddressKnownZero method,
because it is no longer used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127540 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
e4f6d7461aea7308e85c219c1cea5bd6059d4841 11-Mar-2011 Jan Sjödin <jan_sjodin@yahoo.com> Remove optimization emitting a reference insted of label difference, since it can create more relocations. Removed isBaseAddressKnownZero method, because it is no longer used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127478 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
cc7665f5895e1dd9682ee21d1e755d0de28c161b 09-Mar-2011 Jush Lu <jush.msn@gmail.com> Update build scripts after merge r127116
ndroid.mk
8104163fd14a1a429800c97f82346614590de8c2 09-Mar-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove unused virtual dtor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127331 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
b5530586d68bd25831a6796b5d3199cb0769a35c 09-Mar-2011 Jush Lu <jush.msn@gmail.com> Merge upstream r127116
511cab20cb6ef0575c961cbbcb86bb539b538a1c 06-Mar-2011 NAKAMURA Takumi <geek4civic@gmail.com> lib/CodeGen/AsmPrinter/CMakeLists.txt: Fix CMake build, following up to r127099.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127114 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
b5e16af9ea04cc1f94ca631104e5e6be96546aa1 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Some first rudimentary support for ARM EHABI: print exception table in "text mode".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127099 91177308-0d34-0410-b5e6-96231b3b80d8
RMException.cpp
smPrinter.cpp
warfException.h
bbd0f45b4711ee54f1c636a6de7afa766c855327 03-Mar-2011 Devang Patel <dpatel@apple.com> Fix typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126962 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6f676be5ffdf80543e6e6b4d3c9c6b8b8e838fa5 03-Mar-2011 Devang Patel <dpatel@apple.com> Fix thinko in previous check-in.
Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126959 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cb3a65755e5161519355e5aad5107915be750597 03-Mar-2011 Devang Patel <dpatel@apple.com> llvm::Function argument count is not a good indicator of how many arugments does the function have at source level. If we need more space, just resize vector conservatively. This vector is only used once per function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126957 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0478c15d1ecdbc53cf106419629479bcb2a0f4af 01-Mar-2011 Devang Patel <dpatel@apple.com> If argument numbering is encoded in metadata then emit arguments' debug info in that order.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126794 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4d03e416be8cf1f0f502118826b7cbaeec0b79b2 28-Feb-2011 jush <jush.msn@gmail.com> Merge LLVM upstream r119309 into honey
f754f50805fee2bb4d461a9b41107122a22cd6f6 25-Feb-2011 Cameron Zwarich <zwarich@apple.com> Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126488 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
4e671437ed9ff171e83fb34a971388c29cbe2704 25-Feb-2011 Nick Lewycky <nicholas@mxc.ca> Remove dead variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
f410608271b6318bfc9e26c0d199f185d5a89ccb 24-Feb-2011 Devang Patel <dpatel@apple.com> Enable DebugInfo support for COFF object files.
Patch by Nathan Jeffords!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
0eea95d1cdfb0da79defe45a3cf13debc1b4a6d7 24-Feb-2011 Devang Patel <dpatel@apple.com> Do not use DIFactory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126397 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3a4ae32ed7bf117a4fdc438fe0b297eec8e9b1ac 23-Feb-2011 Devang Patel <dpatel@apple.com> Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126339 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5129bdecd87c518713765acd6998c80f9eef36a2 23-Feb-2011 Stuart Hastings <stuart@apple.com> Omit private_extern declarations of extern symbols; followup to
r124468. Patch by Rafael Avila de Espindola!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126297 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5bc9fec7ec6db25247dbcc2d463209a22f7da6f0 19-Feb-2011 Devang Patel <dpatel@apple.com> Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of debug info reduced by almost 7%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126009 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d3526eab46b96509d3195cf3367811af67b6d2c7 15-Feb-2011 Devang Patel <dpatel@apple.com> Ignore DBG_VALUE machine instructions while constructing instruction ranges based on location info.
Machine instruction range consisting of only DBG_VALUE MIs only contributes consecutive labels in assembly output, which is harmless, and empty scope entry in DebugInfo, which confuses debugger tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125577 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ab4c366274a582dd8146b2820c6b999cad5fce36 15-Feb-2011 Duncan Sands <baldrick@free.fr> Spelling fix: consequtive -> consecutive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125563 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e5005d0062fa4c8f5707428f7b8ad8484a002d83 09-Feb-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Assert on bad jump tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125225 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6c3ea9012e40a95d45592a15c63895d09ece5052 04-Feb-2011 Devang Patel <dpatel@apple.com> Merge .debug_loc entries whenever possible to reduce debug_loc size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124904 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e7d93877c6e7029d27bfd1c137fceb472f81f390 02-Feb-2011 Devang Patel <dpatel@apple.com> Add support to describe template value parameter in debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124755 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
7e2cb116556e1153401cd6b94d0f51db978f6902 02-Feb-2011 Devang Patel <dpatel@apple.com> Add support to describe template parameter type in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124752 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ed299f6fa9f31c6063b9e187e849bca1ae284d12 30-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Clarify the LSDASection NULL check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124569 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1ffb5336999b327384752b0f60ad0c4cb4cb8946 28-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Print the visibility of declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124468 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d4e09787526f105f16c11f091ef6ef67c82da5d3 24-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Support printing exception section into the current one. This is the case when LSDASection is blank

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124150 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
e449d1f189e8ed719fa42d3ec2216a9d8adb9852 20-Jan-2011 Devang Patel <dpatel@apple.com> Fix debug info for merged global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123862 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dacde944bd585d512aabc4f3fa56440642b03a54 20-Jan-2011 Devang Patel <dpatel@apple.com> Fix register address expression. Patch by Ken Dyck.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123856 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
42c32daadbb1bd0626cced08c418d1b7a0b16fb4 14-Jan-2011 Logan <tzuhsiang.chien@gmail.com> Add LOCAL_MODULE_TAGS := optional

Change-Id: I292f6297b06f97360c15884677057d624e73fbf6
ndroid.mk
439ea279a5aae60f2e3693d82346765f650a2af3 14-Jan-2011 Ted Kremenek <kremenek@apple.com> Update CMake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123491 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
3965b5e974d57f3e56a2c7f37d76d73e572dfb20 14-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Add a possibility to switch between CFI directives- and table-based frame description emission. Currently all the backends use table-based stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123476 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfCFIException.cpp
warfException.cpp
warfTableException.cpp
9a1ef4ef36cfa2d8d9ebd52d601283ae6e7466cd 14-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Add CFI directives-based frame information emission. Not hooked yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123474 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfCFIException.cpp
warfException.h
d7e8ddc5012d22398eba6b8094e2fd7821bac9cc 14-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Split stuff as a preparation for CFI directives-based frame information emission

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123473 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfException.h
warfTableException.cpp
a36478feacffd66bde53c14561cab1a64b1b9c7d 11-Jan-2011 Devang Patel <dpatel@apple.com> Appropriately truncate debug info range in dwarf output.
This is not yet completely enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123274 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
16c29b5f285f375be53dabaa73e3e91107485fe4 10-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123170 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfDebug.cpp
warfException.cpp
c36b7069b42bece963b7e6adf020353ce990ef76 08-Jan-2011 Evan Cheng <evan.cheng@apple.com> Do not model all INLINEASM instructions as having unmodelled side effects.
Instead encode llvm IR level property "HasSideEffects" in an operand (shared
with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check
the operand when the instruction is an INLINEASM.

This allows memory instructions to be moved around INLINEASM instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123044 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
51a666f0e50a34b74212db9c5814153c885153a5 07-Jan-2011 Devang Patel <dpatel@apple.com> Speculatively revert r123032.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123039 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1dea232624c246341a5a98e0d481ba89f854012c 07-Jan-2011 Devang Patel <dpatel@apple.com> Appropriately truncate debug info range in dwarf output.
Enable live debug variables pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123032 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
76a788c886376d451ae3baa55429bf2d19039e9e 06-Jan-2011 Devang Patel <dpatel@apple.com> Emit 128 bit constant.
This fixes PR 8913 crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122971 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9fc5cdf77c812aaa80419036de27576d45894d0d 02-Jan-2011 Chris Lattner <sabre@nondot.org> split dom frontier handling stuff out to its own DominanceFrontier header,
so that Dominators.h is *just* domtree. Also prune #includes a bit.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122714 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
476b242fe7a61e5f9ac6214b0bc5c680d24f152e 19-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Add missing standard headers. Patch by Joerg Sonnenberger!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122193 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
11ae9e29a98595c1899047a64f621fbe46ce7015 13-Dec-2010 Chris Lattner <sabre@nondot.org> remove the verbose-asm "constant pool double" comments that we were printing
for each constant pool entry. Using WriteTypeSymbolic here takes time
proportional to the size of the module, for each constant pool entry.

This speeds up -verbose-asm llc on 252.eon (a random testcase at my disposal)
from 4.4s to 2.137s. llc takes 2.11s with asm-verbose off, so this is now a
pretty reasonable cost for verbose comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121691 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d639c7cab42f8919b2d9f5ab169203bf8bc45f10 09-Dec-2010 Devang Patel <dpatel@apple.com> DW_FORM_data1 may not provide sufficient room for vtable index, use _udata instead.
This fixes radar 8730409.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121323 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b7313e274c0b26879b45023a85a3c8a4b5ac5c92 06-Dec-2010 Devang Patel <dpatel@apple.com> Undefined value in reg 0 may need a marker to identify end of source range.
This will be used to truncate live range of DBG_VALUE instruction by register allocator and friends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0bbe0b440ee2cef47dcb7b281825eb70341c16dd 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Second try at making direct object emission produce the same results
as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc
bootstrap on darwin10 using darwin9's assembler and linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121006 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
6d86492f5ed0f9853ddd3b24e1aa037e305e1784 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Revert previous two patches while I try to find out how to make both
linux and darwin assemblers happy :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121004 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
2303c9dd69476d045af7cee94e112dd77d22fd28 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add an EmitAbsValue helper method and use it in cases where we want to be sure
that no relocations are used (on MochO).
Fixes llc producing different output from llc + llvm-mc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121000 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
82f58740c76b42af8370247b23677a0318f6dde8 20-Nov-2010 Anton Korobeynikov <asl@math.spbu.ru> Move some more hooks to TargetFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119904 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d9e3385ced2dc887e2fe8e1c071bd2611e4d3ede 19-Nov-2010 Anton Korobeynikov <asl@math.spbu.ru> Move getInitialFrameState() to TargetFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119754 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
5c0556341e29246e697c73844a5f9b1e14474715 18-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Change CodeGen to use .loc directives. This produces a lot more readable output
and testing is easier. A good example is the unknown-location.ll test that
now can just look for ".loc 1 0 0". We also don't use a DW_LNE_set_address for
every address change anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119613 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ce1b9ad539e67c6d05cc6b47ca5f6e62a6d91eff 17-Nov-2010 Chris Lattner <sabre@nondot.org> With the newly simplified SourceMgr interfaces and the generalized
SrcMgrDiagHandler, we can improve clang diagnostics for inline asm:
instead of reporting them on a source line of the original line,
we can report it on the correct line wherever the string literal came
from. For something like this:

void foo() {
asm("push %rax\n"
".code32\n");
}

we used to get this: (note that the line in t.c isn't helpful)

t.c:4:7: error: warning: ignoring directive for now
asm("push %rax\n"
^
<inline asm>:2:1: note: instantiated into assembly here
.code32
^

now we get:

t.c:5:8: error: warning: ignoring directive for now
".code32\n"
^
<inline asm>:2:1: note: instantiated into assembly here
.code32
^

Note that we're pointing to line 5 properly now.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119488 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
4afa12890f679034e9741a687a6ce33f2846f129 17-Nov-2010 Chris Lattner <sabre@nondot.org> now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the
cookie argument to the SourceMgr diagnostic stuff. This cleanly separates
LLVMContext's inlineasm handler from the sourcemgr error handling
definition, increasing type safety and cleaning things up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119486 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
6e30c6a1d32f187804d24ecd1868d63c60330b22 17-Nov-2010 Chris Lattner <sabre@nondot.org> rearrange how the handler in SourceMgr is installed, eliminating the use of
the cookie argument to setDiagHandler


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119483 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
a38941d458273946594d3592ed5debdc9730db08 17-Nov-2010 Chris Lattner <sabre@nondot.org> refactor the interface to EmitInlineAsm a bit, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119482 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
f23f7c482522661ec05a864a8f3607b2485bb31b 13-Nov-2010 Devang Patel <dpatel@apple.com> Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118940 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
522ad74e4bd27e9156916ed58dd5c7f1a17a541d 13-Nov-2010 Devang Patel <dpatel@apple.com> Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118940 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3e28ee0dbbb59d3fa7990a594d6e7ccab44290d5 10-Nov-2010 Devang Patel <dpatel@apple.com> Take care of special characters while creating named MDNode name to hold function specific local variable's info.
This fixes radar 8653152. I am checking in testcase as a separate check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
62367045a493f9bffa433e34b68fc7dda96e1edd 10-Nov-2010 Devang Patel <dpatel@apple.com> Take care of special characters while creating named MDNode name to hold function specific local variable's info.
This fixes radar 8653152. I am checking in testcase as a separate check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7a263c0f8e983ccbaaa4a942a2f1b999d59bad7d 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add 118023 back, but with proper spelling for .uleb128/.sleb128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118254 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
738734501635a15d8ed2d1c8d52962ed5f319bd3 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add 118023 back, but with proper spelling for .uleb128/.sleb128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118254 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
e8f099da6cd2f31f14e01b7522c877106520a1d2 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Revert previous patch. Some targets don't support uleb and say
they do :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118250 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
537ebeaffcce2b44705f678a67802ea77c5a3f92 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Revert previous patch. Some targets don't support uleb and say
they do :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118250 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
98eea4dc9750c7333821212b567f80cc9bd4e915 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> MCize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118249 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
40f6514ff08e880504f920887e0cc54bef23ef97 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> MCize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118249 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
0b765ed38b918f25c6511cefa515a1f9d2f369b5 02-Nov-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118027 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c8821046f8998c3e69985fdc53d8241c6ad4c762 02-Nov-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118027 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e4e91faa650d26ba3bcaae173d51ce4ac3b595bc 29-Oct-2010 Devang Patel <dpatel@apple.com> Ignore empty blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117615 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4d7f9a00a58c391f3e1235a9d9c28fd20d1405f5 29-Oct-2010 Devang Patel <dpatel@apple.com> Ignore empty blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117615 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7881803762d3e313ebaa186079fa322d4f12cab0 28-Oct-2010 Devang Patel <dpatel@apple.com> Do not work too hard to find type's file info. There is a special field to record file info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117588 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bc2bb9bbd0610bc43f08be6678431148898591aa 28-Oct-2010 Devang Patel <dpatel@apple.com> Do not work too hard to find type's file info. There is a special field to record file info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117588 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0b018c1e2182bcb8a5c0c612781cbcabcc653506 28-Oct-2010 Devang Patel <dpatel@apple.com> Technically DIFile scope should also be handled here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3cabc9d2c974140c384e21cf5c1904b514acb82b 28-Oct-2010 Devang Patel <dpatel@apple.com> Technically DIFile scope should also be handled here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2bfdc27b1926830b7ab6b6da4d7f02bcd0e8eb2f 26-Oct-2010 Devang Patel <dpatel@apple.com> s/beginScope/beginInstruction/g
s/endScope/endInstruction/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117376 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
cbbe287f8adc82a90827f036e048bb53d1573fed 26-Oct-2010 Devang Patel <dpatel@apple.com> s/beginScope/beginInstruction/g
s/endScope/endInstruction/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117376 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
4402af69903becaeb7204583a5e202c1766d6608 26-Oct-2010 Nick Lewycky <nicholas@mxc.ca> For statistics that are only used in functions declared in !NDEBUG, wrap the
declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by
Matt Beaumont-Gay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117345 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a568d66512759f93e0d37af7c8f905603dd27449 26-Oct-2010 Nick Lewycky <nicholas@mxc.ca> For statistics that are only used in functions declared in !NDEBUG, wrap the
declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by
Matt Beaumont-Gay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117345 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
aca2f0325fc65e2e5a2acb19f9e641388f43d22b 25-Oct-2010 Devang Patel <dpatel@apple.com> Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117307 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9a31f0f398df8830161507a6dcf369961269c6cf 25-Oct-2010 Devang Patel <dpatel@apple.com> Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117307 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8c05fd42b5b61bef47e5ac90d2e01e6cbe248ac6 08-Oct-2010 Devang Patel <dpatel@apple.com> Line number 0 indicates there is no source line/file name info available for this construct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b2bada305ef63479f987ba5feb6c2a8d11904b53 08-Oct-2010 Devang Patel <dpatel@apple.com> Line number 0 indicates there is no source line/file name info available for this construct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7a4f891bb9274036aabba99ae26917482a84ec98 08-Oct-2010 Devang Patel <dpatel@apple.com> Provie a clearner interface so that FE can decide whether a function has prototype or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115988 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7b172c6ae6c4fea90db785902b4326afb21ad584 08-Oct-2010 Devang Patel <dpatel@apple.com> Provie a clearner interface so that FE can decide whether a function has prototype or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115988 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e7763c8b9800be717587a61c4cc4ac5dd8ce05d5 06-Oct-2010 Devang Patel <dpatel@apple.com> Add support for DW_TAG_unspecified_parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115833 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d6747df5e0354256a9e440d38f21c0b3ca82af28 06-Oct-2010 Devang Patel <dpatel@apple.com> Add support for DW_TAG_unspecified_parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115833 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
127b12b6ddfb431453fdbccd5bef79bb6aadca5d 02-Oct-2010 Devang Patel <dpatel@apple.com> Add support to let FE mark explict methods as explict in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
21ea1d5b4cad8c8dee1288453f797572766c94d8 02-Oct-2010 Devang Patel <dpatel@apple.com> Add support to let FE mark explict methods as explict in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ce027318293ddd2a0ea0cab4e9fa6af059d3bed2 02-Oct-2010 Jim Grosbach <grosbach@apple.com> Nuke trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
2b2de24fe2bdbe0c533bab2208f4b666ea0d6e86 02-Oct-2010 Jim Grosbach <grosbach@apple.com> Nuke trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
66704776c990f9ffd2b0c27b33d13748bf3107d0 30-Sep-2010 Devang Patel <dpatel@apple.com> Let FE mark a variable as artificial variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115102 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3cf763dc7a9741c14432710943ab66b439562881 30-Sep-2010 Devang Patel <dpatel@apple.com> Let FE mark a variable as artificial variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115102 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3cfe86c25bc1f0a533a7bf2f156766b123eea235 29-Sep-2010 Devang Patel <dpatel@apple.com> Add support to let FE encode method access specifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1a30123b609d48ac50f9a9e088e55683df70cfc3 29-Sep-2010 Devang Patel <dpatel@apple.com> Add support to let FE encode method access specifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
44797890dd6368e1523f98798347b0f45d6a717a 29-Sep-2010 Devang Patel <dpatel@apple.com> Assign DW_ACCESS_public accessibility attribute to members by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115067 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2a3616012c19e0bb0db31ec740c5cf683be87d84 29-Sep-2010 Devang Patel <dpatel@apple.com> Assign DW_ACCESS_public accessibility attribute to members by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115067 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
335edd1b5f4d10458376cf20cda536fc291f5a10 29-Sep-2010 Oscar Fuentes <ofv@wanadoo.es> Removed a bunch of unnecessary target_link_libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114999 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
3609eb0de2f786ca6917d0388c37c23873dbd247 29-Sep-2010 Oscar Fuentes <ofv@wanadoo.es> Removed a bunch of unnecessary target_link_libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114999 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
61167333d23652de1c0863ca9231551eb5bbca43 28-Sep-2010 Devang Patel <dpatel@apple.com> Provide an interface to let FEs anchor debug info for types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114969 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1a7ca0354a44e321d5f4839a73239e6eaec54ad5 28-Sep-2010 Devang Patel <dpatel@apple.com> Provide an interface to let FEs anchor debug info for types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114969 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ba6c6eb572dcc63b1aac4b487057f2f2e492deec 28-Sep-2010 Devang Patel <dpatel@apple.com> Remove dead argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ee70fa77b4f8bdfd93741609a4d33a831476d505 28-Sep-2010 Devang Patel <dpatel@apple.com> Remove dead argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
82f9a8eae4cb689b5fe40faf35c16279164e2fdb 27-Sep-2010 Chris Lattner <sabre@nondot.org> the latest assembler that runs on powerpc 10.4 machines doesn't
support aligned comm. Detect when compiling for 10.4 and don't
emit an alignment for comm. THis will hopefully fix PR8198.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114817 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8048ebe91d76f5ee58f5c2c7535151d782af4b29 27-Sep-2010 Chris Lattner <sabre@nondot.org> the latest assembler that runs on powerpc 10.4 machines doesn't
support aligned comm. Detect when compiling for 10.4 and don't
emit an alignment for comm. THis will hopefully fix PR8198.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114817 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0518b7a18117e3325c0d041ba37db1276dbe3569 22-Sep-2010 Devang Patel <dpatel@apple.com> Use DW_OP_fbreg when offset is based on frame register.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114585 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
be90c3a0ea66fb05dfe72fbe42cca2713c6c8b1a 22-Sep-2010 Devang Patel <dpatel@apple.com> Use DW_OP_fbreg when offset is based on frame register.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114585 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0d5b5b50ad03f89d598541b588cd334b87014d7a 16-Sep-2010 Devang Patel <dpatel@apple.com> If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114119 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1905a18abcb46e6a57eeaa291cd81fc669cedfd0 16-Sep-2010 Devang Patel <dpatel@apple.com> If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114119 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f318164d18455fe44fcc9e03329036917f303edc 14-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."

This reverts commit r113632

Conflicts:

cmake/modules/AddLLVM.cmake

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113819 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
3a210e2d302758101ac06946e86027b327c7d0f3 14-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."

This reverts commit r113632

Conflicts:

cmake/modules/AddLLVM.cmake

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113819 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
b8bf17a57543429072e916145b5d28de09f4910b 13-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Fix linux/msvc build, move include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113776 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
12ea76563276b656b4bcf7ff38a404c10b0a675f 13-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Fix linux/msvc build, move include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113776 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
a95f589c757c8c857096a07e0d376ca9aaec6c2c 11-Sep-2010 Shih-wei Liao <sliao@google.com> Apply changes on LLVM r112364 after merge.

Change-Id: I9688675d46dca0d564206616c40b005669269010
smPrinter.cpp
da61c1662bd86ea1f7fad601e9966f1b700636c1 11-Sep-2010 Shih-wei Liao <sliao@google.com> Merge commit '69494cf8102cf872e9cb76662e9960be7c112112' into HEAD

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMJITInfo.cpp
lib/Target/ARM/ARMRelocations.h
lib/Transforms/IPO/MergeFunctions.cpp

Change-Id: I23d40983717e072fa49334c1fa54f2cf961476c7
338c97baad1444a4158a7d99162e0e654f058c43 10-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
4e9c939312ff73bd0c6a6485fd5f97012f5910fa 10-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
c1f3acb7b71a00f9a95bbbcf4de1cd02c805ac8a 05-Sep-2010 Chris Lattner <sabre@nondot.org> add a comment about where this should eventually move.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113117 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dfe254b86e93b131cceb6aa27c33b33b2c8102d6 05-Sep-2010 Chris Lattner <sabre@nondot.org> add a comment about where this should eventually move.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113117 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e5e909fd58ca898235e13a949b6e89f08000ef1d 03-Sep-2010 Devang Patel <dpatel@apple.com> There is no need to use .set here.
Thanks Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112900 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a660be7587f52d269135a54e2d485bf7a7bc9c50 03-Sep-2010 Devang Patel <dpatel@apple.com> There is no need to use .set here.
Thanks Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112900 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
17e9a62a01856bfe87c5cadacdf03b9d51397b56 02-Sep-2010 Devang Patel <dpatel@apple.com> Fix .debug_range for linux. Patch by Krister Wombell.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112830 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
b1fcfbe89bd155fb88485b2a3a995adba3994003 02-Sep-2010 Devang Patel <dpatel@apple.com> Fix .debug_range for linux. Patch by Krister Wombell.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112830 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
265228e6020c662fb1b22998a4a374a065914081 01-Sep-2010 Devang Patel <dpatel@apple.com> Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.
This patch was developed on top of original patch by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112678 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ae84d5b9bafd1ba88aa12e8398e5385f229fa306 01-Sep-2010 Devang Patel <dpatel@apple.com> Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.
This patch was developed on top of original patch by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112678 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5a4501459d69cd65252c8309612b396f6fa17176 01-Sep-2010 Devang Patel <dpatel@apple.com> Reapply r112623. Included additional check for unused byval argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112659 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0b48eade42022c929fcf0f2afcffdf849c5bd05a 01-Sep-2010 Devang Patel <dpatel@apple.com> Reapply r112623. Included additional check for unused byval argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112659 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4c8d7cf0fac920dd08c875da8a23c6e19893519d 31-Aug-2010 Devang Patel <dpatel@apple.com> Revert r112623. It is causing self host build failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
81b79b5fa808730d102cdc4b60a52e602d425de5 31-Aug-2010 Devang Patel <dpatel@apple.com> Revert r112623. It is causing self host build failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
873476d74cb9d9cee1c8a9e27fbab4b539aab7f7 31-Aug-2010 Devang Patel <dpatel@apple.com> Remember byval argument's frame index during argument lowering and use this info to emit debug info.
Fixes Radar 8367011.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112623 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8480c2e314f6c01638ea16f32149417848352085 31-Aug-2010 Devang Patel <dpatel@apple.com> Remember byval argument's frame index during argument lowering and use this info to emit debug info.
Fixes Radar 8367011.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112623 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9392d76b5ca2db126618f8ad6a7d40b8b18478a5 31-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112583 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9e3bd2c476570217f939f521ed191dd0278b1ada 31-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112583 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
32497e1a4b44bbad671605bf3d382c6dc4b92c23 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
945ee41a3d773f5ef0599b4ae80361f907f15dfe 24-Aug-2010 Devang Patel <dpatel@apple.com> Revert r107202. It is not adding any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111870 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
af608bd4fe3c334d2f81f174478825f35b195adc 24-Aug-2010 Devang Patel <dpatel@apple.com> Revert r107202. It is not adding any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111870 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1eac9de3cea3b4b753c8db371c563c36fba69dd5 23-Aug-2010 Devang Patel <dpatel@apple.com> Handle qualified constants that are directly folded by FE.
PR 7920.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0c4720c6bdf517d02aaf71d90c0572a5aa4813bc 23-Aug-2010 Devang Patel <dpatel@apple.com> Handle qualified constants that are directly folded by FE.
PR 7920.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
01085e6f25479f3e4075a9c60d028e7a462410bb 21-Aug-2010 Bill Wendling <isanbard@gmail.com> Create the new linker type "linker_private_weak_def_auto".

It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility. The symbols are removed by the linker from the final linked image
(executable or dynamic library).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
55ae515f9db484125a23429d4906c5edaf9f10d2 21-Aug-2010 Bill Wendling <isanbard@gmail.com> Create the new linker type "linker_private_weak_def_auto".

It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility. The symbols are removed by the linker from the final linked image
(executable or dynamic library).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
28c238c9ded0b5c91e122c94b5a02d76a5245c11 20-Aug-2010 Ying Wang <wangying@google.com> Fix sim build.

Note that this only makes the sim build green, but the built images won't work for sure:
No libbcc.so, which depends on something else that can not build in sim mode.
No x86 bitcode is generated as well, I believe.

Change-Id: Idca8378427196622ac77cd56a38c6a160f03ba22
ndroid.mk
021fd61be69c5a763a5d32bc1912d5ecc83bb96b 18-Aug-2010 Bill Wendling <isanbard@gmail.com> Improve whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111384 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3d7ff08c82be2f95902089dd59cff2a37999a991 18-Aug-2010 Bill Wendling <isanbard@gmail.com> Improve whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111384 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
610c3f6dd98a3ab2560f985fdfed96e3b43aa26b 16-Aug-2010 Eli Friedman <eli.friedman@gmail.com> Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
emission.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
0b95fdbd6f9f9c9275c77c93a522b0998efbbff1 16-Aug-2010 Eli Friedman <eli.friedman@gmail.com> Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
emission.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
7966dfc430b5b778ad4f2633cb38cb2442601108 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not forget debug info for enums. Use named mdnode to keep track of these types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110712 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e7e5a0f6fb1dec21f296a9872088935860660819 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not forget debug info for enums. Use named mdnode to keep track of these types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110712 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3ab1af43d4b9846b4aa69a43de0f86eee781b9d4 10-Aug-2010 Devang Patel <dpatel@apple.com> Handle TAG_constant for integers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110656 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
293680756404020a4888860db9f34728c9cecd1f 10-Aug-2010 Devang Patel <dpatel@apple.com> Handle TAG_constant for integers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110656 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bcd0b63e939e4c2e44e6dfceea0017739b4d04d8 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110653 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ecbd8e866bedb87e68946fa711021e6b8efff43a 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110653 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3526241db68817079a71ea6f4eac7ef604e1307e 10-Aug-2010 Devang Patel <dpatel@apple.com> Drop "const". It does not add value here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110652 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
85e9580e25fdee623dc436d7f06faaefb7525f43 10-Aug-2010 Devang Patel <dpatel@apple.com> Drop "const". It does not add value here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110652 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b71395b1625744c00e3b0ec7338b7887a7cfbdc3 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not include file static variable in pubnames list.
Refactor and simplify code to avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110642 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9fa539ce33bbf44595bd4f0a903ab7d9c5e7cd93 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not include file static variable in pubnames list.
Refactor and simplify code to avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110642 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
03049c4f641cb15ac64361fb2b00de8864f09bce 10-Aug-2010 Devang Patel <dpatel@apple.com> Undo accidental commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110623 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
02ecdefbe48a054d962d6977967d1ae57a31a074 10-Aug-2010 Devang Patel <dpatel@apple.com> Undo accidental commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110623 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b19f735310177781ed8bd969de5b5d0478aee1f8 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify. Avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110621 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
450b793a0446042ee9af9d384de7cca243856b0b 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify. Avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110621 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ee993e30d6a2b172d2682841d89445303ee21d49 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2739896cdd3c987de3d7f9a41217b4b954287c8d 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
07c6151f640d973e55b65d55d104987bfcd12999 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactoring. Update DbgVarible to handle queries itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110600 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8bd11de33e9f6ee9d3dd1eed157e801aa27d5783 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactoring. Update DbgVarible to handle queries itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110600 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e7349c585a7a2765d92fea4463c64d623886a2e8 09-Aug-2010 Devang Patel <dpatel@apple.com> It is ok, and convenient, to pass descriptors by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110590 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8162574aaafff760abf04ec780c24b45b6d9cfdb 09-Aug-2010 Devang Patel <dpatel@apple.com> It is ok, and convenient, to pass descriptors by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110590 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8bdfceca2e8cc919230158d81b5c38b2a470330e 09-Aug-2010 Devang Patel <dpatel@apple.com> Rename a method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110586 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e03161c28e361d1813dd0085cacd596f5cde7327 09-Aug-2010 Devang Patel <dpatel@apple.com> Rename a method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110586 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7569322765651f19eea0609fb082e6b267d5d2b5 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
90c579de5a383cee278acc3f7e7b9d0a656e6a35 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
619acdc63ab0a47d125dca0591285c8ac4c9ed20 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1f74590e9d1b9cf0f1f81a156efea73f76546e05 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0e63653ab0d25d579ad99948db606d8723d271dd 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9ccaf53ada99c63737547c0235baeb8454b04e80 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f9a52d20ebe925b21118b8fefb96da67a1a75d62 05-Aug-2010 Devang Patel <dpatel@apple.com> Use location entry only of the location described by DBG_VALUE is valid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110255 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5573a7da298e68db9e63307b766dd650f044287e 05-Aug-2010 Devang Patel <dpatel@apple.com> Use location entry only of the location described by DBG_VALUE is valid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110255 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0d6e3dfee9a157b597280a81773f9a5b39853502 04-Aug-2010 Devang Patel <dpatel@apple.com> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110244 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a54e0cca4be62678687f943a085e3f64eed9eb2c 04-Aug-2010 Devang Patel <dpatel@apple.com> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110244 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a3f4d8febfda9cdfaf0184f7faa86d5b9b4fb7f2 04-Aug-2010 Dan Gohman <gohman@apple.com> Change this llvm_unreachable to report_fatal_error, since it can
be triggered by valid, if dubious, IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110240 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9f6a6862be09df9f1e90b0560e52da7d15935f24 04-Aug-2010 Dan Gohman <gohman@apple.com> Change this llvm_unreachable to report_fatal_error, since it can
be triggered by valid, if dubious, IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110240 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3221d8addafdf734a26b83c84265e24497154b16 04-Aug-2010 Devang Patel <dpatel@apple.com> If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110234 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b2cf5816f9bada99ee9ba5cc1b56841142ebd706 04-Aug-2010 Devang Patel <dpatel@apple.com> If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110234 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bd1ee45bf443225f9e9363663e65dec981ec2c8a 02-Aug-2010 Devang Patel <dpatel@apple.com> Free DbgScope created for dead functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e9a1ccaf8036fbd46a350ddd3367e25b1fbc8d54 02-Aug-2010 Devang Patel <dpatel@apple.com> Free DbgScope created for dead functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4b3eb330a0dfae55c07e0ded7a309d01d2e69285 01-Aug-2010 Bill Wendling <isanbard@gmail.com> Reference the personalities. Don't copy them into a new vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109966 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
57dba1cf53c87709cbb2839809f6cfa897fac047 01-Aug-2010 Bill Wendling <isanbard@gmail.com> Reference the personalities. Don't copy them into a new vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109966 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
87ac40d70e260ffde8429a1b9b5c585ceda026b8 27-Jul-2010 Devang Patel <dpatel@apple.com> It is FE's responsibility to emit proper directory name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109538 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
37032350c8c95a3d742b75be101c11b32f4211d7 27-Jul-2010 Devang Patel <dpatel@apple.com> It is FE's responsibility to emit proper directory name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109538 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6c8121125d1d2f5a37b9f19b1d17652f4e29c497 24-Jul-2010 Devang Patel <dpatel@apple.com> Use current working directory when Dirname is empty. This only happens when absolute source file path is used on compiler command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2f58485fc87143bb97e3d88dde9ab2d28211cd28 24-Jul-2010 Devang Patel <dpatel@apple.com> Use current working directory when Dirname is empty. This only happens when absolute source file path is used on compiler command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fa751bc8046754e15dadeea0fac1e6a69262f47c 24-Jul-2010 Devang Patel <dpatel@apple.com> Revert r109262.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109285 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5f2f69b6481cab766723edc74825eaa1143f4f62 24-Jul-2010 Devang Patel <dpatel@apple.com> Revert r109262.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109285 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0f862800821352ea9a12ebb6bc30b145d9ae6596 23-Jul-2010 Devang Patel <dpatel@apple.com> IF directory name is empty then try to extract one using absolute file name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109262 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f83f42599d1242cc498b8062bb514b357aa572ce 23-Jul-2010 Devang Patel <dpatel@apple.com> IF directory name is empty then try to extract one using absolute file name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109262 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
30ea00a73f82df33ce1a38628fbff1b56a778f4c 22-Jul-2010 Jim Grosbach <grosbach@apple.com> For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109057 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
917290043f87b8efa6ba540bec5963013c517912 22-Jul-2010 Jim Grosbach <grosbach@apple.com> For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109057 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
94aec127ded8dbc56fa82f454dbe8c167751d022 21-Jul-2010 Jim Grosbach <grosbach@apple.com> 80 column and trailing whitespace cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109037 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1e20b963131dc205dc219a17baeda2b3e27c2b66 21-Jul-2010 Jim Grosbach <grosbach@apple.com> 80 column and trailing whitespace cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109037 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
94e59a01f9c8930c75906988d293b93d01d1c59b 21-Jul-2010 Dan Gohman <gohman@apple.com> Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
872814ae048df032bddf9299c850f5bda08299a9 21-Jul-2010 Dan Gohman <gohman@apple.com> Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
45b08d3d2b9adb3282f16e0969f78aa6f20d0038 20-Jul-2010 Stuart Hastings <stuart@apple.com> Correct line info for declarations/definitions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108784 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0db42710693badaab808ccf8bcd265144ce8493d 20-Jul-2010 Stuart Hastings <stuart@apple.com> Correct line info for declarations/definitions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108784 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
99fbafe915c76d239fbfe568efd58c5237503097 19-Jul-2010 Devang Patel <dpatel@apple.com> Fix PR 7662.
Do not try to insert local variable info to a DIE used for function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108731 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8b3a6b651e267e5e6e68a3bd0aabd8ee90eb1aac 19-Jul-2010 Devang Patel <dpatel@apple.com> Fix PR 7662.
Do not try to insert local variable info to a DIE used for function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108731 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a3692dad3ef77c2a5e846f2324927e3ee0afee78 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> Target: Give the TargetAsmParser access to the TargetMachine.
- Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
d73ada7d24832bc2a4c3965b8f00ffd951341acf 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> Target: Give the TargetAsmParser access to the TargetMachine.
- Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
dd7297238f1bcc0edcde64c64a3bb7465aa2f194 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Move several clients to using AsmParser constructor function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
9fbb37e10d3b2814877bb8d2893d863fe1da660b 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Move several clients to using AsmParser constructor function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
f7e17759079cb76ced7a1c1abf47ade044395c55 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Use isPrologLabel() instead of checking the opcode directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108628 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7490896f9dd4bb7955b39fa601ae7a9325e2775f 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Use isPrologLabel() instead of checking the opcode directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108628 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5a1bec1ebbe8c4427a31930e6dd6cc81917fc378 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Consider this function:

void foo() { __builtin_unreachable(); }

It will output the following on Darwin X86:

_func1:
Leh_func_begin0:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
Leh_func_end0:

This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108568 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dc86704114a065da0ff1d835edcd62aae51481dd 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Consider this function:

void foo() { __builtin_unreachable(); }

It will output the following on Darwin X86:

_func1:
Leh_func_begin0:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
Leh_func_end0:

This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108568 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a02effc0bdeef3db3c148485564cab5ab6a7294a 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and
thus is a much more meaningful name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108563 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7431beaba2a01c3fe299c861b2ec85cbf1dc81c4 17-Jul-2010 Bill Wendling <isanbard@gmail.com> Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and
thus is a much more meaningful name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108563 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
def3acbff14a29a3295e245b91a639d05f8dc077 16-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.

TII::isMoveInstr is going tobe completely removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108507 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
04c528a0c86ddf3d6a70681f72e1b2ec07b0b53a 16-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.

TII::isMoveInstr is going tobe completely removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108507 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d0c6a6bdc440b527399822b8c3fad444b816b3e0 15-Jul-2010 Chris Lattner <sabre@nondot.org> a more graceful fix for test/Other/inline-asm-newline-terminator.ll,
follow on to r103765


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108390 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
b5b73c4c86b68e5edc3d3fceff28e852c1141b7f 15-Jul-2010 Chris Lattner <sabre@nondot.org> a more graceful fix for test/Other/inline-asm-newline-terminator.ll,
follow on to r103765


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108390 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
fed1703144c218146aa0c1aab7c7b8a844b332ed 09-Jul-2010 Stuart Hastings <stuart@apple.com> Reverting r107918 and r107919. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107930 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
99cfb69f17ccf6dca7378fe6d1c60758e5cabd1f 09-Jul-2010 Stuart Hastings <stuart@apple.com> Reverting r107918 and r107919. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107930 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1b2773bcc4e3443aa1e981c7849e941b00503f08 09-Jul-2010 Devang Patel <dpatel@apple.com> Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.
This fixes PR7596 .



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107923 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0afbf23453a7ea2ed2705ca350ea64629852558c 09-Jul-2010 Devang Patel <dpatel@apple.com> Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.
This fixes PR7596 .



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107923 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
43e24508090b94c1be5928a5c087baebeb04c49c 09-Jul-2010 Stuart Hastings <stuart@apple.com> Fix decl/def debug info for template functions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107919 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c0e2639a3450e5cca5cd5082cef55a64bbd27ad4 09-Jul-2010 Stuart Hastings <stuart@apple.com> Fix decl/def debug info for template functions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107919 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d36a93d65fd9c67fb529eac11ec3a18050e02365 08-Jul-2010 Devang Patel <dpatel@apple.com> Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107903 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ca76f6f57cc50fcdbdb661ea80f7ffd42220fdbe 08-Jul-2010 Devang Patel <dpatel@apple.com> Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107903 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
82aaacec7c2d63a23febea743bba79186807dbec 08-Jul-2010 Devang Patel <dpatel@apple.com> One MDNode may be used to create regular DIE as well as abstract DIE.
Keep track of abstract subprogram DIEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8aa61477e3cbc6ebc399274042799a5cf09629a1 08-Jul-2010 Devang Patel <dpatel@apple.com> One MDNode may be used to create regular DIE as well as abstract DIE.
Keep track of abstract subprogram DIEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0f23f26115745426b34568a39acdb8d2f130c3ba 07-Jul-2010 Devang Patel <dpatel@apple.com> Rename couple of maps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107810 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
869aa463c82b1a9a92d3683d532fc106e2b96575 07-Jul-2010 Devang Patel <dpatel@apple.com> Rename couple of maps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107810 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
84afdd5f7b616d05f3dff952d8b84428884e3671 07-Jul-2010 Devang Patel <dpatel@apple.com> 80 cols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107807 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6140962aba758e758b04bd581bc6ef050f31549f 07-Jul-2010 Devang Patel <dpatel@apple.com> 80 cols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107807 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
908c105be3c4c20123d2d45f434386039aada840 02-Jul-2010 Dale Johannesen <dalej@apple.com> Propagate the AlignStack bit in InlineAsm's to the
PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not. gcc consistently
does not do this for GCC-style asms; Apple gcc inconsistently
sometimes does it for asm blocks. There is no
convenient place to put a bit in either the SDNode or
the MachineInstr form, so I've added an extra operand
to each; unlovely, but it does allow for expansion for
more bits, should we need it. PR 5125. Some
existing testcases are affected.
The operand lists of the SDNode and MachineInstr forms
are indexed with awesome mnemonics, like "2"; I may
fix this someday, but not now. I'm not making it any
worse. If anyone is inspired I think you can find all
the right places from this patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107506 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
f1e309eb4862459a76445942ba4dafc433b6f317 02-Jul-2010 Dale Johannesen <dalej@apple.com> Propagate the AlignStack bit in InlineAsm's to the
PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not. gcc consistently
does not do this for GCC-style asms; Apple gcc inconsistently
sometimes does it for asm blocks. There is no
convenient place to put a bit in either the SDNode or
the MachineInstr form, so I've added an extra operand
to each; unlovely, but it does allow for expansion for
more bits, should we need it. PR 5125. Some
existing testcases are affected.
The operand lists of the SDNode and MachineInstr forms
are indexed with awesome mnemonics, like "2"; I may
fix this someday, but not now. I'm not making it any
worse. If anyone is inspired I think you can find all
the right places from this patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107506 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
73b3a72bb9b93a3d33b490fd415c2c186a4f2035 02-Jul-2010 Bill Wendling <isanbard@gmail.com> Make the "linker_private" linkage type emit a non-weak symbol to the file. It
will still be stripped by the linker when it generates the final image.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
eabd735c9a87203a567caf1ef117aeae9d288aaa 02-Jul-2010 Bill Wendling <isanbard@gmail.com> Make the "linker_private" linkage type emit a non-weak symbol to the file. It
will still be stripped by the linker when it generates the final image.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f823966e3fdbd57c5f85cc1ce856c7435c474bf4 01-Jul-2010 Bill Wendling <isanbard@gmail.com> Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5e721d768254a920b78b9129d79a84c0163cb3f4 01-Jul-2010 Bill Wendling <isanbard@gmail.com> Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c7be3133a7438d16d32c98d532fe78143f4d8745 01-Jul-2010 Devang Patel <dpatel@apple.com> Do not require line number entry for undefined local variable.
This is a regression caused by r106792 and caught by gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107430 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7fb231cbecb18634ef4af8d87ab82b6987f664d8 01-Jul-2010 Devang Patel <dpatel@apple.com> Do not require line number entry for undefined local variable.
This is a regression caused by r106792 and caught by gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107430 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
58b651de4926fb540218be70049c896d0ec53bb9 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Pass the target instance to the AsmParser constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
9186fa6b0c8806786cae78bed50f95d1c7ce2b00 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Pass the target instance to the AsmParser constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
652afaf8b379e44021fe9d64ca8e401c793a3be6 01-Jul-2010 Mikhail Glushenkov <foldr@codedgers.com> Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107360 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
dd2ad8432f104282ff43c94457f474ea0a264175 01-Jul-2010 Mikhail Glushenkov <foldr@codedgers.com> Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107360 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
a6aad8be44ec7487e73b6f039bc4725fef560cf8 30-Jun-2010 Devang Patel <dpatel@apple.com> Do not construct DIE for already processed MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107237 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
90e19aad7dae346a7dc1a66f07bfe13038e67349 30-Jun-2010 Devang Patel <dpatel@apple.com> Do not construct DIE for already processed MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107237 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
014bba213336acc237d464d594d8dd9fb865e0da 30-Jun-2010 Devang Patel <dpatel@apple.com> Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107228 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1d68d21bae7602fd1e561a85de9a736dc16eb3e2 30-Jun-2010 Devang Patel <dpatel@apple.com> Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107228 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e066d26445ddf4114e2738021273126206cc4822 30-Jun-2010 Bill Wendling <isanbard@gmail.com> Revert r107205 and r107207.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
07d317711781d8c9268f7d6afcf1ba7eadf1d127 30-Jun-2010 Bill Wendling <isanbard@gmail.com> Revert r107205 and r107207.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
abb79d9b00c05bee279441be7e3a12ab12743965 30-Jun-2010 Devang Patel <dpatel@apple.com> Print InlinedAt location.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107214 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e025e966a863229feb7ad188f520ce213bb30a34 30-Jun-2010 Devang Patel <dpatel@apple.com> Print InlinedAt location.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107214 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f8b6137ea514c38511dbeedde9c02e27c937cad3 29-Jun-2010 Bill Wendling <isanbard@gmail.com> Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
207855cff9b4811004b9720f28a5bd0adf3784b7 29-Jun-2010 Bill Wendling <isanbard@gmail.com> Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dd38506815a0144a290312e6150b01044fe39a6f 29-Jun-2010 Devang Patel <dpatel@apple.com> Do not hardcode DW_AT_stmt_list value.
Inspired by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107202 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1e4782d6f95c065d06ed53eb96036737beb66bef 29-Jun-2010 Devang Patel <dpatel@apple.com> Do not hardcode DW_AT_stmt_list value.
Inspired by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107202 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
efc6c9e1817bf7ffcea509d5ba3898182c8c850f 29-Jun-2010 Devang Patel <dpatel@apple.com> Use DW_FORM_addr for DW_AT_entry_pc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107085 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
9b93b6b49a406bbeec364408e115c671098f3944 29-Jun-2010 Devang Patel <dpatel@apple.com> Use DW_FORM_addr for DW_AT_entry_pc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107085 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
50d17d2bedf58d6c31bffb924b3500f525222d50 28-Jun-2010 Devang Patel <dpatel@apple.com> Include inlined function in list of processed subprograms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107065 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0dd4558e7d0d2191c3d69e61e6a3e349dd605c80 28-Jun-2010 Devang Patel <dpatel@apple.com> Include inlined function in list of processed subprograms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107065 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8233507609c88f4b114846102d4c03122acdb41a 28-Jun-2010 Devang Patel <dpatel@apple.com> Preserve deleted function's local variables' debug info.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107027 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4a1cad673c5bf0812099c6c8f551fe6af967c2b3 28-Jun-2010 Devang Patel <dpatel@apple.com> Preserve deleted function's local variables' debug info.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107027 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
15642b3d55e7d2b4fbb0014abe2858301b8701b6 28-Jun-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106990 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f347b82d49394965d2a5937ea9bd68d90029655e 28-Jun-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106990 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
55202eaf6299c8be2aaa97697c6dfccbbbfcc81c 26-Jun-2010 Devang Patel <dpatel@apple.com> Collect debug info for optimized variables of inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106895 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
78e127d81b58de8663f8328dc1cdbd1f31a759fd 26-Jun-2010 Devang Patel <dpatel@apple.com> Collect debug info for optimized variables of inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106895 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3d5b9833b5e2cfc178a3d778f59c49b007e061c6 24-Jun-2010 Devang Patel <dpatel@apple.com> DBG_VALUE machine instruction pointing to undefined register for a variable justify a separate scope if the variable is inlined function's argument.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106792 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
486ca764216fea073d3bcc0716b181ca861b74f7 24-Jun-2010 Devang Patel <dpatel@apple.com> DBG_VALUE machine instruction pointing to undefined register for a variable justify a separate scope if the variable is inlined function's argument.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106792 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8fa7adcbc5b4d12c6bebec5371379666fda75ef2 22-Jun-2010 Devang Patel <dpatel@apple.com> Use single interface, using twine, to get named metadata.
getNamedMetadata().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106518 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a762b093107ac3aa438815627006425d0b13a236 22-Jun-2010 Devang Patel <dpatel@apple.com> Use single interface, using twine, to get named metadata.
getNamedMetadata().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106518 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
84c7566688cfbcb75436e5277b699988e949b255 22-Jun-2010 Devang Patel <dpatel@apple.com> Discard special LLVM prefix from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106516 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7e1d742e1a868871d7c35d3880d8aa5d6d5d21e2 22-Jun-2010 Devang Patel <dpatel@apple.com> Discard special LLVM prefix from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106516 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b7edda0a45949d975f9ab7416ed61d1c96daaf56 22-Jun-2010 Devang Patel <dpatel@apple.com> Do not rely on Twine temporaries to survive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106515 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d1bbc6b70e2288033fcb8c5b8273e8afb0fe9718 22-Jun-2010 Devang Patel <dpatel@apple.com> Do not rely on Twine temporaries to survive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106515 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e2a9508b0f0ac87d802ef01aa8038846c2ef7976 18-Jun-2010 Dan Gohman <gohman@apple.com> Give NamedRegionTimer an Enabled flag, allowing all its clients to
switch from this:

if (TimePassesIsEnabled) {
NamedRegionTimer T(Name, GroupName);
do_something();
} else {
do_something(); // duplicate the code, this time without a timer!
}

to this:

{
NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled);
do_something();
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106285 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
03c3dc7b6828d48a9f3be50896b3390a696caa64 18-Jun-2010 Dan Gohman <gohman@apple.com> Give NamedRegionTimer an Enabled flag, allowing all its clients to
switch from this:

if (TimePassesIsEnabled) {
NamedRegionTimer T(Name, GroupName);
do_something();
} else {
do_something(); // duplicate the code, this time without a timer!
}

to this:

{
NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled);
do_something();
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106285 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
afc051bfd042cc6aa897a26d93eeb88f9f4802ca 16-Jun-2010 Devang Patel <dpatel@apple.com> Use separate named MDNode to hold each function's local variable info.
This speeds up local variable handling in DwarfDebug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2f7d5291de87bfa195884e84dc0efe9705c2215c 16-Jun-2010 Devang Patel <dpatel@apple.com> Use separate named MDNode to hold each function's local variable info.
This speeds up local variable handling in DwarfDebug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
00147c7a6791447a7ffb601e304b5b2642a7ca57 16-Jun-2010 Eric Christopher <echristo@apple.com> Don't emit the linkage for initializer label for mach-o tls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106073 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7500e06e3886a13e3017d7af77c35d309e875182 16-Jun-2010 Eric Christopher <echristo@apple.com> Don't emit the linkage for initializer label for mach-o tls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106073 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9182e2711677e7eceaed04136fadca5e83455f4f 16-Jun-2010 Stuart Hastings <stuart@apple.com> Added a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106063 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cad22ad0bf1f1d5a40f1bc8ebe02d4edc25e2553 16-Jun-2010 Stuart Hastings <stuart@apple.com> Added a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106063 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
aa685d67d6746a64b517beb1b5c485e8285840d2 11-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. (Again.) Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
215aa15a0d0df75af8d9cef6ef49026dcc3258a8 11-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. (Again.) Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
28188e1c4986d9e4985f0f4a8ce268743eb94631 08-Jun-2010 Shih-wei Liao <sliao@google.com> Git hiccup. Retry....

Change-Id: I5a329137a43f36bab32ea62386ade11da550c0b0
ndroid.mk
c156bc696311928af01132d159b9e307436779bb 08-Jun-2010 Shih-wei Liao <sliao@google.com> Fix llvm.mk and the other 49 mk files

Change-Id: I5aa02363c1083297d163a575f5a35c495f950230
ndroid.mk
6284bf453a19da6b21c5bac5a7783b42ae694589 05-Jun-2010 Stuart Hastings <stuart@apple.com> Revert 105492 & 105493 due to a testcase regression. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6d56b9fabcfb1fc874a6122cf41d876c4673e9d4 05-Jun-2010 Stuart Hastings <stuart@apple.com> Revert 105492 & 105493 due to a testcase regression. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
868b080e81e10ff07964a96130abeb5caacbb925 05-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0f1b8135673f512b3373f3e1f16607f70537be72 05-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dbf4b2d0533807a789d38f850f5e6cb00d1d3d1f 03-Jun-2010 Eric Christopher <echristo@apple.com> One underscore, not two.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7310064f4d14b62029805ab16a11ff443ea309d5 03-Jun-2010 Eric Christopher <echristo@apple.com> One underscore, not two.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a17d0b8d02df6535afb7593244d410a3dc4ff60a 02-Jun-2010 Devang Patel <dpatel@apple.com> Skip identical instruction while calculating DBG_VALUE range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105340 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
354eb7ea968f35a9e8628b8036a69f48a66e1ff9 02-Jun-2010 Devang Patel <dpatel@apple.com> Skip identical instruction while calculating DBG_VALUE range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105340 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a1b75ab2cf9d5564d13145165350c4596a45bd5f 02-Jun-2010 Devang Patel <dpatel@apple.com> Use local small vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105332 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b9abe9f2ad213a1510c23525721d317ec44ee97f 02-Jun-2010 Devang Patel <dpatel@apple.com> Use local small vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105332 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
954ada4da87cba06470d953205c25f6f11ae26ec 01-Jun-2010 Devang Patel <dpatel@apple.com> Ignore line number of debug value in undefined register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105292 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f2e77676242bb5a3940da7b41c42704135e6bd92 01-Jun-2010 Devang Patel <dpatel@apple.com> Ignore line number of debug value in undefined register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105292 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8a965e54f03119fff0e778e3726b6cf0ba56143d 28-May-2010 Stuart Hastings <stuart@apple.com> Revert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104953 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8ffc42f8eaf74dc85a90ca15326508a3a00b44ad 28-May-2010 Stuart Hastings <stuart@apple.com> Revert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104953 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8269974e9c1c53bad0f1b43c6d9c18dbec07aec4 27-May-2010 Devang Patel <dpatel@apple.com> Do not drop location info for inlined function args.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104884 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d8720f4ba3546df76d75c94a8893a385de273cc6 27-May-2010 Devang Patel <dpatel@apple.com> Do not drop location info for inlined function args.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104884 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ff71bf8b828facd2dbd7c74b56cc73af6f1f035e 27-May-2010 Devang Patel <dpatel@apple.com> inlined function's arguments need a label to mark the start point because they are not directly attached to current function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
55e9717e59165d15161991be56c75c3e80220ee8 27-May-2010 Devang Patel <dpatel@apple.com> inlined function's arguments need a label to mark the start point because they are not directly attached to current function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
adfbf7d02607b2b783d159933dccba8a58530645 27-May-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104841 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
aa66d2f48ad0c2d2b3f8929dea432bb17a5442a5 27-May-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104841 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d09fbfaf7096c492a0ce0c4b8658500b3b175c23 27-May-2010 Devang Patel <dpatel@apple.com> Simplify. Eliminate unneeded debug_loc entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
80250686d5df7f3b603eeaa08fb94f2765829e0a 27-May-2010 Devang Patel <dpatel@apple.com> Simplify. Eliminate unneeded debug_loc entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8d91da999f5fc691e292df1516bd4cd22c8e0572 26-May-2010 Devang Patel <dpatel@apple.com> There is no need to force an line number entry (using previous location) for a temp label at unknown location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104740 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
77051f58e9417670c66d7b7f420a98ef46dbcdc6 26-May-2010 Devang Patel <dpatel@apple.com> There is no need to force an line number entry (using previous location) for a temp label at unknown location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104740 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d28f15b0bfee38cc5b6f06a30dec2ab7bdb6b72b 26-May-2010 Devang Patel <dpatel@apple.com> Identify instructions, that needs a label to mark debug info entity, in advance. This simplifies beginScope().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104720 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b2b31a6f93f5329c86e41c04ec8c33799d012f9e 26-May-2010 Devang Patel <dpatel@apple.com> Identify instructions, that needs a label to mark debug info entity, in advance. This simplifies beginScope().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104720 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
531898eda4b0c22303e5a0db9430f30686e6bf02 26-May-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104706 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b21a758bc232fcecdaca4fbc05334bb5b79cdad1 26-May-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104706 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
23720f49524206b4f17037e9c2c51673b59ceb83 26-May-2010 Devang Patel <dpatel@apple.com> Do not construct location list backword!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104705 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e2df84254d628db835eb3e6456187cc3c0085a07 26-May-2010 Devang Patel <dpatel@apple.com> Do not construct location list backword!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104705 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
12188d5bab61d27a61e0a1ad41c28f929d6837a7 26-May-2010 Devang Patel <dpatel@apple.com> First cut at supporting .debug_loc section.
This is used to track variable information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104649 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
c3f5f783a2923e7842802d5cd1a932ee56c3bb45 26-May-2010 Devang Patel <dpatel@apple.com> First cut at supporting .debug_loc section.
This is used to track variable information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104649 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
3fe79fd1451918e661b45268de5610b9657ae72c 25-May-2010 Eric Christopher <echristo@apple.com> Move the verbose asm output up a bit so it can be used in the special cases
as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104642 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
04386ca726d726c214be15a0c3e9dbdc82b1e691 25-May-2010 Eric Christopher <echristo@apple.com> Move the verbose asm output up a bit so it can be used in the special cases
as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104642 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fdc794a7f748a2b83c8a2e32378111785ad53146 25-May-2010 Eric Christopher <echristo@apple.com> Add support for initialized global data for darwin tls. Update comments
and testcases accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104635 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
02b46bc9426925b90137d264216a54aa413335fd 25-May-2010 Eric Christopher <echristo@apple.com> Add support for initialized global data for darwin tls. Update comments
and testcases accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104635 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5173233ef4f496bfc5b0363bc5a61c75a53f4a89 24-May-2010 Devang Patel <dpatel@apple.com> Do not emit line number entries for unknown debug values.
This fixes recent regression in store.exp from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104524 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
295cdf8b8293f31953bad9a4a9c0586e934181c6 24-May-2010 Devang Patel <dpatel@apple.com> Do not emit line number entries for unknown debug values.
This fixes recent regression in store.exp from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104524 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fcaf5017e209a16cafbf7821b2e6c0c306b67398 24-May-2010 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Encode the Caml frametable by following what the comment says: the number of descriptors
is first emitted, and StackOffsets are emitted in 16 bits.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104488 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
3816c25fdc03fb2945ecfe4df41e1834ea386245 24-May-2010 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Encode the Caml frametable by following what the comment says: the number of descriptors
is first emitted, and StackOffsets are emitted in 16 bits.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104488 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
0f986f6715496c159b8dc0b2b09f531b6416d3ee 22-May-2010 Eric Christopher <echristo@apple.com> Add full bss data support for darwin tls variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104414 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8116ca5134b355b897450f9a537c9c77e1f08723 22-May-2010 Eric Christopher <echristo@apple.com> Add full bss data support for darwin tls variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104414 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fc01d2a751127ebc5a4cd2da214df4e5dbaa1223 22-May-2010 Devang Patel <dpatel@apple.com> Collect variable information during endFunction() instead of beginFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104412 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
65eb482e8fcd6084d83793aeb767ef0bddefc92a 22-May-2010 Devang Patel <dpatel@apple.com> Collect variable information during endFunction() instead of beginFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104412 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
519d9bf22f1a9d2c2c6506e59498bfecc388d700 21-May-2010 Devang Patel <dpatel@apple.com> Simplify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104338 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
379fe83dda937658b6b08d3c531f0db6c25b7dd7 21-May-2010 Devang Patel <dpatel@apple.com> Simplify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104338 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c4f998d0437057426bc3d408d3a33fc13d6d3116 21-May-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c0c5a26deadb11b607ffd54b7b8978a56bf3545f 21-May-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6da145f2b10f2362c7bf0bb9cc947d81f535b63d 20-May-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104265 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ee43286ca9b6ae68d3419e23e51925cd1a6808aa 20-May-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104265 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f0e703313005cc56fd7acf0b3e6e1604a37bad4f 20-May-2010 Devang Patel <dpatel@apple.com> Split DbgVariable. Eventually, variable info will be communicated through frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104233 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
26c1e56f13b08ce3233b8f2e1c3e208af7b1ad1f 20-May-2010 Devang Patel <dpatel@apple.com> Split DbgVariable. Eventually, variable info will be communicated through frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104233 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
2d4ea3e6925c65e2a182ea83c3e7d1aab11cc0da 20-May-2010 Eric Christopher <echristo@apple.com> Partial code for emitting thread local bss data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104197 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c1a887d76d95100e7e05aa76e077710bc4e0b1cf 20-May-2010 Eric Christopher <echristo@apple.com> Partial code for emitting thread local bss data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104197 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f25c583e3901f27cc48cd10497931b73a1941103 19-May-2010 Devang Patel <dpatel@apple.com> Revert r104165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104172 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
461a646a035a8c5cf717fcd006db0d637e342e70 19-May-2010 Devang Patel <dpatel@apple.com> Revert r104165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104172 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a5db75c20bb3cb31b8fdb4c710159297c2d3c65f 19-May-2010 Devang Patel <dpatel@apple.com> There is no need to maintain InsnsBeginScopeSet separately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104165 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f4ccaeaef93c56af7017b7e503888e8a0f6d8851 19-May-2010 Devang Patel <dpatel@apple.com> There is no need to maintain InsnsBeginScopeSet separately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104165 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c28e12a7f03668a467038318026dd21727ac9014 14-May-2010 Devang Patel <dpatel@apple.com> Do not forget to mark prcessed arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
26c699565424e93e9d0d0495d7e914d89071d6e0 14-May-2010 Devang Patel <dpatel@apple.com> Do not forget to mark prcessed arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b6d3f2514f08b9451a7b7fb8599c87aba6f0cb7f 14-May-2010 Bill Wendling <isanbard@gmail.com> Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what
the variable actually tracks.

N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103802 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
b92187a4103dca24c3767c380f63593d1f6161a7 14-May-2010 Bill Wendling <isanbard@gmail.com> Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what
the variable actually tracks.

N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103802 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
fad0168253264a619250511d333e81b42af3f07b 14-May-2010 Devang Patel <dpatel@apple.com> Add support to preserve type info for the variables that are removed by the optimizer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
98e1cac52c0eb35fdf6608befd58a8d09d3459d6 14-May-2010 Devang Patel <dpatel@apple.com> Add support to preserve type info for the variables that are removed by the optimizer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f09bec35d06ca60cff9af63b36b54f84ef5d4d6f 14-May-2010 Daniel Dunbar <daniel@zuster.org> Inline Asm: Ensure buffer is newline terminated to match how the text is printed.
- This is a hack, but I can't decide the best place to handle this. Chris?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103765 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
d11d59e35a977e65387c3033dd7b0b7af5641f1e 14-May-2010 Daniel Dunbar <daniel@zuster.org> Inline Asm: Ensure buffer is newline terminated to match how the text is printed.
- This is a hack, but I can't decide the best place to handle this. Chris?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103765 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
f01b62dabc0372b5cf4525272fba263e6589f066 12-May-2010 Duncan Sands <baldrick@free.fr> Remove unused variable. Tweak a comment while there.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103586 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5b1b3b73f2e4fc66eb8a9273673d128b139caf03 12-May-2010 Duncan Sands <baldrick@free.fr> Remove unused variable. Tweak a comment while there.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103586 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
45ad6ff8701825cf79c5d3ce42e2b5a88dc85f65 12-May-2010 Nathan Jeffords <blunted2night@gmail.com> updated support for the COFF .linkonce

Now, the .linkonce directive is emitted as part of MCSectionCOFF::PrintSwitchToSection instead of AsmPrinter::EmitLinkage since it is an attribute of the section the symbol was placed into not the symbol itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103568 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
871bb94c4343dcc7391af7833ebb4313a782440b 12-May-2010 Nathan Jeffords <blunted2night@gmail.com> updated support for the COFF .linkonce

Now, the .linkonce directive is emitted as part of MCSectionCOFF::PrintSwitchToSection instead of AsmPrinter::EmitLinkage since it is an attribute of the section the symbol was placed into not the symbol itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103568 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7e5a86e0c9d0445f638f6423d72e7069e4ef7a89 11-May-2010 Devang Patel <dpatel@apple.com> Enable multiple Compile Units in one module.
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103439 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
163a9f7c5f545414506364a94689e22d59533fe6 11-May-2010 Devang Patel <dpatel@apple.com> Enable multiple Compile Units in one module.
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103439 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
532a9a81c9c75f5a509737710899cf1184e888e2 08-May-2010 Devang Patel <dpatel@apple.com> Instead of just verifying compile unit, verify entire type, variable, namespace etc..


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103327 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c665a5146d37cbc793f2e4413fd39a40ec230e12 08-May-2010 Devang Patel <dpatel@apple.com> Instead of just verifying compile unit, verify entire type, variable, namespace etc..


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103327 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4942c4b48d0756df697bf4e488b95dc498170d6e 08-May-2010 Devang Patel <dpatel@apple.com> Remove DIGlobal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a49d8772902c2a72c298952f633ab4224cf33add 08-May-2010 Devang Patel <dpatel@apple.com> Remove DIGlobal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9738af915ba0f9ac00beefc4189c1acf962bcaf8 07-May-2010 Devang Patel <dpatel@apple.com> Verify entire type descriptor not just tag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103303 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9c00487dc33b21061a5daf3ef9c2455715683f3f 07-May-2010 Devang Patel <dpatel@apple.com> Verify entire type descriptor not just tag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103303 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9c371c62fee60d6fcd700c6f6099d8990c5441dc 07-May-2010 Devang Patel <dpatel@apple.com> Wrap const MDNode * inside DIDescriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e9f8f5e6004fd49f2aff4dd23db8e9b0e4454fc6 07-May-2010 Devang Patel <dpatel@apple.com> Wrap const MDNode * inside DIDescriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
19302aa91af26253b5a9d5e39ec5745b0e0cdf66 07-May-2010 Devang Patel <dpatel@apple.com> Avoid DIDescriptor::getNode(). Use overloaded operators instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
2db49d797b86b7f3615bae17b2b016727778a6c4 07-May-2010 Devang Patel <dpatel@apple.com> Avoid DIDescriptor::getNode(). Use overloaded operators instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
77c565e27c142ea036195463767a90d80f7c4d9b 07-May-2010 Dan Gohman <gohman@apple.com> Disable the new unknown-location code for now. It causes a major
increase in the debug line info section, and it's causing
regressions in a gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103226 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
281d65d004df3ecf84aeb8be68cd0ce0215d5f19 07-May-2010 Dan Gohman <gohman@apple.com> Disable the new unknown-location code for now. It causes a major
increase in the debug line info section, and it's causing
regressions in a gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103226 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f79f0f79cfe8d4f689fbd3c91cf3dd25d8f84c8c 06-May-2010 Dan Gohman <gohman@apple.com> Update LabelsBeforeInsn also, when creating unknown-position labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103145 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
75395847817b88798f9d8cdfb7bc99388167d291 06-May-2010 Dan Gohman <gohman@apple.com> Update LabelsBeforeInsn also, when creating unknown-position labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103145 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d095d3410fd7b5f586abcf00b4d990735edef4b7 06-May-2010 Chris Lattner <sabre@nondot.org> Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.

Users can write broken code that emits the same label twice with asm renaming,
detect this and emit a fatal backend error instead of aborting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103140 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b4202dbb36e9799c96890fc3aa0040c1aedb33c8 06-May-2010 Chris Lattner <sabre@nondot.org> Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.

Users can write broken code that emits the same label twice with asm renaming,
detect this and emit a fatal backend error instead of aborting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103140 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5d0dda591ca511756f2fbe2b9987f786d230863e 06-May-2010 Dan Gohman <gohman@apple.com> Emit debug info for MachineInstrs with unknown debug locations, instead
of just letting them inherit the debug locations of adjacent instructions.

Debug info should aim to be either accurate or absent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103135 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1cc0d628552a43568ec7c143698025ab18f2e072 06-May-2010 Dan Gohman <gohman@apple.com> Emit debug info for MachineInstrs with unknown debug locations, instead
of just letting them inherit the debug locations of adjacent instructions.

Debug info should aim to be either accurate or absent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103135 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ab4b3ce2fbaa457d86d1d7f5d95d2fb3d4152ad5 04-May-2010 Devang Patel <dpatel@apple.com> Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is available all the time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103001 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9c488376efc195e3ee3061d0c3e25e56ff25c7bf 04-May-2010 Devang Patel <dpatel@apple.com> Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is available all the time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103001 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1ffdb1f5cb10080ecbcdbeb414ef27a62e53b0f8 01-May-2010 Dale Johannesen <dalej@apple.com> Don't count debug info as instructions. This was
preventing the emission of the NOP on Darwin for a
function with no actual code. From timberwolfmc
with TEST=optllcdbg.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102843 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d014761c9337f270f497aa960d51ee424bb166d5 01-May-2010 Dale Johannesen <dalej@apple.com> Don't count debug info as instructions. This was
preventing the emission of the NOP on Darwin for a
function with no actual code. From timberwolfmc
with TEST=optllcdbg.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102843 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9e3b7aef13b3933667e956d041d5f38ec2db69c0 30-Apr-2010 Devang Patel <dpatel@apple.com> Attach AT_APPLE_optimized attribute to optimized function's debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ccff812777470d294b7d7407783ccb6111ca0d10 30-Apr-2010 Devang Patel <dpatel@apple.com> Attach AT_APPLE_optimized attribute to optimized function's debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
77defb51f91553f5180feef4ae25da44e8d34491 29-Apr-2010 Devang Patel <dpatel@apple.com> Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.
##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0
##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0
##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706
##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0
##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102655 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
67a444ca362b6f2dc64016494eb1165d46aef0bf 29-Apr-2010 Devang Patel <dpatel@apple.com> Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.
##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0
##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0
##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706
##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0
##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102655 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a59a85f8dd03d52907019f1a4caaf7653b01b7d3 29-Apr-2010 Shih-wei Liao <sliao@google.com> For disassembler

Change-Id: I14e64ec4640cbeb57ac87473775e8ba8a7320b3f
ndroid.mk
smPrinter.cpp
smPrinterInlineAsm.cpp
7516e9ec8193626b3bc987ea7eec3ec2e89e0f9e 28-Apr-2010 Chris Lattner <sabre@nondot.org> Rework global alignment computation again. Now we do round up
alignment of globals to the preferred alignment, but only when
there is no section specified on the global (by far the common
case).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102515 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e87f7bb50e1d08a09e29252806f6502dcff0539d 28-Apr-2010 Chris Lattner <sabre@nondot.org> Rework global alignment computation again. Now we do round up
alignment of globals to the preferred alignment, but only when
there is no section specified on the global (by far the common
case).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102515 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7abe37e4aee38cc79d91dd069a37d7e91d5bef53 28-Apr-2010 Shih-wei Liao <sliao@google.com> Sync upstream to r102410.
Re-turn on sdk.

Change-Id: I91a890863989a67243b4d2dfd1ae09b843ebaeaf
ndroid.mk
smPrinter.cpp
smPrinterDwarf.cpp
smPrinterInlineAsm.cpp
MakeLists.txt
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
camlGCPrinter.cpp
7c3efb1a081fdfffdadb7905416577b3a183a6d0 28-Apr-2010 Devang Patel <dpatel@apple.com> Emit debug info for byval parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102486 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
28ff35d030e2f49ff4e4b1544c015ebe011a530b 28-Apr-2010 Devang Patel <dpatel@apple.com> Emit debug info for byval parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102486 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
027b93645e161c2c511ea19f2c3c417870eeade5 28-Apr-2010 Chris Lattner <sabre@nondot.org> further simplify EmitAlignment by eliminating the
ForcedAlignBits argument, tweaking the single client of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102484 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a7b611c10d0e5fef5870d854518e639ce3d3c6be 28-Apr-2010 Chris Lattner <sabre@nondot.org> further simplify EmitAlignment by eliminating the
ForcedAlignBits argument, tweaking the single client of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102484 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9e7e33eb013fcec81386063f12a329c1724df680 28-Apr-2010 Chris Lattner <sabre@nondot.org> remove a dead argument to EmitAlignment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102483 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
755824756ccdc8f7b1c6f85efffdffb526461cc4 28-Apr-2010 Chris Lattner <sabre@nondot.org> remove a dead argument to EmitAlignment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102483 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7101e23fe14d55b7b9059fbe3a9e9f9525492c87 28-Apr-2010 Chris Lattner <sabre@nondot.org> remove some default arguments to EmitAlignment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102482 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
059ea138a6e4180de0d70390f7147dac66614517 28-Apr-2010 Chris Lattner <sabre@nondot.org> remove some default arguments to EmitAlignment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102482 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
7e62539fafefac54ad61e8fbf4eef36ed97f8de3 28-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102481 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a43098d388131dd0757aa72fd0e7db3587293906 28-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102481 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
becba8133e604550965ecff83231f526bdbce87e 28-Apr-2010 Devang Patel <dpatel@apple.com> Use isReg(), isImm() and isFPImm().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102470 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
97303ee27d3985363987ccdd04a8147713462308 28-Apr-2010 Devang Patel <dpatel@apple.com> Use isReg(), isImm() and isFPImm().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102470 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
480c5d74958e87a8d343a121a623bd40a4650df1 27-Apr-2010 Devang Patel <dpatel@apple.com> Check operand type first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102468 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dcde3db38eaf6f32f96e5f5373b8b29013d272b3 27-Apr-2010 Devang Patel <dpatel@apple.com> Check operand type first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102468 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7f78e21c44fcdfbe2f95fd3882f9b5a9b938b137 27-Apr-2010 Devang Patel <dpatel@apple.com> Ignore DBG_VALUE instructions that points to undef values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102463 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0f9d95254291418a548d1341db540b5d5c11e8f4 27-Apr-2010 Devang Patel <dpatel@apple.com> Ignore DBG_VALUE instructions that points to undef values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102463 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ce7bf01bc7777be166bc3cac7f7c5015410f83ee 27-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.
This patch fixes bug (PR6894) introduced by previous version of this patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102454 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
eac9c07fde0620a3b19cc923c0e80397530b26b0 27-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.
This patch fixes bug (PR6894) introduced by previous version of this patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102454 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
53a0cbf8e9c52c144b25de5a0d81b5b237c4abbc 27-Apr-2010 Evan Cheng <evan.cheng@apple.com> Do not count kill, implicit_def instructions as printed instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102453 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ed33b13a10258fe1589bf6a76d6d65ec33823076 27-Apr-2010 Evan Cheng <evan.cheng@apple.com> Do not count kill, implicit_def instructions as printed instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102453 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0631a92272bef91243ddfe9cc5fa0ca41360c98f 27-Apr-2010 Chris Lattner <sabre@nondot.org> round zero-byte .zerofill directives up to 1 byte. This
should fix some "g++.dg-struct-layout-1" failures,
rdar://7886017


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102421 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4c4d0c0cc582a61d9e7f58594c71540aaa56b280 27-Apr-2010 Chris Lattner <sabre@nondot.org> round zero-byte .zerofill directives up to 1 byte. This
should fix some "g++.dg-struct-layout-1" failures,
rdar://7886017


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102421 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
451ff1faa2ad731b04aea2b988f364eb1fad4dcf 27-Apr-2010 Chris Lattner <sabre@nondot.org> add a comment in verbose-asm mode indicating why a noop is being generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102401 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d61647d306bc297603c607411b2777b217cd65b6 27-Apr-2010 Chris Lattner <sabre@nondot.org> add a comment in verbose-asm mode indicating why a noop is being generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102401 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a408333857f9fc404c69a4954590c348caef9e0d 27-Apr-2010 Chris Lattner <sabre@nondot.org> on darwin empty functions need to codegen into something of non-zero length,
otherwise labels get incorrectly merged. We handled this by emitting a
".byte 0", but this isn't correct on thumb/arm targets where the text segment
needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This
is more gross than it should be because arm/ppc are not fully mc'ized yet.

This fixes rdar://7908505



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102400 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ee9eb411fffddbb8fe70418c05946a131889b487 27-Apr-2010 Chris Lattner <sabre@nondot.org> on darwin empty functions need to codegen into something of non-zero length,
otherwise labels get incorrectly merged. We handled this by emitting a
".byte 0", but this isn't correct on thumb/arm targets where the text segment
needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This
is more gross than it should be because arm/ppc are not fully mc'ized yet.

This fixes rdar://7908505



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102400 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
325691a9830284f14c9832e888e4d1979e05dd7f 27-Apr-2010 Devang Patel <dpatel@apple.com> Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug range entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102394 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5098da0a7e3fb841f71bf5be9211b36fa95f140f 27-Apr-2010 Devang Patel <dpatel@apple.com> Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug range entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102394 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5e94a08f3ca2123d63bd7c72561702f1f188b5de 26-Apr-2010 Chris Lattner <sabre@nondot.org> fix PR6921 a different way. Intead of increasing the
alignment of globals with a specified alignment, we fix
common variables to obey their alignment. Add a comment
explaining why this behavior is important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102365 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
567dd1f5d0ae454e7c51ef070bbb8d31a43ed4bc 26-Apr-2010 Chris Lattner <sabre@nondot.org> fix PR6921 a different way. Intead of increasing the
alignment of globals with a specified alignment, we fix
common variables to obey their alignment. Add a comment
explaining why this behavior is important.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102365 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3d6eda151c0ae80c195ef6e89f53579be748d4a7 26-Apr-2010 Chris Lattner <sabre@nondot.org> Revert r102300/102301, which serious broke objc apps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102359 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f74e25f60c8c63b819ff603cb4c3c18424dc87a7 26-Apr-2010 Chris Lattner <sabre@nondot.org> Revert r102300/102301, which serious broke objc apps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102359 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
43af388111189a0d7bc44272988fb4d08d295f65 25-Apr-2010 Chris Lattner <sabre@nondot.org> Fix PR6921: globals were not getting correctly rounded up to their
preferred alignment unless they were common or some other special
case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102300 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
044698b39a5360f6132cdbecf484f78ae76cb6e1 25-Apr-2010 Chris Lattner <sabre@nondot.org> Fix PR6921: globals were not getting correctly rounded up to their
preferred alignment unless they were common or some other special
case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102300 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
30573dd9c9a10e5587f0c17b775e2be1ccdd871a 23-Apr-2010 Dan Gohman <gohman@apple.com> Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
because 102004 causes codegen to emit invalid assembly on at least
x86_64-unknown-gnu-linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102155 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
314bf7cbbf7e27b47faa4e78d321ea16057ae6a0 23-Apr-2010 Dan Gohman <gohman@apple.com> Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
because 102004 causes codegen to emit invalid assembly on at least
x86_64-unknown-gnu-linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102155 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a53b98584db262b91e0bc44ae2ba51113c68554a 22-Apr-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102129 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
c04d54527e1d7e8b50cefcde7563bcbc7425e978 22-Apr-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102129 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
bbf90b91a1424e74b007b78316ebc3f5d8a2838b 22-Apr-2010 Devang Patel <dpatel@apple.com> Adjust debug range offsets for isWeakForLinker() functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102127 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
18ee3bb0b784d29fdff40301d5691e7e855de547 22-Apr-2010 Devang Patel <dpatel@apple.com> Adjust debug range offsets for isWeakForLinker() functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102127 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
292d04453755e1f57c4d591070d8d6b063becc51 22-Apr-2010 Devang Patel <dpatel@apple.com> Rename InsnAfterLabelMap and InsnBeforeLabelMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102106 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f1dabde404d2b2d6b4ca136f418f61f3b470039a 22-Apr-2010 Devang Patel <dpatel@apple.com> Rename InsnAfterLabelMap and InsnBeforeLabelMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102106 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1005c8e1ce2cde1625a753fc841e7e866adb66d4 22-Apr-2010 Devang Patel <dpatel@apple.com> Keep track of MCSymbol used to mark beginning of a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102104 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3547a88b504a4f322cf3f20e05906e8276ebe6bb 22-Apr-2010 Devang Patel <dpatel@apple.com> Keep track of MCSymbol used to mark beginning of a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102104 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
297c4312fa33e0474bbe2399f6c27dfda7d2330f 22-Apr-2010 Devang Patel <dpatel@apple.com> At this point Start and End are not null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102102 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bc655eaee05689860dd2e8d539e721d678a8e6ab 22-Apr-2010 Devang Patel <dpatel@apple.com> At this point Start and End are not null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102102 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
58e58f65efd7058a0863b0ee98db135a615c2371 21-Apr-2010 Devang Patel <dpatel@apple.com> Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102012 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
708e474c2ff2922786a9ea6562772d2f271dec28 21-Apr-2010 Devang Patel <dpatel@apple.com> Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102012 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ec3b2a4950a9a8d2cba9b48e0fb256968797085f 21-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102004 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9cdb4109d5fbbff3b881d3288a6ec518abc7712e 21-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102004 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8898906b56e8cd9ef4cbe04e36f8e9467bd59692 21-Apr-2010 Evan Cheng <evan.cheng@apple.com> Implement -disable-non-leaf-fp-elim which disable frame pointer elimination
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101984 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e566763b1915c7a4821ce95937b763724d271fec 21-Apr-2010 Evan Cheng <evan.cheng@apple.com> Implement -disable-non-leaf-fp-elim which disable frame pointer elimination
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101984 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e36440acd3987b39076da145b268aac592ca5ccb 20-Apr-2010 Chris Lattner <sabre@nondot.org> Bill's change in r95336 broke empty aggregates embedded
in other types. fix this by only bumping zero-byte globals
up to a single byte if the *entire global* is zero size,
fixing PR6340.

This also fixes empty arrays etc to be handled correctly,
and only does this on subsection-via-symbols targets (aka
darwin) which is the only place where this matters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101879 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
44e05080f828e80e262fc00cc1fa48a8a37b7f3e 20-Apr-2010 Chris Lattner <sabre@nondot.org> Bill's change in r95336 broke empty aggregates embedded
in other types. fix this by only bumping zero-byte globals
up to a single byte if the *entire global* is zero size,
fixing PR6340.

This also fixes empty arrays etc to be handled correctly,
and only does this on subsection-via-symbols targets (aka
darwin) which is the only place where this matters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101879 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d0e9b6728ee42919652fd1fe450f2c73ebe0ea79 20-Apr-2010 Dan Gohman <gohman@apple.com> Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
responsible for figuring out what that's supposed to be on its own.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101844 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
084751cd16c3b8017b5a237bd2575b65a6543f79 20-Apr-2010 Dan Gohman <gohman@apple.com> Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
responsible for figuring out what that's supposed to be on its own.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101844 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9147417b152d607a6c4cef89f239044f46e33610 19-Apr-2010 Devang Patel <dpatel@apple.com> Add DW_AT_APPLE_omit_frame_ptr to encode -fomit-frame-pointer flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101805 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2a4a3b7c6180202d24aff5b1992067907aefcab6 19-Apr-2010 Devang Patel <dpatel@apple.com> Add DW_AT_APPLE_omit_frame_ptr to encode -fomit-frame-pointer flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101805 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
443093da0797ffc3b48ef30121243d1a700e63df 17-Apr-2010 Dan Gohman <gohman@apple.com> Add const qualifiers to TargetLoweringObjectFile usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101640 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0d805c33d134d88169e3dc4a3272cff9a5713ce7 17-Apr-2010 Dan Gohman <gohman@apple.com> Add const qualifiers to TargetLoweringObjectFile usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101640 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8db6249bf8e3ee5dcea276ec29a24835125e8538 17-Apr-2010 Dan Gohman <gohman@apple.com> Use const_cast instead of a C-style cast to cast away const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101639 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
82d5eaf23e9588e47c18ce63acb6a5d35d67490a 17-Apr-2010 Dan Gohman <gohman@apple.com> Use const_cast instead of a C-style cast to cast away const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101639 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
146c6f7e026d4c91ed4fb030660f5af245ee03c6 17-Apr-2010 Devang Patel <dpatel@apple.com> Add support to emit dwarf ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101575 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.h
warfDebug.cpp
warfDebug.h
f2548caaa8b290aa598bf49c27dff72f7751ba5c 17-Apr-2010 Devang Patel <dpatel@apple.com> Add support to emit dwarf ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101575 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.h
warfDebug.cpp
warfDebug.h
738422fa501a08e58d1d55ebebdf0ca499059d72 15-Apr-2010 Dan Gohman <gohman@apple.com> Fix a bunch of namespace polution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b35798347ea87b8b6d36155b211016a7769f01ab 15-Apr-2010 Dan Gohman <gohman@apple.com> Fix a bunch of namespace polution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
36c56d0353f1a9c4e878f509aff85a62e5087dd4 15-Apr-2010 Dan Gohman <gohman@apple.com> Add const qualifiers to CodeGen's use of LLVM IR constructs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
46510a73e977273ec67747eb34cbdb43f815e451 15-Apr-2010 Dan Gohman <gohman@apple.com> Add const qualifiers to CodeGen's use of LLVM IR constructs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d4524b516e318111677341299007bd48bd8ac44c 15-Apr-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101317 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
f8a2e01fc7b1c08f14c08a0562e501f5043ac699 15-Apr-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101317 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
aed7b39ecc2701ccebff0bf01ee158064d7b6323 15-Apr-2010 Devang Patel <dpatel@apple.com> There is no need to track compile unit offsets if there is only one compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101315 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d33402629e7d2758bf0b04d9c2bde74d5fc57363 15-Apr-2010 Devang Patel <dpatel@apple.com> There is no need to track compile unit offsets if there is only one compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101315 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c446f6e2191a8cf0d494fb875538ac93c22d06db 15-Apr-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101314 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
7a996b2b05c82e7a503bed5e5210f3b43f19325f 15-Apr-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101314 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
acbf666c65b5a60070bf24f9cd6a43771e90e4ee 14-Apr-2010 Devang Patel <dpatel@apple.com> Clear MachineInstr->MCSymbol maps at the end of a function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1d526c38e2d903a6c27bb7b90c8636e7b6600136 14-Apr-2010 Devang Patel <dpatel@apple.com> Clear MachineInstr->MCSymbol maps at the end of a function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
21171c2b4a5b83cecc90821609e6455df730cd65 13-Apr-2010 Devang Patel <dpatel@apple.com> Do not include types without any definition in pubtypes list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101171 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
50d80e394d9612e15d9f84b67ed45f88a7826ea6 13-Apr-2010 Devang Patel <dpatel@apple.com> Do not include types without any definition in pubtypes list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101171 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fd0ebd5d0558aca960e1bbbcd93b8198ad8b0fd6 09-Apr-2010 Devang Patel <dpatel@apple.com> Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100867 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5142471fcd9c8f4f86ad08e87cecdce1700562ba 09-Apr-2010 Devang Patel <dpatel@apple.com> Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100867 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c7b9051c4c815c752d07a5c22612c599df26adeb 09-Apr-2010 Chandler Carruth <chandlerc@gmail.com> Add a missing dependency to this library when building with CMake.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100852 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
7b0138ffabb3372e7e67177f26f04f847ac69efc 09-Apr-2010 Chandler Carruth <chandlerc@gmail.com> Add a missing dependency to this library when building with CMake.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100852 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
6ef20139861731c45fec88b644d7316e9468a26e 08-Apr-2010 Chris Lattner <sabre@nondot.org> move elf section uniquing to MCContext. Along the way
merge XCore's section into MCSectionELF


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
74aae4726a66733c5872588287535a984f9a94c7 08-Apr-2010 Chris Lattner <sabre@nondot.org> move elf section uniquing to MCContext. Along the way
merge XCore's section into MCSectionELF


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f63b226c1187a5fa59d30eaf795c6be7f0a8234e 08-Apr-2010 Devang Patel <dpatel@apple.com> Rename a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100797 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e37b0c6c25262b6c9ef4f1595b18e77f299b5035 08-Apr-2010 Devang Patel <dpatel@apple.com> Rename a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100797 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fe5adeb63d07b93aa85df0fc1abd37cadd98be35 08-Apr-2010 Chris Lattner <sabre@nondot.org> implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
d0024fec256659b45350387289e5d4520f15dc6d 08-Apr-2010 Chris Lattner <sabre@nondot.org> implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
6f878385bdd065b547f9d4feaee948075764cc2f 08-Apr-2010 Devang Patel <dpatel@apple.com> One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100781 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1c246358a062bc3537c1286c6b9314d56854a257 08-Apr-2010 Devang Patel <dpatel@apple.com> One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100781 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
2206f66c03b18e56eda96cecd0e4291352e9cf47 08-Apr-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100771 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6a5975f49fc632a2f288b9fb7004fd8ed26713ef 08-Apr-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100771 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1c3046ba6b1666c685c9e9c14de41c8b4e6be351 08-Apr-2010 Devang Patel <dpatel@apple.com> Delete out of date comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100769 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6669b81203d3ce6cfa1d505019ee6d64ae9df02c 08-Apr-2010 Devang Patel <dpatel@apple.com> Delete out of date comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100769 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0d8f3b716b167352843a8b38045f9298b448e10d 08-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6122a4d1c0c73c1d2d5754c50c68d1dc4ae6f70f 08-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b8f832d331b5206b235262e4395b969d68cf439c 08-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Use twines to simplify calls to report_fatal_error. For code size and readability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
camlGCPrinter.cpp
1bd7335a17010bd4d8f86736cf73cac9f3fb80a5 08-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Use twines to simplify calls to report_fatal_error. For code size and readability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
camlGCPrinter.cpp
1178502ccf73f08434a82444def11c8e7d310d28 08-Apr-2010 Chris Lattner <sabre@nondot.org> introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff. Before
we'd generate this for an invalid modifier letter:

$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}'
INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>


Now we generate this:

$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl ${0:Z}'
asm.c:3:12: note: generated from here
__asm__ ("incl %Z0" : "+r" (X));
^
1 error generated.

This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
38686bdffdebc09aa6fe6b8b54b34ac32c753f59 08-Apr-2010 Chris Lattner <sabre@nondot.org> introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff. Before
we'd generate this for an invalid modifier letter:

$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}'
INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>


Now we generate this:

$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl ${0:Z}'
asm.c:3:12: note: generated from here
__asm__ ("incl %Z0" : "+r" (X));
^
1 error generated.

This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
8316f2d3810dd37bae0f847bc3efd495432b5893 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
camlGCPrinter.cpp
75361b69f3f327842b9dad69fa7f28ae3b688412 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
camlGCPrinter.cpp
4c884627e5a3aa1cf57c73535a86a05c2b2fbc6a 08-Apr-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100700 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
00d139064e525221fdf0ff00d001ce8b584d69d6 08-Apr-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100700 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e4454320b3cfffe926a487c33fbeb454366de2f8 07-Apr-2010 Shih-wei Liao <sliao@google.com> libbcc

Change-Id: Ieaa3ebd5a38f370752495549f8870b534eeedfc5
ndroid.mk
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
camlGCPrinter.cpp
57e9bbdc49243250a494463ece6bce33d6bbc3fb 07-Apr-2010 Chris Lattner <sabre@nondot.org> add a comment line that got dropped


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c0561f29a8b95106c757ffa9ad186f997dabd836 07-Apr-2010 Chris Lattner <sabre@nondot.org> add a comment line that got dropped


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
62060a802b8ba875bf7ed22eee05f77c55581f56 07-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
96fbb3eea6ebcd2a6b75973cf11998b4cb0e6a81 07-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c669cb6ba3f71e51fd33cecb3467e5e59f5beb7c 07-Apr-2010 Edwin Török <edwintorok@gmail.com> Workaround the breakage in r100616 by guarding all timers with
TimePassesIsEnabled. This should allow make check to pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
9c4210794ee42542a20023cd0a800003797523e0 07-Apr-2010 Torok Edwin <edwintorok@gmail.com> Workaround the breakage in r100616 by guarding all timers with
TimePassesIsEnabled. This should allow make check to pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
ce3c6253d9783bd8ef899570110bfd4339570fb3 07-Apr-2010 Bill Wendling <isanbard@gmail.com> Use the "NamedGroupTimer" class to categorize DWARF emission better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
5f017e8086c4481da7f5ead2e1d66159e1cc9255 07-Apr-2010 Bill Wendling <isanbard@gmail.com> Use the "NamedGroupTimer" class to categorize DWARF emission better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
7f11c34dec4f2401eecf636ad102d86d29c5e0be 07-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Use raw_ostream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100615 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a592e671ee00e660e31274561e216f5ade39cea4 07-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Use raw_ostream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100615 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bafc8377097d73be2dbc1a4cf344a50ac9e69fe8 07-Apr-2010 Chris Lattner <sabre@nondot.org> Have the inst emitter add the !srcloc mdnode to the machine instr.
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
cf9a415182aca6a432105a2a12168e1049de180a 07-Apr-2010 Chris Lattner <sabre@nondot.org> Have the inst emitter add the !srcloc mdnode to the machine instr.
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
2ad3cb174a3ad3dbf7b921ea70bc2c2f51de4624 07-Apr-2010 Chris Lattner <sabre@nondot.org> remove another magic number.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
fee455ea6a7e209a3cac5fc8e601f8e85cfb3792 07-Apr-2010 Chris Lattner <sabre@nondot.org> remove another magic number.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
fbd947e63c59e0d8012b8358102e6f344b482c04 07-Apr-2010 Dale Johannesen <dalej@apple.com> Move printing of target-indepedent DEBUG_VALUE comments
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100596 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
343b42e428079363ab09828734b2debfd7dbdc9e 07-Apr-2010 Dale Johannesen <dalej@apple.com> Move printing of target-indepedent DEBUG_VALUE comments
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100596 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
75c1062d0f7039ce162b056f4773d446a04157c4 07-Apr-2010 Devang Patel <dpatel@apple.com> Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5f0940002ac4f0601bf53ae9688c2f49045331e2 07-Apr-2010 Devang Patel <dpatel@apple.com> Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6fbbcc87d1aa597f2fa2c77ee3c0ae1101e778a0 07-Apr-2010 John McCall <rjmccall@apple.com> Fix a number of clang -Wsign-compare warnings that didn't have an obvious
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
795ee9dd1e43d9e3ba87c052f721b6f7a2161827 07-Apr-2010 John McCall <rjmccall@apple.com> Fix a number of clang -Wsign-compare warnings that didn't have an obvious
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d706c64ce2ac8c507f021d451e2f647512b0c4ec 07-Apr-2010 Dale Johannesen <dalej@apple.com> Revert 100573, it's causing some testsuite problems.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100578 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
49d915bb9a60b1dc9d1b5313dc8849427a034dfa 07-Apr-2010 Dale Johannesen <dalej@apple.com> Revert 100573, it's causing some testsuite problems.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100578 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2fb774fa3bd93106fceaa80e792c91409a4eb4bc 07-Apr-2010 Dale Johannesen <dalej@apple.com> Move printing of DEBUG_VALUE comments to target-independent place.
There is probably a more elegant way to do this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100573 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0a580d30e0538a561ca39b3970c8c92f8df850e3 07-Apr-2010 Dale Johannesen <dalej@apple.com> Move printing of DEBUG_VALUE comments to target-independent place.
There is probably a more elegant way to do this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100573 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0f5779e649f77b5b6f623abf024e91cfeaac172c 06-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100530 & 100531 due to regressions in the GDB test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
639336e0bda1373566d4cb29469f78fb4c9e95a6 06-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100530 & 100531 due to regressions in the GDB test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
009a8295d7eb3f1296c4e3fa5460ad6aae9b4006 06-Apr-2010 Stuart Hastings <stuart@apple.com> Revise debug info machinery to digest nested functions and classes.

A certain GDB testsuite case (local.cc) has a function nested inside a
class nested inside another function. GCC presents the innermost
function to llvm-convert first. Heretofore, the debug info mistakenly
placed the inner function at module scope. This patch walks the GCC
context links and instantiates the outer class and function so the
debug info is properly nested. Radar 7426545.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
983327b3516faac156d7a7ce26a80e24685221f4 06-Apr-2010 Stuart Hastings <stuart@apple.com> Revise debug info machinery to digest nested functions and classes.

A certain GDB testsuite case (local.cc) has a function nested inside a
class nested inside another function. GCC presents the innermost
function to llvm-convert first. Heretofore, the debug info mistakenly
placed the inner function at module scope. This patch walks the GCC
context links and instantiates the outer class and function so the
debug info is properly nested. Radar 7426545.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4cd8b2a2086cf865b7592920999e6c1bca92b1e9 06-Apr-2010 Chris Lattner <sabre@nondot.org> propagate cookie management out one layer of function calls.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
885d94143d0fc02fd5c4ddf1d2a2ee74c7934bff 06-Apr-2010 Chris Lattner <sabre@nondot.org> propagate cookie management out one layer of function calls.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
890972db38ba77cc983c4ccdce8f068c45945925 06-Apr-2010 Chris Lattner <sabre@nondot.org> report errors through LLVMContext's inline asm handler if available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
6eb7806a5f5edf460e68f52bdd0fad25f7771873 06-Apr-2010 Chris Lattner <sabre@nondot.org> report errors through LLVMContext's inline asm handler if available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
59946385a5dbcf2d6dd76ce8176808a25812bf3f 06-Apr-2010 Devang Patel <dpatel@apple.com> Remove unnecessary include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100505 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f778b57fc58178aebeb5bd97f576c1e00f725db8 06-Apr-2010 Devang Patel <dpatel@apple.com> Remove unnecessary include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100505 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
76a8ffffa1f89e17ce3f5c207d7231a354b161e6 06-Apr-2010 Chris Lattner <sabre@nondot.org> Give AsmParser an option to control whether it finalizes
the stream. New demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
79180e2ef5ff4aa3c8f64b13736e8648663f3965 06-Apr-2010 Chris Lattner <sabre@nondot.org> Give AsmParser an option to control whether it finalizes
the stream. New demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
dd9d85d2fe017801e0090bf89bb3706b9ebacf2d 06-Apr-2010 Chris Lattner <sabre@nondot.org> add .o file writing for inline asm in llc. Here's a silly
demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
<inline asm>:1:2: error: unrecognized instruction
abc incl %eax
^
LLVM ERROR: Error parsing inline asm

Only problem seems to be that the parser finalizes OutStreamer
at the end of the first inline asm, which isn't what we want.
For example:

$ cat asm.c
int foo(int X) {
__asm__ ("incl %0" : "+r" (X));
return X;
}
$ clang asm.c -S -o - -emit-llvm | llc
...
subq $8, %rsp
movl %edi, (%rsp)
movl %edi, %eax
## InlineAsm Start
incl %eax
## InlineAsm End
movl %eax, (%rsp)
movl %eax, 4(%rsp)
addq $8, %rsp
ret
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
$

don't stop at inc!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
af632c91a0090d8448dd10e48d8ce53f31be0a21 06-Apr-2010 Chris Lattner <sabre@nondot.org> add .o file writing for inline asm in llc. Here's a silly
demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
<inline asm>:1:2: error: unrecognized instruction
abc incl %eax
^
LLVM ERROR: Error parsing inline asm

Only problem seems to be that the parser finalizes OutStreamer
at the end of the first inline asm, which isn't what we want.
For example:

$ cat asm.c
int foo(int X) {
__asm__ ("incl %0" : "+r" (X));
return X;
}
$ clang asm.c -S -o - -emit-llvm | llc
...
subq $8, %rsp
movl %edi, (%rsp)
movl %edi, %eax
## InlineAsm Start
incl %eax
## InlineAsm End
movl %eax, (%rsp)
movl %eax, 4(%rsp)
addq $8, %rsp
ret
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
$

don't stop at inc!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
989a27e04176fab71aa980768b87d86df77cd9bf 06-Apr-2010 Bill Wendling <isanbard@gmail.com> Output floating point representations in DWARF format. This is done by outputing
the FP encoding directly as a hex representation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100487 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
57fbba4dba5fe095e325103ff34b9c99bab382f9 06-Apr-2010 Bill Wendling <isanbard@gmail.com> Output floating point representations in DWARF format. This is done by outputing
the FP encoding directly as a hex representation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100487 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7fb59c6cad5a7e3ae621e0fedcbc67fea3ea13fe 06-Apr-2010 Chris Lattner <sabre@nondot.org> stringref-ize the MemoryBuffer::get apis. This requires
a co-committed clang patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
4c842dda3939c6b9f83ba7e8e19e43445cd9a832 06-Apr-2010 Chris Lattner <sabre@nondot.org> stringref-ize the MemoryBuffer::get apis. This requires
a co-committed clang patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
2771f486c69c022df6500558ed8c7b281e6216bd 05-Apr-2010 Chris Lattner <sabre@nondot.org> hopefully sate the clang self host build, which is apparently
instantiating some folding set stuff that GCC isn't, requiring
some types to not be incomplete.

I don't know if clang is right or wrong, but unbreaking the
bot is goodness. Here's the broken build:
http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/1813/steps/compile.llvm.stage2/logs/stdio


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100418 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
d2c4f19a9fd13790ee48ce182c1163476e2cd762 05-Apr-2010 Chris Lattner <sabre@nondot.org> hopefully sate the clang self host build, which is apparently
instantiating some folding set stuff that GCC isn't, requiring
some types to not be incomplete.

I don't know if clang is right or wrong, but unbreaking the
bot is goodness. Here's the broken build:
http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/1813/steps/compile.llvm.stage2/logs/stdio


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100418 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
5889281434bcb1c97866ed5ecff54f664bf9aba8 05-Apr-2010 Chris Lattner <sabre@nondot.org> privatize more stuff, eliminate vtables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100410 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
warfException.h
2b1b3312e043858e89b0b1eddc2f839bef892c8d 05-Apr-2010 Chris Lattner <sabre@nondot.org> privatize more stuff, eliminate vtables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100410 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
warfException.h
2eb6c429c6f9344cefa506da783e0d373f64268c 05-Apr-2010 Chris Lattner <sabre@nondot.org> reprivatize now that DwarfWriter is gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100409 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
warfException.h
105d69759312a9544ec55954b3fb59bdb7e224df 05-Apr-2010 Chris Lattner <sabre@nondot.org> reprivatize now that DwarfWriter is gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100409 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
warfException.h
bf103a9c2d667a8b829b4411fc492ab9a96384f3 05-Apr-2010 Chris Lattner <sabre@nondot.org> prune #includes, MMI can never be null


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
6d7337896f1bcdfbdee90c9c33371c2a373f422a 05-Apr-2010 Chris Lattner <sabre@nondot.org> prune #includes, MMI can never be null


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
855b6bb1a2a91ede6cab7de928841c4227f84101 05-Apr-2010 Chris Lattner <sabre@nondot.org> prune #includes, realize the MMI can never be null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100407 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
74e41f982100b225936d75047dccbe5f1988b1d0 05-Apr-2010 Chris Lattner <sabre@nondot.org> prune #includes, realize the MMI can never be null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100407 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a735c0991fd1c99d620af1b0093c51e406e83015 05-Apr-2010 Chris Lattner <sabre@nondot.org> finally blast DwarfWriter away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100406 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfWriter.cpp
493c9765e066896b381e8404e0c09125377bcc97 05-Apr-2010 Chris Lattner <sabre@nondot.org> finally blast DwarfWriter away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100406 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfWriter.cpp
ec9a1f48a349b292d579e56e2da011cb560069c8 05-Apr-2010 Chris Lattner <sabre@nondot.org> change AsmPrinter to use DwarfDebug/DwarfException directly
instead of going through DwarfWriter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
49cd6649e1246c05896fadefe2fcbc4bc1f5d221 05-Apr-2010 Chris Lattner <sabre@nondot.org> change AsmPrinter to use DwarfDebug/DwarfException directly
instead of going through DwarfWriter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
8b9430cbf64da05fcefd445f6a997260ba7fbc28 05-Apr-2010 Chris Lattner <sabre@nondot.org> trim some spurious references to DwarfWriter. SDIsel really doesn't
need it anymore, so don't addRequire it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ea761868b5e4c0166721daf259f86c3816b44f42 05-Apr-2010 Chris Lattner <sabre@nondot.org> trim some spurious references to DwarfWriter. SDIsel really doesn't
need it anymore, so don't addRequire it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2cb53307e4b148bddbe65301fee21ac4174292ed 05-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate DwarfDebug::shouldEmit, which is the same now as MMI::hasDebugInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100386 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
994cb126c9e67e3dc79db24c609ee48564ab98bc 05-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate DwarfDebug::shouldEmit, which is the same now as MMI::hasDebugInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100386 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
12bb45bc79dd2369145a28bf2fb79979b4c4999b 05-Apr-2010 Chris Lattner <sabre@nondot.org> fix a regression on 2009-08-17-DebugInfo.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100385 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6342b416f3086d3a4b9972106b77a3a8bc1d0d81 05-Apr-2010 Chris Lattner <sabre@nondot.org> fix a regression on 2009-08-17-DebugInfo.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100385 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a52b6176994e25280cf69a8b9069c1ebc5ef4fab 05-Apr-2010 Chris Lattner <sabre@nondot.org> fastisel doesn't need DwarfWriter, remove some tendricles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfWriter.cpp
d850ac79b57e6e0bf68ee93a94d0b3dcd9f6ca35 05-Apr-2010 Chris Lattner <sabre@nondot.org> fastisel doesn't need DwarfWriter, remove some tendricles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfWriter.cpp
bec073cea9e938743567789cc5deac473da04506 05-Apr-2010 Chris Lattner <sabre@nondot.org> just have all targets create the DwarfWriter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
90429c487fe62582241ffe0d3e8acce936f2f8bc 05-Apr-2010 Chris Lattner <sabre@nondot.org> just have all targets create the DwarfWriter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4e127676a8d067dcbd4f8acf6d4769643d0fadb9 05-Apr-2010 Chris Lattner <sabre@nondot.org> nuke DwarfPrinter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100375 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfPrinter.cpp
warfPrinter.h
505e86832ae7b0e1260fe7c1e7a3634ca515bc3e 05-Apr-2010 Chris Lattner <sabre@nondot.org> nuke DwarfPrinter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100375 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
warfPrinter.cpp
warfPrinter.h
f2691ededbfff885879b5a6333fd4402d6ddc83a 05-Apr-2010 Chris Lattner <sabre@nondot.org> make DwarfException not inherit from DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100374 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfWriter.cpp
84ac8b7f43514eda99b0de27c68fbcb5bfa2f399 05-Apr-2010 Chris Lattner <sabre@nondot.org> make DwarfException not inherit from DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100374 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfWriter.cpp
352c8e292c617e3ccedc31dd1c29a3020f400cd2 05-Apr-2010 Chris Lattner <sabre@nondot.org> change SizeOf to take AsmPrinter instead of TargetData,
simplifying a bunch of code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100373 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
a37d5387a54aa9424f6f8c96e5cab1dcbbcd8623 05-Apr-2010 Chris Lattner <sabre@nondot.org> change SizeOf to take AsmPrinter instead of TargetData,
simplifying a bunch of code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100373 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
bc0027bf180a255f3dcf03e992197da4919c88dd 05-Apr-2010 Chris Lattner <sabre@nondot.org> 1) make DIE take AsmPrinter instead of DwarfPrinter.
2) change DwarfDebug to not inherit from DwarfPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfWriter.cpp
d38fee8ddc6597555904b82b6471a446cc5fe183 05-Apr-2010 Chris Lattner <sabre@nondot.org> 1) make DIE take AsmPrinter instead of DwarfPrinter.
2) change DwarfDebug to not inherit from DwarfPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfWriter.cpp
193fec03331e41ddafa58a82d1e52f7904d06852 05-Apr-2010 Chris Lattner <sabre@nondot.org> Move EmitFrameMoves into AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
02b86b93dc4616571fed3473c6da9421c10f2fcc 05-Apr-2010 Chris Lattner <sabre@nondot.org> Move EmitFrameMoves into AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
a8b1f66657ac2e9bed8937a38cc52fc5beacaa96 05-Apr-2010 Chris Lattner <sabre@nondot.org> simplify code and reduce indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100369 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
786d17a0cf49e6bf95c53eff6148cf843d0f1c1d 05-Apr-2010 Chris Lattner <sabre@nondot.org> simplify code and reduce indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100369 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
c06b4740af510c449b41bf2a2f25216f1525a0af 05-Apr-2010 Chris Lattner <sabre@nondot.org> now that the magic is dispelled, move EmitSectionOffset to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100368 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
6189ed10c1a6a39ad516aca2bda2c05fff35a55b 05-Apr-2010 Chris Lattner <sabre@nondot.org> now that the magic is dispelled, move EmitSectionOffset to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100368 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
1f850aa77bd5df21936cf59660b16368858e6d32 05-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate the magic AbsoluteDebugSectionOffsets MAI hook,
which is really a property of the section being referenced.
Add a predicate to MCSection to replace it.

Yay for reduction in magic.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100367 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
3d2251361171b1a41bdb2ac71882e69d48617f49 05-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate the magic AbsoluteDebugSectionOffsets MAI hook,
which is really a property of the section being referenced.
Add a predicate to MCSection to replace it.

Yay for reduction in magic.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100367 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
706afc068ba2625b61677505ab4ed9b6a814aa1a 05-Apr-2010 Chris Lattner <sabre@nondot.org> only emit section labels if we have debug info, fixing a few
regtest failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100366 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
be15beb54ace72508cb3e597c1819132bbbe66f1 05-Apr-2010 Chris Lattner <sabre@nondot.org> only emit section labels if we have debug info, fixing a few
regtest failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100366 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
094932e6c481a403dbd10093f2e6fb9634455c4d 05-Apr-2010 Chris Lattner <sabre@nondot.org> I was wrong, ocaml isn't referencing 'Ldata_begin', so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100365 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4ad1efec925f36cb5ab461fc3c7e40baaf70ae1a 05-Apr-2010 Chris Lattner <sabre@nondot.org> I was wrong, ocaml isn't referencing 'Ldata_begin', so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100365 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c43a7e74dba5d45b39dace1136efb1ddc098a694 05-Apr-2010 Chris Lattner <sabre@nondot.org> add some assertions to EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100364 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
a33b2a1ee6f8d544571ec4a9be819292f6bf315c 05-Apr-2010 Chris Lattner <sabre@nondot.org> add some assertions to EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100364 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
733c69d93e92da8d658710372e8c65165b2239c0 05-Apr-2010 Chris Lattner <sabre@nondot.org> stop emitting some dead L labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100363 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
11b8f30567b514e9ea816fe11bff1c806a9331b9 05-Apr-2010 Chris Lattner <sabre@nondot.org> stop emitting some dead L labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100363 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
66143d234be38a7420c5b327567945340bb1c977 05-Apr-2010 Chris Lattner <sabre@nondot.org> Store an use the symbols emitted at the start of the debug
sections instead of magically rematerializing them later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100362 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9c69e28553c5c344666aebce266694cf2d73e8d5 05-Apr-2010 Chris Lattner <sabre@nondot.org> Store an use the symbols emitted at the start of the debug
sections instead of magically rematerializing them later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100362 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d91fd8c3cd59d68a5e7aa3b8027e3920e7616d0d 05-Apr-2010 Chris Lattner <sabre@nondot.org> remove the didInitial ivar, rename emitInitial to be more
descriptive, change EmitSectionOffset back to taking a
symbol instead of a string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100361 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfPrinter.cpp
warfPrinter.h
fa070b01753e2d547539dca4e9d55459c652dc9c 05-Apr-2010 Chris Lattner <sabre@nondot.org> remove the didInitial ivar, rename emitInitial to be more
descriptive, change EmitSectionOffset back to taking a
symbol instead of a string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100361 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfPrinter.cpp
warfPrinter.h
d0e5004f025a0cd3aeb5821649d371cf69794773 05-Apr-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset a little bit, improve comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100360 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
2e3ebedc881091fcf0c68aebb48649582689ee78 05-Apr-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset a little bit, improve comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100360 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
d8f37da98d19b7df3bed2391967e53ff8abd3765 04-Apr-2010 Chris Lattner <sabre@nondot.org> The "IsSmall" argument to EmitSectionOffset is always true,
constant fold it away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
83d1618b462ae42b61cfa366d090792eb10f05c6 04-Apr-2010 Chris Lattner <sabre@nondot.org> The "IsSmall" argument to EmitSectionOffset is always true,
constant fold it away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
771e52e32d26bb7717b33f62f73b9351b1db3cf9 04-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate the "isEH" argument to EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100355 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
f88dce1f89ddb30b2370318284a6b307d7a44a98 04-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate the "isEH" argument to EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100355 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
bcc67c3f75bce85abf6500c737b15919e177bbaa 04-Apr-2010 Chris Lattner <sabre@nondot.org> isAbsoluteEHSectionOffsets always returns false, eliminate it
and substitute false at the one call site.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100354 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
0887fa0b8c966234025535d4adcbd5f562a3c0a5 04-Apr-2010 Chris Lattner <sabre@nondot.org> isAbsoluteEHSectionOffsets always returns false, eliminate it
and substitute false at the one call site.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100354 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
297f3a7bfc757fb55fd8f7b0f8be1f56362ac950 04-Apr-2010 Chris Lattner <sabre@nondot.org> move some more stuff to asmprinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100351 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
d2af7853e377bce40cbf3e0632a4608484b6aba4 04-Apr-2010 Chris Lattner <sabre@nondot.org> move some more stuff to asmprinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100351 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
fe717923d00b1febb6cb091600775e1d105fed74 04-Apr-2010 Chris Lattner <sabre@nondot.org> simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100350 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
9be49131363f79ad58a5deb4daf175a7b1c0ec66 04-Apr-2010 Chris Lattner <sabre@nondot.org> simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100350 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
28e23aa64c3c2c93dfa10856ea413b2086251fdf 04-Apr-2010 Chris Lattner <sabre@nondot.org> move EmitEncodingByte to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100349 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfException.cpp
warfPrinter.cpp
ca6190b108aeb4a2eeb6f5c6457bb17509b85d9d 04-Apr-2010 Chris Lattner <sabre@nondot.org> move EmitEncodingByte to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100349 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfException.cpp
warfPrinter.cpp
4bfddc846a0c7c332277099062c1a7b623d2bdec 04-Apr-2010 Chris Lattner <sabre@nondot.org> move EmitCFAByte to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100348 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfPrinter.cpp
7a101f45c10082e9765ffec57a2d51f5fd0abc37 04-Apr-2010 Chris Lattner <sabre@nondot.org> move EmitCFAByte to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100348 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
warfPrinter.cpp
fd2a3f6533db8f06b6be8b418a34452208fa1409 04-Apr-2010 Chris Lattner <sabre@nondot.org> inline EmitDifference away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100347 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
a64371828e27dcc30d38e7246dda0f35c1dfde40 04-Apr-2010 Chris Lattner <sabre@nondot.org> inline EmitDifference away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100347 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
66f717044652407ed716a3bf8d413f50446c9e23 04-Apr-2010 Chris Lattner <sabre@nondot.org> resolve a fixme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100346 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
af8df264952698cfde59d99c96d4a0da9e4f5afa 04-Apr-2010 Chris Lattner <sabre@nondot.org> resolve a fixme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100346 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b93558d9b161989f71297ecd69a173af141b802a 04-Apr-2010 Chris Lattner <sabre@nondot.org> move gettemplabel and getdwlabel to AsmPrinter and rename
them for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100345 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
c021572511f08372ae52fe8e31d3c307cab448fd 04-Apr-2010 Chris Lattner <sabre@nondot.org> move gettemplabel and getdwlabel to AsmPrinter and rename
them for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100345 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
26be1c167a76e02cc0f37a9a81115b9ad05c0fc6 04-Apr-2010 Chris Lattner <sabre@nondot.org> move uleb/sleb printing into AsmPrinter from DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
smPrinterInlineAsm.cpp
MakeLists.txt
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
7e1a8f882f1baa1c0d5204373d6eb4cb7fc9f3ea 04-Apr-2010 Chris Lattner <sabre@nondot.org> move uleb/sleb printing into AsmPrinter from DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterDwarf.cpp
smPrinterInlineAsm.cpp
MakeLists.txt
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
c143f0a7ff75e13d1878480965f68dd1aa1256cb 04-Apr-2010 Chris Lattner <sabre@nondot.org> more interface cleanup make some helpers static functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100343 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
17fedf216bc10c66e02694854f522cb602097005 04-Apr-2010 Chris Lattner <sabre@nondot.org> more interface cleanup make some helpers static functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100343 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
97c69b7c9f982bd1bd3bf1b67f82cb3778235939 04-Apr-2010 Chris Lattner <sabre@nondot.org> clean up the asmprinter header and privatize some stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100342 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfPrinter.cpp
3f53c8398d81065736a784469c9dd5afff85673f 04-Apr-2010 Chris Lattner <sabre@nondot.org> clean up the asmprinter header and privatize some stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100342 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfPrinter.cpp
a29bbb7cebddd0b111c04b2faa3bbe7ecd82ae32 04-Apr-2010 Chris Lattner <sabre@nondot.org> use stringref instead of strtol to avoid errno gymnastics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100341 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
65eeaad91d78b2a677ca889eaff60f6d807c7030 04-Apr-2010 Chris Lattner <sabre@nondot.org> use stringref instead of strtol to avoid errno gymnastics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100341 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinterInlineAsm.cpp
599df3c3c817cbf1839a29a321a955cfbd1e091a 04-Apr-2010 Chris Lattner <sabre@nondot.org> split inline asm support out to its own .cpp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
MakeLists.txt
736e31d0cfd8a28c31741f39be606a11e7fc0036 04-Apr-2010 Chris Lattner <sabre@nondot.org> split inline asm support out to its own .cpp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
smPrinterInlineAsm.cpp
MakeLists.txt
435a7333f07394dcaadbadb85d5db9fc6f3b000d 04-Apr-2010 Chris Lattner <sabre@nondot.org> inline processDebugLoc and simplify it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
285199502b08d7d2ac5f37ce5f94cb5e68cec197 04-Apr-2010 Chris Lattner <sabre@nondot.org> inline processDebugLoc and simplify it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
49318558ba975937d490250a6fde2d0ea40c41c5 04-Apr-2010 Chris Lattner <sabre@nondot.org> minor tidying.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100338 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dfa107e45ac6a145c03376ecc0530d8ece358238 04-Apr-2010 Chris Lattner <sabre@nondot.org> minor tidying.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100338 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
610fbcb62924fc58dd7bbe95a69d33b3a05d8e09 04-Apr-2010 Chris Lattner <sabre@nondot.org> clean up the asmprinter interface a bit, rename a few
"Print" methods to "Emit". Emit is something that goes
to an mc streamer, Print is something that goes to a
raw_ostream (for inline asm)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100337 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
300a4c5640fb1c717ba0d7108d15aec1bd7eb396 04-Apr-2010 Chris Lattner <sabre@nondot.org> clean up the asmprinter interface a bit, rename a few
"Print" methods to "Emit". Emit is something that goes
to an mc streamer, Print is something that goes to a
raw_ostream (for inline asm)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100337 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
017c7f97bb1d77c393f15ebba21c92c31631df9f 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove TargetMachine.h #include, also, TRI isn't used frequently
enough to warrant caching in AsmPrinter, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100336 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
9d1c1ada213c80135fbdda704175aae689daa6f9 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove TargetMachine.h #include, also, TRI isn't used frequently
enough to warrant caching in AsmPrinter, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100336 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
761dabbf5fc8ba997d4173523a3d766962ab68cb 04-Apr-2010 Chris Lattner <sabre@nondot.org> lazily allocate the GCMetadataPrinters map and remove DenseMap
from the AsmPrinter interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100331 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e00b59f954c7e27d9d34abf90bfac969fb12f19a 04-Apr-2010 Chris Lattner <sabre@nondot.org> lazily allocate the GCMetadataPrinters map and remove DenseMap
from the AsmPrinter interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100331 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3eac1ed5c28f6fd3b670f996e71709c6b16ab9d6 04-Apr-2010 Chris Lattner <sabre@nondot.org> Momentous day: remove the "O" member from AsmPrinter. Now all
"asm printering" happens through MCStreamer. This also
Streamerizes PIC16 debug info, which escaped my attention.

This removes a leak from LLVMTargetMachine of the 'legacy'
output stream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100327 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b23569aff0a6d2b231cb93cc4acd0ac060ba560f 04-Apr-2010 Chris Lattner <sabre@nondot.org> Momentous day: remove the "O" member from AsmPrinter. Now all
"asm printering" happens through MCStreamer. This also
Streamerizes PIC16 debug info, which escaped my attention.

This removes a leak from LLVMTargetMachine of the 'legacy'
output stream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100327 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2ef7d86653f6a913948b533c525e1e3098485ab4 04-Apr-2010 Chris Lattner <sabre@nondot.org> now that all operand printing happens to specified streams, we can
print function level inline asm with EmitInlineAsm instead of writing
it directly to "O".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100326 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
de0f339ec3a5d804b85043174521efec4ad14991 04-Apr-2010 Chris Lattner <sabre@nondot.org> now that all operand printing happens to specified streams, we can
print function level inline asm with EmitInlineAsm instead of writing
it directly to "O".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100326 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
75e113cb5a14f3e749d1c84b3f5c91706e1c47e8 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove the raw_ostream from various dwarf printing things.

The only thing left is LEB printing, which uses EmitRawText
for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
75f50725c1d7f86ee545337b155b4feac66627f6 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove the raw_ostream from various dwarf printing things.

The only thing left is LEB printing, which uses EmitRawText
for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
1bf2b2853b43edaa360771c2934b39391784b754 04-Apr-2010 Chris Lattner <sabre@nondot.org> mcize the gc metadata printing stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100324 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
7d73c7f0d618dd6661cd55834c58aa62f22b28fe 04-Apr-2010 Chris Lattner <sabre@nondot.org> mcize the gc metadata printing stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100324 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
39db196b431ab5eb5a4ffff141ca1cca327ed7e8 04-Apr-2010 Chris Lattner <sabre@nondot.org> use EmitRawText instead of O in DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100323 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
0b9bdb47bd9447dbf5a9cb827be588deb8cb2759 04-Apr-2010 Chris Lattner <sabre@nondot.org> use EmitRawText instead of O in DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100323 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
3eb5dc17a0715f7c67caca590c8349f5599ff657 04-Apr-2010 Chris Lattner <sabre@nondot.org> fix PrintAsmOperand and PrintAsmMemoryOperand to pass down
raw_ostream to print to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100313 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c75c028a15a13786eee585aa634b4faf694dd00a 04-Apr-2010 Chris Lattner <sabre@nondot.org> fix PrintAsmOperand and PrintAsmMemoryOperand to pass down
raw_ostream to print to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100313 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6608f88bf90a76f35aa28b1ace35b52bc9b96e49 04-Apr-2010 Chris Lattner <sabre@nondot.org> change this back too


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100310 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d32c8a561734e05ff78da4435de0e85e0eed88e1 04-Apr-2010 Chris Lattner <sabre@nondot.org> change this back too


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100310 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3f72cb89251eeb79475edeecd88651cc6552785e 04-Apr-2010 Chris Lattner <sabre@nondot.org> check in what I tested. :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100309 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e1783cadf77d6a8e637d0eb79e66f42228d7ec3c 04-Apr-2010 Chris Lattner <sabre@nondot.org> check in what I tested. :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100309 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
691f640be57ccdfcc734d6ccba03996c69c8fefe 04-Apr-2010 Chris Lattner <sabre@nondot.org> MMI is always available, rename O -> OS in printInlineAsm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100308 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c1e0b76306dd1cf1809a15ff8466de30e3a800e5 04-Apr-2010 Chris Lattner <sabre@nondot.org> MMI is always available, rename O -> OS in printInlineAsm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100308 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4e972531cf2d719522ab38ce3b5ad1a625579d03 04-Apr-2010 Chris Lattner <sabre@nondot.org> change a ton of code to not implicitly use the "O" raw_ostream
member of AsmPrinter. Instead, pass it in explicitly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100306 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
35c33bd772b3cfb34fdc6b5c9171f955454d0043 04-Apr-2010 Chris Lattner <sabre@nondot.org> change a ton of code to not implicitly use the "O" raw_ostream
member of AsmPrinter. Instead, pass it in explicitly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100306 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6d718817f982b804ff516e43a47f38aa78d2a4a9 04-Apr-2010 Chris Lattner <sabre@nondot.org> asmstreamerize the .size directive for function bodies, force clients
of printOffset to pass in a stream to print to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100296 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0c08d092049c025c9ccf7143e39f39dc4e30d6b4 04-Apr-2010 Chris Lattner <sabre@nondot.org> asmstreamerize the .size directive for function bodies, force clients
of printOffset to pass in a stream to print to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100296 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
002afa95b6aa586b01580b73ad65a1f3c6f6dca4 04-Apr-2010 Chris Lattner <sabre@nondot.org> emit the cygwin stub thing through mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fd60b8b4842c04e272a5cbdd404ed88d63d6df61 04-Apr-2010 Chris Lattner <sabre@nondot.org> emit the cygwin stub thing through mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c468b2b89a6f687e31b43395d7077eec473f3470 04-Apr-2010 Chris Lattner <sabre@nondot.org> add a twine form of MCStreamer::EmitRawText, and mc'ize
a few more things in AsmPrinter.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
58bc4dd4a91443ddd3120b0a2f1801ad4d6aae1c 04-Apr-2010 Chris Lattner <sabre@nondot.org> add a twine form of MCStreamer::EmitRawText, and mc'ize
a few more things in AsmPrinter.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dce97dd5b4bdc6cbcf2298a1cdc8e0523b3d1f12 04-Apr-2010 Chris Lattner <sabre@nondot.org> start moving towards emitting inline asm statements with
EmitInlineAsm. However, this attempt is foiled by operands
being emitted directly to "O" so I'll have to do some surgery
and finish MCizing the world.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100291 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f94f8dcda71b0069f9dbde979a81a58a49194ba2 04-Apr-2010 Chris Lattner <sabre@nondot.org> start moving towards emitting inline asm statements with
EmitInlineAsm. However, this attempt is foiled by operands
being emitted directly to "O" so I'll have to do some surgery
and finish MCizing the world.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100291 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
11b3d38ba67b9b142ed23203ba0f2cceaa1807cd 03-Apr-2010 Chris Lattner <sabre@nondot.org> add a new EmitInlineAsm function to asmprinter to handle inline asm.
If we have an MCAsmStreamer, we continue to emit asm textually,
otherwise we (currently) emit an error to errs and ignore it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100289 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
91bead790518fcf5cb26019fb1ebf2372e8a5b3f 03-Apr-2010 Chris Lattner <sabre@nondot.org> add a new EmitInlineAsm function to asmprinter to handle inline asm.
If we have an MCAsmStreamer, we continue to emit asm textually,
otherwise we (currently) emit an error to errs and ignore it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100289 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
02935a5f010ab909c809bbe702f737f6fd13aafd 03-Apr-2010 Chris Lattner <sabre@nondot.org> mc'ize comment printing around file scope inline asm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100288 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
47b7e5dae911bc98aa76fa5d2ee506c9304f941a 03-Apr-2010 Chris Lattner <sabre@nondot.org> mc'ize comment printing around file scope inline asm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100288 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b9692a7da0e45bd941437ae1974ee6919aff5a34 02-Apr-2010 Chris Lattner <sabre@nondot.org> Switch the code generator (except the JIT) onto the new DebugLoc
representation. This eliminates the 'DILocation' MDNodes for
file/line/col tuples from -O0 -g codegen.

This remove the old DebugLoc class, making it a typedef for DebugLoc,
I'll rename NewDebugLoc next.

I didn't update the JIT to use the new apis, so it will continue to
work, but be as slow as before. Someone should eventually do this
or, better yet, rip out the JIT debug info stuff and build the JIT
on top of MC.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
de4845c163a5847c82d7ce10ed0c320098bce6e0 02-Apr-2010 Chris Lattner <sabre@nondot.org> Switch the code generator (except the JIT) onto the new DebugLoc
representation. This eliminates the 'DILocation' MDNodes for
file/line/col tuples from -O0 -g codegen.

This remove the old DebugLoc class, making it a typedef for DebugLoc,
I'll rename NewDebugLoc next.

I didn't update the JIT to use the new apis, so it will continue to
work, but be as slow as before. Someone should eventually do this
or, better yet, rip out the JIT debug info stuff and build the JIT
on top of MC.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
e815112bc2f937c1f7e763db8bc9dc446c47cdfe 02-Apr-2010 Devang Patel <dpatel@apple.com> Revert r100117.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100145 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c8e77640a53823b233f3f7a5c2be12aef9ebc69e 02-Apr-2010 Devang Patel <dpatel@apple.com> Revert r100117.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100145 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fa2e0b8f3b9304c6e6ee521d4cd02974b88d2a1c 01-Apr-2010 Devang Patel <dpatel@apple.com> Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
24c20e2435be1ee2af5de486f7567f92cebaf8cd 01-Apr-2010 Devang Patel <dpatel@apple.com> Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d9bfc2b3ac57f002e702f8922afca448b0e14e3e 01-Apr-2010 Devang Patel <dpatel@apple.com> Skip instructions until new scope is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100117 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
58c7aa61d49f155a1d36b9c14273de5a630de8e1 01-Apr-2010 Devang Patel <dpatel@apple.com> Skip instructions until new scope is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100117 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6339775293e35038eef25d6194ff189d21ffce6b 01-Apr-2010 Devang Patel <dpatel@apple.com> Cosmetic changes.
Update comment, rename a local variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100116 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8935d90a9095edf5643ef4a362a64df706ea97be 01-Apr-2010 Devang Patel <dpatel@apple.com> Cosmetic changes.
Update comment, rename a local variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100116 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d586848a72be7117fec179627c54e0dd6b34d7e8 01-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100048; it broke two Frontend debug info tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100058 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f8df814869368edd3f74bc81dca202f0d2a55b66 01-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100048; it broke two Frontend debug info tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100058 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
237a389a4739043ce735c30b9b1baed85ef4dc4b 31-Mar-2010 Stuart Hastings <stuart@apple.com> Debug info can now properly represent functions inside classes inside other functions. Partial fix for Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100048 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a88cb38d0220d5b0e4394f3280e1cec5f30ef4fc 31-Mar-2010 Stuart Hastings <stuart@apple.com> Debug info can now properly represent functions inside classes inside other functions. Partial fix for Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100048 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
648940b9c1e4633dde4aa9728124faa35e7f186e 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Reduce string trashing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100038 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bbb88db993af5f30eecc3139f9bf7c703e8ad7c1 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Reduce string trashing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100038 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
138c7ff4431ac423bea28f9381a14c5239dfb920 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
being the exception).

~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100035 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
345ef343ccc8c4e66166ae631c127136202e067b 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
being the exception).

~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100035 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
a8c5bd2e558231b16fbd156401bea1dad7d6bdda 31-Mar-2010 Chris Lattner <sabre@nondot.org> reduce indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99999 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cfd3188a11dd71a6416f5b7aef29c47129f6df4e 31-Mar-2010 Chris Lattner <sabre@nondot.org> reduce indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99999 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5df82554295322bcde46f76ceb1f326fc4983800 31-Mar-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99998 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1d65ba732cd0957a0badea4634c9272d93c71612 31-Mar-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99998 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fd37680370e1d88768b04afad59b176ca5f43c21 31-Mar-2010 Chris Lattner <sabre@nondot.org> MI != 0 is checked in the assert right above this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99995 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ff741ab70975c266b3a4dd652b93cfc53bfbc8c3 31-Mar-2010 Chris Lattner <sabre@nondot.org> MI != 0 is checked in the assert right above this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99995 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
202f10bae73c28a871d68f8fcb6aa6fb67ef41fa 31-Mar-2010 Chris Lattner <sabre@nondot.org> use the isDebugValue() predicate and pop_back_val()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99993 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
14d750d0ad97a7d7fa76c0177327cda3f32f876f 31-Mar-2010 Chris Lattner <sabre@nondot.org> use the isDebugValue() predicate and pop_back_val()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99993 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8143ce8cc63055804f3fb8eb7b13f2dc594c5b50 31-Mar-2010 Chris Lattner <sabre@nondot.org> assert is a function-like macro, not a control flow operator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99992 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ed7a77bfb2c8d527ea8ac1a947d3ed80fbfb5839 31-Mar-2010 Chris Lattner <sabre@nondot.org> assert is a function-like macro, not a control flow operator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99992 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0b44e49f000a4da6b9948bdaa923b48911d2f47a 31-Mar-2010 Chris Lattner <sabre@nondot.org> add new apis for getting/setting !dbg metadata on
instructions. In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99982 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
870cfcf9a6189b65a8ee805b93a2c737c0183e62 31-Mar-2010 Chris Lattner <sabre@nondot.org> add new apis for getting/setting !dbg metadata on
instructions. In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99982 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e383a18a02da3c25c6b60ee055ddef373bf89955 31-Mar-2010 Devang Patel <dpatel@apple.com> Ignore invalid metadata.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99938 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
722f2290b800ea96670e923ee9a4aa3b9efa35e8 31-Mar-2010 Devang Patel <dpatel@apple.com> Ignore invalid metadata.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99938 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3b197832bf569e331ee057aece06ecd99b13ba2f 30-Mar-2010 Chris Lattner <sabre@nondot.org> Rip out the 'is temporary' nonsense from the MCContext interface to
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.

This fixes rdar://7807601.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99902 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
9b97a73dedf736e14b04a3d1a153f10d25b2507b 30-Mar-2010 Chris Lattner <sabre@nondot.org> Rip out the 'is temporary' nonsense from the MCContext interface to
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.

This fixes rdar://7807601.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99902 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
98ca237866b93f0905a5262263713921dea4a265 30-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to fall through after processing DBG_VALUE machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99899 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7ed631157738132f88125bc374850326f9b2f8cd 30-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to fall through after processing DBG_VALUE machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99899 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9a9a4ac55b0f70ad14dd4a4e1f9ba5208f18fb67 30-Mar-2010 Devang Patel <dpatel@apple.com> Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99845 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
aead63c0337ed24053b8bdde8918aacdc66d8231 30-Mar-2010 Devang Patel <dpatel@apple.com> Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99845 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
08f7b612ed2767db3f0ddd90159cdbd0f1ee65a0 29-Mar-2010 Chris Lattner <sabre@nondot.org> use RAII for ExceptionTimer too


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99833 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
c3b228c97851abf5c4552512df63b4bf98fd3c5a 29-Mar-2010 Chris Lattner <sabre@nondot.org> use RAII for ExceptionTimer too


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99833 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b49c9f875f5e7519e158246519ddbb89a97707c8 29-Mar-2010 Chris Lattner <sabre@nondot.org> fix a variety of issues were we'd start DebugTimer but
not stop it by using RAII.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99832 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a909d6635135acd12175f9de86e2a0ad47501b6c 29-Mar-2010 Chris Lattner <sabre@nondot.org> fix a variety of issues were we'd start DebugTimer but
not stop it by using RAII.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99832 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
abc2b350dfc1e7fb434e35688d6f1a3b0ab71e96 29-Mar-2010 Devang Patel <dpatel@apple.com> Refactor code to push DILocation prcessing into DwarfDebug.cpp from AsmPrinter.cpp.
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99816 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
553881bddcdeb66c0ae06bf9f62ca63b9f29b2e8 29-Mar-2010 Devang Patel <dpatel@apple.com> Refactor code to push DILocation prcessing into DwarfDebug.cpp from AsmPrinter.cpp.
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99816 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
96507a3ae63d4b3252b3a7cb2c581a8972b99ccc 28-Mar-2010 Devang Patel <dpatel@apple.com> Revert 99772.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99778 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
de9b1efbe5650f2eef8a552a81e94a6e682e05f0 28-Mar-2010 Devang Patel <dpatel@apple.com> Revert 99772.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99778 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
10356f0800602870e902de0ea383faf78024c0cb 28-Mar-2010 Devang Patel <dpatel@apple.com> Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99772 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
c7eae5ca4a5c9fd760ec3c38e1e46cd9fda113aa 28-Mar-2010 Devang Patel <dpatel@apple.com> Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99772 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
8b1c07a24ab6f73e62313765742b5a0b6b38a207 25-Mar-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99507 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
2ddefecfa063b99550bd1fc9fd53efe433be54fb 25-Mar-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99507 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
e485a5d1f8105b01365702ef802904c0f22c4f1f 24-Mar-2010 Devang Patel <dpatel@apple.com> Use SP filename directly instead of SP's context's filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99429 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9bb59a2bdc470c1b68a90a597ffa3f3bc8fbf22b 24-Mar-2010 Devang Patel <dpatel@apple.com> Use SP filename directly instead of SP's context's filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99429 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7ac3983d770591af6acf0e719fe45cb735568187 23-Mar-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4a602caf2e973f4446f4eec366124077ce91d06d 23-Mar-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e76111a0ed9970f98e133d6b3e8d697c94298e26 22-Mar-2010 Devang Patel <dpatel@apple.com> DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
0493f95a2cc8f4faea3df1b97d613ae87c670153 22-Mar-2010 Devang Patel <dpatel@apple.com> DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
2944ced3daaaa3b568c1604f69656a1c616a40d4 22-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
it allocates to DwarfDebug::DIEValues.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
638fe8dd62f0bd37a0ae7374eea280c224a84b6f 22-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
it allocates to DwarfDebug::DIEValues.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
b912cf31469e44fe2cd6252b356b7368db0cf4d8 17-Mar-2010 Devang Patel <dpatel@apple.com> Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98743 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5b33f3148c7495a5411109454fd1bd74baa291f6 17-Mar-2010 Devang Patel <dpatel@apple.com> Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98743 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
535969b90b24725bd3145ffd638077a5dd5e50fd 16-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98656 unmodified, which exposed the asmprinter not
handling constant unions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98680 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
93b122d3c484a8451024d6947be0f4037f86def0 16-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98656 unmodified, which exposed the asmprinter not
handling constant unions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98680 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
15b64f335b2d8566d58a5e791c12c0ca0a17fe7a 16-Mar-2010 Daniel Dunbar <daniel@zuster.org> Revert r98656, its breaking all over the place.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98662 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b85c7100c5f1ef34bace56c6978eca429df798f6 16-Mar-2010 Daniel Dunbar <daniel@zuster.org> Revert r98656, its breaking all over the place.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98662 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
777448f6491b6b82e2c39f11d353e39c24dd20e2 16-Mar-2010 Chris Lattner <sabre@nondot.org> improve support for uniontype and ConstantUnion, patch by Tim Northover!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8b3b34f410f2bd05943e1c6f9b0514209731421d 16-Mar-2010 Chris Lattner <sabre@nondot.org> improve support for uniontype and ConstantUnion, patch by Tim Northover!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cc1205defee0918c2d10c66a3abfbfc19a0cec1a 16-Mar-2010 Chris Lattner <sabre@nondot.org> Fix the third (and last known) case of code update problems due
to LLVM IR changes with addr label weirdness. In the testcase, we
generate references to the two bb's when codegen'ing the first
function:

_test1: ## @test1
leaq Ltmp0(%rip), %rax
..
leaq Ltmp1(%rip), %rax

Then continue to codegen the second function where the blocks
get merged. We're now smart enough to emit both labels, producing
this code:

_test_fun: ## @test_fun
## BB#0: ## %entry
Ltmp1: ## Block address taken
Ltmp0:
## BB#1: ## %ret
movl $-1, %eax
ret

Rejoice.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98595 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
999aee24c7b7511575146b9950bb85830fab0378 16-Mar-2010 Chris Lattner <sabre@nondot.org> Fix the third (and last known) case of code update problems due
to LLVM IR changes with addr label weirdness. In the testcase, we
generate references to the two bb's when codegen'ing the first
function:

_test1: ## @test1
leaq Ltmp0(%rip), %rax
..
leaq Ltmp1(%rip), %rax

Then continue to codegen the second function where the blocks
get merged. We're now smart enough to emit both labels, producing
this code:

_test_fun: ## @test_fun
## BB#0: ## %entry
Ltmp1: ## Block address taken
Ltmp0:
## BB#1: ## %ret
movl $-1, %eax
ret

Rejoice.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98595 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f6853ffef510c3c0217e7e3c98969d82b56585ed 15-Mar-2010 Chris Lattner <sabre@nondot.org> Implement support for the case when a reference to a addr-of-bb
label is generated, but then the block is deleted. Since the
value is undefined, we just emit the label right after the entry
label of the function. It might matter that the label is in the
same section as the function was afterall.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9cc0da9c29302e9463a6f31ba705c8e1b6f4cea1 15-Mar-2010 Chris Lattner <sabre@nondot.org> Implement support for the case when a reference to a addr-of-bb
label is generated, but then the block is deleted. Since the
value is undefined, we just emit the label right after the entry
label of the function. It might matter that the label is in the
same section as the function was afterall.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
14da02f654287314ec1235a165cd11bab1ec62b4 15-Mar-2010 Devang Patel <dpatel@apple.com> Emit dwarf variable info communicated by code generator through DBG_VALUE machine instructions.
This is a work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
90a48adf9cbea48f5318a5eb778056b4413e2ec0 15-Mar-2010 Devang Patel <dpatel@apple.com> Emit dwarf variable info communicated by code generator through DBG_VALUE machine instructions.
This is a work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
54e7364e4b37a5698f1f2317bf73615b6410dbbc 15-Mar-2010 Chris Lattner <sabre@nondot.org> remove dead method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98526 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a833f6b0617228fa11f7d94bbabf87f737124a57 15-Mar-2010 Chris Lattner <sabre@nondot.org> remove dead method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98526 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4489414d44a8621632e5e97253055452b2c66382 14-Mar-2010 Chris Lattner <sabre@nondot.org> fix AsmPrinter::GetBlockAddressSymbol to always return a unique
label instead of trying to form one based on the BB name (which
causes collisions if the name is empty). This fixes PR6608


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98495 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3b9d6216a41cfd43759e787db26d797e1f0ba0a8 14-Mar-2010 Chris Lattner <sabre@nondot.org> fix AsmPrinter::GetBlockAddressSymbol to always return a unique
label instead of trying to form one based on the BB name (which
causes collisions if the name is empty). This fixes PR6608


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98495 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
54e56f247fa9361208901ff6009499cdffe41b05 14-Mar-2010 Chris Lattner <sabre@nondot.org> get MMI out of the label uniquing business, just go to MCContext
to get unique assembler temporary labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
63d7836267298f5b6cde43f0a89acbabfc109f48 14-Mar-2010 Chris Lattner <sabre@nondot.org> get MMI out of the label uniquing business, just go to MCContext
to get unique assembler temporary labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
d5060b8782344d73a2f5a10bbeb717427efc75d0 14-Mar-2010 Chris Lattner <sabre@nondot.org> don't use getDWLabel("label" anymore, always go through MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8d9aaba84e80d40093fa8e1fe452a5ddcb4cc7f7 14-Mar-2010 Chris Lattner <sabre@nondot.org> don't use getDWLabel("label" anymore, always go through MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
25e3d086379011fe80085d4e866e89dbfa1e8ffa 14-Mar-2010 Chris Lattner <sabre@nondot.org> remove now-dead code, all labels use MCSymbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98484 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0397ada8ae1d1bc71037d8cd4a855d3ff04acbbb 14-Mar-2010 Chris Lattner <sabre@nondot.org> remove now-dead code, all labels use MCSymbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98484 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8d9d06a458385706f5ca92d2890dc8faae452a9c 14-Mar-2010 Chris Lattner <sabre@nondot.org> change SrcLineInfo to contain a label instead of a label ID.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
25b68c6770b7ba044ad37e0aed4f1c414f3b5209 14-Mar-2010 Chris Lattner <sabre@nondot.org> change SrcLineInfo to contain a label instead of a label ID.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6090b4245384dcca0d2188165825917384d1350d 14-Mar-2010 Chris Lattner <sabre@nondot.org> Now that DBG_LABEL is updated, we can finally make MachineMove
contain an MCSymbol instead of a label index.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98482 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
2e9919a5e5fe76f4b1e3290103c4bfd149ebba9c 14-Mar-2010 Chris Lattner <sabre@nondot.org> Now that DBG_LABEL is updated, we can finally make MachineMove
contain an MCSymbol instead of a label index.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98482 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
359731acbae700a9590257899bf54c05fee8a9cd 14-Mar-2010 Chris Lattner <sabre@nondot.org> change the DBG_LABEL MachineInstr to always be created
with an MCSymbol instead of an immediate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98481 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6ffcccab5191ef1dcde876800c24a1f58b3b7ad8 14-Mar-2010 Chris Lattner <sabre@nondot.org> change the DBG_LABEL MachineInstr to always be created
with an MCSymbol instead of an immediate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98481 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e71efe3e3cb30b10dc266abe9cd445f26ad8a402 14-Mar-2010 Chris Lattner <sabre@nondot.org> unbreak the build, grr symlinks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98477 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
9a38e67590fa1431bd7e950f4ce2684d9f572176 14-Mar-2010 Chris Lattner <sabre@nondot.org> unbreak the build, grr symlinks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98477 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
0ede4555ac1c1e207285264a2ff546d46d0f8efd 14-Mar-2010 Chris Lattner <sabre@nondot.org> switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98474 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aba9bcb9b60edbad3646b2f3088c120d06549cc7 14-Mar-2010 Chris Lattner <sabre@nondot.org> switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98474 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
717599e12b75880fa58dbdabf8671f4806104d86 14-Mar-2010 Chris Lattner <sabre@nondot.org> Fix some EH failures on NNT I introduced in r98461


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98471 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
f14645cc6474dab76b266906575ce4e4d018e9ee 14-Mar-2010 Chris Lattner <sabre@nondot.org> Fix some EH failures on NNT I introduced in r98461


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98471 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
c6169fc4776a1474166362fd2343f2296b298d75 14-Mar-2010 Chris Lattner <sabre@nondot.org> fix a bug I introduced in r98459, causing some NNT failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98470 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
21f9c8de53936ad5aa9e1f37cc68efa493c2ca94 14-Mar-2010 Chris Lattner <sabre@nondot.org> fix a bug I introduced in r98459, causing some NNT failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98470 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8574dddd63edcb47af66df3ea309ff03a6b04549 14-Mar-2010 Chris Lattner <sabre@nondot.org> change the LabelSDNode to be EHLabelSDNode and make it hold
an MCSymbol. Make the EH_LABEL MachineInstr hold its label
with an MCSymbol instead of ID. Fix a bug in MMI.cpp which
would return labels named "Label4" instead of "label4".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98463 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
7561d480953e0a2faa4af9be0a00b1180097c4bd 14-Mar-2010 Chris Lattner <sabre@nondot.org> change the LabelSDNode to be EHLabelSDNode and make it hold
an MCSymbol. Make the EH_LABEL MachineInstr hold its label
with an MCSymbol instead of ID. Fix a bug in MMI.cpp which
would return labels named "Label4" instead of "label4".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98463 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
31ae74daf3babf1733bb19cdef09eee8220d3497 14-Mar-2010 Chris Lattner <sabre@nondot.org> use Label->isDefined() instead of isLabelDeleted() now that we
consistently use MCSymbol and only call this predicate after
they should have been emitted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
b91306053d0aebd748bf854f05d93cd1939a1543 14-Mar-2010 Chris Lattner <sabre@nondot.org> use Label->isDefined() instead of isLabelDeleted() now that we
consistently use MCSymbol and only call this predicate after
they should have been emitted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
e3330170d608053806e37c4dc953f15cf47b3388 14-Mar-2010 Chris Lattner <sabre@nondot.org> change EH related stuff (other than EH_LABEL) to use MCSymbol
instead of label ID's. This cleans up and regularizes a bunch
of code and makes way for future progress.

Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
is largely copy and paste from DwarfException/MachineModuleInfo
and other places. This is very sad and disturbing. :(

One major change here is that TidyLandingPads moved from being
called in DwarfException::BeginFunction to being called in
DwarfException::EndFunction. There should not be any
functionality change from doing this, but I'm not an EH expert.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98459 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
1611273351d75b5cbe2a67485bb9831d5916fe26 14-Mar-2010 Chris Lattner <sabre@nondot.org> change EH related stuff (other than EH_LABEL) to use MCSymbol
instead of label ID's. This cleans up and regularizes a bunch
of code and makes way for future progress.

Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
is largely copy and paste from DwarfException/MachineModuleInfo
and other places. This is very sad and disturbing. :(

One major change here is that TidyLandingPads moved from being
called in DwarfException::BeginFunction to being called in
DwarfException::EndFunction. There should not be any
functionality change from doing this, but I'm not an EH expert.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98459 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
d13daf889c4864428fa13fdf88a50a2fa6367c34 13-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate the now-unneeded context argument of MBB::getSymbol()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98451 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1b2eb0e8a6aaf034675b17be6d853cb1c666200f 13-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate the now-unneeded context argument of MBB::getSymbol()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98451 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f4853459db476c7487bc5b4b5bd68c5c7f995600 13-Mar-2010 Chris Lattner <sabre@nondot.org> rearrange MCContext ownership. Before LLVMTargetMachine created it
and passing off ownership to AsmPrinter. Now MachineModuleInfo
creates it and owns it by value. This allows us to use MCSymbols
more consistently throughout the rest of the code generator, and
simplifies a bit of code. This also allows MachineFunction to
keep an MCContext reference handy, and cleans up the TargetRegistry
interfaces for AsmPrinters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
11d53c129fc9c2a4510605ec0a1696f58750af52 13-Mar-2010 Chris Lattner <sabre@nondot.org> rearrange MCContext ownership. Before LLVMTargetMachine created it
and passing off ownership to AsmPrinter. Now MachineModuleInfo
creates it and owns it by value. This allows us to use MCSymbols
more consistently throughout the rest of the code generator, and
simplifies a bit of code. This also allows MachineFunction to
keep an MCContext reference handy, and cleans up the TargetRegistry
interfaces for AsmPrinters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dd4f4f8db0b0a379b7169137e9e1123e0457ff61 13-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitFrameMoves to take BaseLabel in as a symbol
instead of as a stem+idx pair, simplify the "is a new
location" check to use symbol comparison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
5e6cbe0eff1249daaa02807f8cb4b33d43fdf985 13-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitFrameMoves to take BaseLabel in as a symbol
instead of as a stem+idx pair, simplify the "is a new
location" check to use symbol comparison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
314e3362ddb8933bbc7e48358280005bf08cea74 13-Mar-2010 Chris Lattner <sabre@nondot.org> factor some labels, simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
fb65807c349b82e3f464158e89acd894cbd0b6ed 13-Mar-2010 Chris Lattner <sabre@nondot.org> factor some labels, simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
dd21da85d8c49cc756fdc73397ab6728290655c0 13-Mar-2010 Chris Lattner <sabre@nondot.org> various cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
206d61e62f02f5ea5eefdd125dc48ff28f15da4a 13-Mar-2010 Chris Lattner <sabre@nondot.org> various cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0f093f88ff73a4fc34658c0455a5be368d94eacc 13-Mar-2010 Chris Lattner <sabre@nondot.org> reimplement the string pool used for inlined function
entries to not thrash std::strings and MCSymbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
bc733f54c0d344d72aadf2f925a08babfeb7ea6a 13-Mar-2010 Chris Lattner <sabre@nondot.org> reimplement the string pool used for inlined function
entries to not thrash std::strings and MCSymbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
dd9a08f0ef4c1a8fb08a7d73f3ddb836db26c78d 12-Mar-2010 Chris Lattner <sabre@nondot.org> remove gone method, grr symlinks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98392 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
528a126d326e186f0efd1c864f507e795f251675 12-Mar-2010 Chris Lattner <sabre@nondot.org> remove gone method, grr symlinks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98392 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
90825795edd087fbf23aa439075b791b2b2be878 12-Mar-2010 Chris Lattner <sabre@nondot.org> inline the now-trivial implementation of GetGlobalValueSymbol into
some of its callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
deb0cba1bad5a46bbecb75666e415c3dee9c89eb 12-Mar-2010 Chris Lattner <sabre@nondot.org> inline the now-trivial implementation of GetGlobalValueSymbol into
some of its callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
2a2a67300bbc6da884a2b12d1f97c92ea7ebbd14 12-Mar-2010 Chris Lattner <sabre@nondot.org> give Mangler access to TargetData.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98378 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b87c305fa77650ee581d4a8c65a0757f88002441 12-Mar-2010 Chris Lattner <sabre@nondot.org> give Mangler access to TargetData.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98378 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
81199d536aff3725dad0dab10a485bf749b63bda 12-Mar-2010 Chris Lattner <sabre@nondot.org> finally give Mangler a getSymbol method, which returns an MCSymbol
for a global instead of messing around with string buffers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98366 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
73ff564d65e9c748562c5734d1f72a2a233f0275 12-Mar-2010 Chris Lattner <sabre@nondot.org> finally give Mangler a getSymbol method, which returns an MCSymbol
for a global instead of messing around with string buffers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98366 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0a74342b9e610529bb7c400aece9be6483d8484d 12-Mar-2010 Chris Lattner <sabre@nondot.org> remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98365 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
0d941c15c0c88e062b548b74e0805e0ffb7427fe 12-Mar-2010 Chris Lattner <sabre@nondot.org> remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98365 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
4aeebec75cfa9bda32788bc338c82781d02dc060 12-Mar-2010 Chris Lattner <sabre@nondot.org> make the mangler take an MCContext instead of an MAI.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5ef31a039dbb9c36cfd78442b3554d1b6974ec4c 12-Mar-2010 Chris Lattner <sabre@nondot.org> make the mangler take an MCContext instead of an MAI.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3317849de1728ea522a06982d08099a86c24c006 12-Mar-2010 Chris Lattner <sabre@nondot.org> fix a bug emitting .secrel32 that I introduced, PR6587, patch
by A.Mazur!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98360 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
20e3280f3fdd3f306edcdc8a92a3be05d184f434 12-Mar-2010 Chris Lattner <sabre@nondot.org> fix a bug emitting .secrel32 that I introduced, PR6587, patch
by A.Mazur!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98360 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
ecca2e6a2e156bc1197e79138382f34457f67a44 12-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of
several fields to make it easier to figure out where bugs might be creeping in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
5c213dc78cc717c30908212049e35cfdb950fa24 12-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of
several fields to make it easier to figure out where bugs might be creeping in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
7666701e215354e50aeca18626056c7eeaad3498 12-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to create specification DIE for definitions at DIFile level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1b596e399bd284bc7c2f48fb2e5a852452faf3dd 12-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to create specification DIE for definitions at DIFile level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8364cff8d7ee2dfa26ae700865c31e66ccf0dd31 11-Mar-2010 Chris Lattner <sabre@nondot.org> fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference
where we used ot create an MCSymbol for ".". Now emit an assembler
temporary label and reference it instead of "." textually.

rdar://7739457


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98292 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
42263e2e407ab7d1d805e7b41cffd7217134d3b6 11-Mar-2010 Chris Lattner <sabre@nondot.org> fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference
where we used ot create an MCSymbol for ".". Now emit an assembler
temporary label and reference it instead of "." textually.

rdar://7739457


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98292 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
d96b9ea0e0d41556bb33e98d23fe6e057d45c2e8 11-Mar-2010 Chris Lattner <sabre@nondot.org> rename getSymbolForDwarf* to getExprForDwarf* since it returns
an MCExpr and not an MCSymbol. Change it to take an MCStreamer,
which is currently unused.

No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98278 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
3192d14076dbe5724ce85b9d48644bb3c081f0e5 11-Mar-2010 Chris Lattner <sabre@nondot.org> rename getSymbolForDwarf* to getExprForDwarf* since it returns
an MCExpr and not an MCSymbol. Change it to take an MCStreamer,
which is currently unused.

No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98278 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
c3545716b952d0e1a1043fd21852c72418098023 11-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits in DwarfDebug.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d0f393d46f159f3349e219f9af6880b037822193 11-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits in DwarfDebug.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9f3cfe66353a3cf1accccb0fc82d4d2f62ee5fe7 11-Mar-2010 Richard Osborne <richard@xmos.com> Add a new jump table encoding to indicate jump tables entries
are inside the function by the target at the point of use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98255 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
95da605e15a6f108b551ecc6772823ea53de3007 11-Mar-2010 Richard Osborne <richard@xmos.com> Add a new jump table encoding to indicate jump tables entries
are inside the function by the target at the point of use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98255 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
60313f81e737297349305e503b5353c11f89679c 10-Mar-2010 Chris Lattner <sabre@nondot.org> move three lowering hooks from MAI to TLOF and make one of them
semantic instead of syntactic. This completes MCization of
darwin/x86[-64]!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98145 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
09d53fecfcc93377627b6ee7b4d92f8a6ff152e9 10-Mar-2010 Chris Lattner <sabre@nondot.org> move three lowering hooks from MAI to TLOF and make one of them
semantic instead of syntactic. This completes MCization of
darwin/x86[-64]!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98145 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
58f7d86dfa16850034769ce6d27269a5da07ac10 10-Mar-2010 Chris Lattner <sabre@nondot.org> mcize the rest of EH emission, only one more directive missing
for darwin/x86 to be completely mcized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98130 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
974c0fb4047f7d9f190f6ca5780c7a06e6c40914 10-Mar-2010 Chris Lattner <sabre@nondot.org> mcize the rest of EH emission, only one more directive missing
for darwin/x86 to be completely mcized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98130 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
48fb0b1ef44bbff1b7557bccfd26ca7d3825625c 10-Mar-2010 Chris Lattner <sabre@nondot.org> add missing filename!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
49f618a1e4814a9fa3fd2855c6e2325753df477a 10-Mar-2010 Chris Lattner <sabre@nondot.org> add missing filename!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
72121e4e6261beba09f5d22854cfcc3332f7c5bf 10-Mar-2010 Chris Lattner <sabre@nondot.org> set the temporary bit on MCSymbols correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98124 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
98cdab53c302a2d6686fa428c0e896b1fb195311 10-Mar-2010 Chris Lattner <sabre@nondot.org> set the temporary bit on MCSymbols correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98124 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
eb159d6ec70ddea165a2e84496cc635453f3a9c4 10-Mar-2010 Chris Lattner <sabre@nondot.org> inline away a form of IsPCRelative, eliminating the
dead IsPCRel argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
d85fc6e0b1750907bacf1cd7309e85e777b23a4d 10-Mar-2010 Chris Lattner <sabre@nondot.org> inline away a form of IsPCRelative, eliminating the
dead IsPCRel argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
ee3b40f64dfa5ea52a407897e966829468e1d11b 10-Mar-2010 Chris Lattner <sabre@nondot.org> add some fixme's for MCizing. EH still has a few things that
need to be MCized, but the last debug info thing are LEB and
cygwin specific (which the MC api doesn't support yet) and
one specific form of EmitReference which I'll tackle next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
188a87da79f51b00522b9487ee352a50a01e5ea4 10-Mar-2010 Chris Lattner <sabre@nondot.org> add some fixme's for MCizing. EH still has a few things that
need to be MCized, but the last debug info thing are LEB and
cygwin specific (which the MC api doesn't support yet) and
one specific form of EmitReference which I'll tackle next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
e77cd0fbe65ca3511105303a483d8782d96a5629 10-Mar-2010 Chris Lattner <sabre@nondot.org> mcize uses of PrintRelDirective and eliminate it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
90e4af7b9d479a6766924cfa375474a870fe4a0d 10-Mar-2010 Chris Lattner <sabre@nondot.org> mcize uses of PrintRelDirective and eliminate it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
43cfc4882a0e8e15aaef6224dd771e914f15a92d 10-Mar-2010 Chris Lattner <sabre@nondot.org> inline the bool form of PrintRelDirective away, leaving just the unsigned form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98106 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
4aeaca40539ffd6562df22765bba3cf98e2fff9d 10-Mar-2010 Chris Lattner <sabre@nondot.org> inline the bool form of PrintRelDirective away, leaving just the unsigned form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98106 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
9ef8efd5f3606859c5674fb7b3c6e1c60320d752 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate EOL, adding all comments with the OutStreamer.AddComment
method. With this, comments should end up on the same lines as the .byte
directives (for example) and we now get no output with:

$ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose

woot.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
233f52be36a6a2ec053b1580fdf89625de256513 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate EOL, adding all comments with the OutStreamer.AddComment
method. With this, comments should end up on the same lines as the .byte
directives (for example) and we now get no output with:

$ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose

woot.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
8bd2f8f499244d677beada39759eb12926bdbb44 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch of \n's that are being printed to O. Next up is to kill
off "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
0d9d70f0130ca609a1f41e0d90b3952751c110ab 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch of \n's that are being printed to O. Next up is to kill
off "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfDebug.cpp
c93996e75223dbc176cd78675d1956e5424468ef 10-Mar-2010 Chris Lattner <sabre@nondot.org> convert the non-"ispcrel" case of EmitReference to MC,
significant debug info testcases are now all going through
MCStreamer, though they print a lot of extraneous newlines to "O".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98101 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
fcdae492ea4fc66ba547da6f761c2dd96b67fc82 10-Mar-2010 Chris Lattner <sabre@nondot.org> convert the non-"ispcrel" case of EmitReference to MC,
significant debug info testcases are now all going through
MCStreamer, though they print a lot of extraneous newlines to "O".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98101 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
597b0fc0795cad9bc222538348a4a6c6c92b5d82 09-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98035:
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
c608784dc8a668abbb96e7a471e6341c1fda669f 09-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98035:
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
4ba1da94686b3bff553f01c2a87b037cd07e43d2 09-Mar-2010 Chris Lattner <sabre@nondot.org> add some extra checks. I'm not sure why, but this does unbreak a
failure remaining on mainline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6c7dfc046326f7c52c8df782c326b703882b3796 09-Mar-2010 Chris Lattner <sabre@nondot.org> add some extra checks. I'm not sure why, but this does unbreak a
failure remaining on mainline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
47c1a21487b423574a1204c13e4d7e2493aa26cf 09-Mar-2010 Eric Christopher <echristo@apple.com> Speculatively revert r98035. It appears to have caused a set of buildbot
failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
ee6414cf04d680d2c49b867fc6085be79ed32a44 09-Mar-2010 Eric Christopher <echristo@apple.com> Speculatively revert r98035. It appears to have caused a set of buildbot
failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
d1644025f0362ad90323c4e6c23a5d4f5c674f38 09-Mar-2010 Chris Lattner <sabre@nondot.org> Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
1e233f510c3d5d26de97d90ec6b061a6643e892c 09-Mar-2010 Chris Lattner <sabre@nondot.org> Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
855e8f504dca2e4130c223372d1429cbbe88d418 09-Mar-2010 Chris Lattner <sabre@nondot.org> change DbgScope to keep track of the start/end label as MCSymbol*
now that the dependence on ID is removed from MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b7db73348241ff51f6ac6c4b65cd3d2ff36036b3 09-Mar-2010 Chris Lattner <sabre@nondot.org> change DbgScope to keep track of the start/end label as MCSymbol*
now that the dependence on ID is removed from MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ebf83e8dae4d0d230e8db7bda1670b9633cc4fa4 09-Mar-2010 Chris Lattner <sabre@nondot.org> remove a useless optimization: now that label replacement never
happens, the start/end of a scope can never be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5b9062cb3ad2a60f18e941ac42a2382302c46f24 09-Mar-2010 Chris Lattner <sabre@nondot.org> remove a useless optimization: now that label replacement never
happens, the start/end of a scope can never be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5e42343a7b40d2fc6be5516fdcb033b3be025889 09-Mar-2010 Chris Lattner <sabre@nondot.org> strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
a34ec2290fa441d312ac33a61e6ec6029259bdef 09-Mar-2010 Chris Lattner <sabre@nondot.org> strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
11c1f42f66fc4b9dd714c1125c11c4bbf3e22f30 09-Mar-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::printLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
b2cc1a39f79742320ee6ba126d9eec4d6770dee7 09-Mar-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::printLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
2ab0c4432295561a9cd88bf1cbde18070ff38538 09-Mar-2010 Chris Lattner <sabre@nondot.org> add a EmitSymbolValue convenience method to MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfPrinter.cpp
6cde3e6e993126df756e3be5b9ef43540b904644 09-Mar-2010 Chris Lattner <sabre@nondot.org> add a EmitSymbolValue convenience method to MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfPrinter.cpp
ead58652052b3763b92e70ef76cf90fb26322417 09-Mar-2010 Chris Lattner <sabre@nondot.org> make InlineInfoLabels hold MCSymbol*'s, avoiding
recomputation of the labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6ed0f90dacc7c42b48019ad035fc2767adeaf04a 09-Mar-2010 Chris Lattner <sabre@nondot.org> make InlineInfoLabels hold MCSymbol*'s, avoiding
recomputation of the labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e90630aa8ccdad105ea95e30db647cf603ed6105 09-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize the last use of PrintLabelName and eliminate PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
b9dc5f7b580951d51cb32b56b769ccda0647a7f6 09-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize the last use of PrintLabelName and eliminate PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
84c27b212bf0db9c7a775193746ea480e131dc07 09-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate an argument from PrintRelDirective, sinking
the one special case into EmitSectionOffset. MCize
the non-special case in EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98014 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
ef6b14f51c137e7386d8a2fb568c5a96defc2d36 09-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate an argument from PrintRelDirective, sinking
the one special case into EmitSectionOffset. MCize
the non-special case in EmitSectionOffset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98014 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
ed844324de8ee9e0d6a7957ef1e8559559dec976 09-Mar-2010 Chris Lattner <sabre@nondot.org> remove the suffix form of PrintLabelName, which was only
used for 'flavor'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98012 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
b67d69df658b1b60a40ce2dfe33c1f32e20c33bb 09-Mar-2010 Chris Lattner <sabre@nondot.org> remove the suffix form of PrintLabelName, which was only
used for 'flavor'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98012 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
819669a9aec2102b8ed02fd704b7b8389a0782e8 09-Mar-2010 Chris Lattner <sabre@nondot.org> now that the debug and eh emitters use a common .set counter,
we can eliminate "flavor".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
c3421bb80559c3103e5e52af11a92a02848b13b7 09-Mar-2010 Chris Lattner <sabre@nondot.org> now that the debug and eh emitters use a common .set counter,
we can eliminate "flavor".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
d317fefecc0da2173d513760fe48e2792248be69 09-Mar-2010 Chris Lattner <sabre@nondot.org> move .set generation out of DwarfPrinter into AsmPrinter and
MCize it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98010 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
warfPrinter.h
0d50c7620d92762eaa5c9dedd07c94f5a6a19935 09-Mar-2010 Chris Lattner <sabre@nondot.org> move .set generation out of DwarfPrinter into AsmPrinter and
MCize it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98010 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
warfPrinter.h
f8bfa88c4fae4773a01204ea2ba508aa3a58392d 09-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset to always use .set if it is
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything. Make EmitSectionOffset call EmitDifference
instead of duplicating it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfPrinter.cpp
warfPrinter.h
57578766aa33d1a22cd124316df318db3e44f34a 09-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset to always use .set if it is
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything. Make EmitSectionOffset call EmitDifference
instead of duplicating it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfPrinter.cpp
warfPrinter.h
2a65fd402f4630fa79c32d7f97ffea4b8c6e2d63 09-Mar-2010 Chris Lattner <sabre@nondot.org> Remove a version of EmitDifference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
effa868d385d861fd1937ccac759bebe9b76596b 09-Mar-2010 Chris Lattner <sabre@nondot.org> Remove a version of EmitDifference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
04f37895b1d991edf1dff63c3db5feef7348182f 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a form of PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
dd8187a3e9509c670162b6ae8b7115723a37f01c 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a form of PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
a84ac5ce50428a30a62a0f821961206bb4f32e1c 08-Mar-2010 Chris Lattner <sabre@nondot.org> remove another form of EmitReference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97998 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
326861c4c823faedd5123f2acd5ad83f7a547e80 08-Mar-2010 Chris Lattner <sabre@nondot.org> remove another form of EmitReference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97998 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
7bc335544d5214706dbc9689974559fdf7767fb3 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate the non-MCSymbol versions of EmitReference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
c7249da2e9d1b89f3b49a12dc698d6a683c32402 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate the non-MCSymbol versions of EmitReference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
warfPrinter.h
6d213e8da0d7222e44197ec75d3d76ec833be0df 08-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize EmitLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
f829eef8facab98ecb0fab5823511596b4ecb87b 08-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize EmitLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
703d12e3049bf879fe9f09688bc1799ddab87a75 08-Mar-2010 Chris Lattner <sabre@nondot.org> merge DIEObjectLabel and DIEDwarfLabel into DIELabel.

Yes, DIE you fiendish labels, die all of you.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfPrinter.h
4faf59af82784dc21418d61bb3a68d3a2dc0b56e 08-Mar-2010 Chris Lattner <sabre@nondot.org> merge DIEObjectLabel and DIEDwarfLabel into DIELabel.

Yes, DIE you fiendish labels, die all of you.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfPrinter.h
be4c2fc20d67b2f98dc6f02a1234d6724ae9d993 08-Mar-2010 Chris Lattner <sabre@nondot.org> elimiante the DWLabel class, using MCSymbol instead. Start
switching some stuff over to passing around MCSymbol* instead
of stem+ID.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
b98b1bf43259052d1b06b90cc643a47bb239e2bb 08-Mar-2010 Chris Lattner <sabre@nondot.org> elimiante the DWLabel class, using MCSymbol instead. Start
switching some stuff over to passing around MCSymbol* instead
of stem+ID.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
7f9e0f3b7b35817655e9a9bfa428bb007a278593 08-Mar-2010 Devang Patel <dpatel@apple.com> Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
77bf295dbb0b049fdec853ced0763084c43b2438 08-Mar-2010 Devang Patel <dpatel@apple.com> Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
9e592490c358725242fe663ffc6badeea1cdf3c0 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating checks in Descriptor constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
3c91b05d2b1751b9e4e21fd958d358ec463dcd3c 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating checks in Descriptor constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
be149874dbf1f1a139afb106da91d617025964eb 08-Mar-2010 Devang Patel <dpatel@apple.com> Revert r97947.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
0ef3fa6aabc80995c8a0bd829c85c89ef2d4c32d 08-Mar-2010 Devang Patel <dpatel@apple.com> Revert r97947.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
523423613992fd514f7660b52002628bc8d199fb 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
d8cc5d5256e79a74188dfef5a12d43127330dad3 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
df49dc7d29863a30f785c6e8ec88dcf8c8846c56 08-Mar-2010 Douglas Gregor <doug.gregor@gmail.com> Revert r97917, which was causing Clang Debug self-host failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
1ddcf35b68a4c326c548272134611ce54b1afd25 08-Mar-2010 Douglas Gregor <dgregor@apple.com> Revert r97917, which was causing Clang Debug self-host failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
6dbc2eece96fe5e7610818ae079ce66942ebb12e 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
9467f0e3bd2b0fece0d50a6d92f996b4f3952096 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
10bb693ebf8b677e8f27b4793863ffc24dc3df51 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> _2_ gcc crashes, ah, ah, ah...

(Rolling back r97906.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8c42ca937453bd216b68baff1f32b47430d5b374 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> _2_ gcc crashes, ah, ah, ah...

(Rolling back r97906.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3116cb1b4c71c62300384650750c1c8017a2fedc 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f7399bf929f401d4e1aa40f4f7a2265e2cdedc39 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
36cd9f87e832aa08fba5d7298ff1be4940bb97ea 02-Mar-2010 Devang Patel <dpatel@apple.com> Fix grammar.
Thanks Duncan!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1eac3e7d1e5d0bce098f15d87a2c8741eba73662 02-Mar-2010 Devang Patel <dpatel@apple.com> Fix grammar.
Thanks Duncan!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0ab194f68a5a8da0c37c1aa726cf2f89c0c2b7f0 02-Mar-2010 Devang Patel <dpatel@apple.com> Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6b506cbce0ad7ad217a58cd1d6740e23c36f67ec 02-Mar-2010 Devang Patel <dpatel@apple.com> Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6478712f778316f7b171e3d9f18c500e14cd843a 26-Feb-2010 Bill Wendling <isanbard@gmail.com> A much cleaner (and less code!) way of inserting the correct amount of padding
for alignment into the LSDA. If the TType base offset is emitted, then put the
padding there. Otherwise, put it in the call site table length. There will be no
conflict between the two sites when placing the padding in one place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97277 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1869ac8b716da4fdbaaf3e5484238f36881fc14b 26-Feb-2010 Bill Wendling <isanbard@gmail.com> A much cleaner (and less code!) way of inserting the correct amount of padding
for alignment into the LSDA. If the TType base offset is emitted, then put the
padding there. Otherwise, put it in the call site table length. There will be no
conflict between the two sites when placing the padding in one place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97277 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
3a3c48eff9f8cad2dab101c2df306cf9b724a99a 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97269 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
6507eca124883c90cc300c1ff344f79a8b4181a5 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97269 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cf756463841be7ef1e22c340f1134ea046ce006e 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Fix comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97200 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0b1d2f30124285cc853a12deb0f45a72add26d04 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Fix comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97200 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5d247e1c3eb86a1af0ba33bb296bc0c898e52b8d 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Add another (and hopefully the last) exception case, where once we recalculate
the alignment requirement, if it no longer makes the TType base offset overflow
into extra bytes, then we need to pad to those bytes ourselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97196 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
bb4283ec1349087566e53f57ca09f9ed3bd5a7fd 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Add another (and hopefully the last) exception case, where once we recalculate
the alignment requirement, if it no longer makes the TType base offset overflow
into extra bytes, then we need to pad to those bytes ourselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97196 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
69bc7383a9f23982786ab08c393c702f6b56d5be 26-Feb-2010 Bill Wendling <isanbard@gmail.com> And should use the correct variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97193 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
fdb2be8b09f06c1124c990b959ee2dcc1008fab4 26-Feb-2010 Bill Wendling <isanbard@gmail.com> And should use the correct variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97193 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f03e5e946d880a174fdad63bd5658f27e926eb98 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Got assertion check backwards.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97192 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
a88864542503fdecbb2ed3adea53545a14991dde 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Got assertion check backwards.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97192 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b2053dfe9b3c1701e0a918b5bc762fa0cb7b51d4 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Catch a corner case where adding the padding to the "TType base offset" field
will eliminate the need for padding in the "Call site table length". E.g., if
we have this:

GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0x7f ## @TType base offset
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length

with padding of 1. We want to emit the padding like this:

GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0xff ## @TType base offset
.space 1,0 ## Padding
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length

and not with padding on the "Call site table length" entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97183 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
86f0d33f85c19af294916eacd175f6b0cd81142f 26-Feb-2010 Bill Wendling <isanbard@gmail.com> Catch a corner case where adding the padding to the "TType base offset" field
will eliminate the need for padding in the "Call site table length". E.g., if
we have this:

GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0x7f ## @TType base offset
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length

with padding of 1. We want to emit the padding like this:

GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0xff ## @TType base offset
.space 1,0 ## Padding
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length

and not with padding on the "Call site table length" entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97183 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
3be02b851918489d8fb8154678d476c806ade67a 25-Feb-2010 Bill Wendling <isanbard@gmail.com> Make comment more meaningful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97169 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f7e90ae2057adcf6fa4b023110611084f28fd6c1 25-Feb-2010 Bill Wendling <isanbard@gmail.com> Make comment more meaningful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97169 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
e1973f26cbd79854dd38f18f2df838fb7927302a 25-Feb-2010 Bill Wendling <isanbard@gmail.com> MC'ize padding when padding the ULEB128 value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97087 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
f0bd4cc1b605d52bbf03aa38e5c806bcb6f334f5 25-Feb-2010 Bill Wendling <isanbard@gmail.com> MC'ize padding when padding the ULEB128 value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97087 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
a7888eaec3b317e17b637d76408fed9abd8ced95 25-Feb-2010 Bill Wendling <isanbard@gmail.com> LLVM puts padding bytes in the __gcc_except_tab section after the
GCC_except_table label but before the Lexception, which the FDE references.
This causes problems as the FDE does not point to the start of an LSDA chunk.

Use an unnormalized uleb128 for the call-site table length that includes the
padding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97078 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
3dc9b4872b28016b38ce31fa4356e17c96420579 25-Feb-2010 Bill Wendling <isanbard@gmail.com> LLVM puts padding bytes in the __gcc_except_tab section after the
GCC_except_table label but before the Lexception, which the FDE references.
This causes problems as the FDE does not point to the start of an LSDA chunk.

Use an unnormalized uleb128 for the call-site table length that includes the
padding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97078 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
a6e2dadb90050b1f474ddda629590d2a662ab8ef 23-Feb-2010 Chris Lattner <sabre@nondot.org> use OutStreamer.EmitCodeAlignment for alignment in the text
segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96967 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2cce3712fafb2e72e144414377cd48f5ab95a5ae 23-Feb-2010 Chris Lattner <sabre@nondot.org> use OutStreamer.EmitCodeAlignment for alignment in the text
segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96967 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
04740c8fce9aeabcbdbb2763696648b53945cb77 17-Feb-2010 Chris Lattner <sabre@nondot.org> move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96492 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0a3f39985b3827a02a7ce1ca5e310b68820fd26d 17-Feb-2010 Chris Lattner <sabre@nondot.org> move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96492 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
067e6d9f234becde5a72eff6f8bc64bfeb557ea5 17-Feb-2010 Devang Patel <dpatel@apple.com> Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
22fb4b2a5708c2987a04a823df98b6f9fda60d0c 17-Feb-2010 Devang Patel <dpatel@apple.com> Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
756ae49d30932ed7d89dabcef350e5dae3020238 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> Use ttype encoding consistently

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96290 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0b2173069688cae0321b05714f16a8886834cfe6 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> Use ttype encoding consistently

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96290 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
bf2ffccd8775a82a9589ba522861a1140d4a0aad 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> It turns out that we emitted completely wrong common EH frame since the early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96287 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ac8a3d0b5b464e4dd7c45ba111e6da1aeed39bc5 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> It turns out that we emitted completely wrong common EH frame since the early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96287 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d779bcb96ab72939243f1fdd85a2daae863a82c4 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96285 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
9184b25fa543a900463215c11635c2c014ddb623 15-Feb-2010 Anton Korobeynikov <asl@math.spbu.ru> Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96285 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
0523d683c6ae5a3d686bc63ca1457985d692b3b5 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Use .empty() instead of .size().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95871 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
e9d10a6c398246fac376804143e868d6c20b6947 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Use .empty() instead of .size().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95871 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d9696785905a1d2aed7ac6c587aefd5e726c250d 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Fix to get it to compile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95840 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
ca51d051385d5286d1b56b67f7d41468bf1b96dd 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Fix to get it to compile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95840 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
0559f91a9b0a6f81457ac73755bab2da0b724586 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Don't print out a default newline when emitting the section offset. There are
almost always comments afterwards that need printing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95839 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfPrinter.cpp
4cb4895e41435deb1b92a195de420d04e00c7234 11-Feb-2010 Bill Wendling <isanbard@gmail.com> Don't print out a default newline when emitting the section offset. There are
almost always comments afterwards that need printing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95839 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
warfPrinter.cpp
7c99a19b753c91264b5ce38b1752fbeb80b6dce6 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Use an index instead of pointers into the vector. If the vector resizes, then
the pointer values could be invalid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95813 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
0a9abcbffed2ccef44138f997c070ba9159b1443 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Use an index instead of pointers into the vector. If the vector resizes, then
the pointer values could be invalid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95813 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
e264f62ca09a8f65c87a46d562a4d0f9ec5d457e 10-Feb-2010 Shih-wei Liao <sliao@google.com> Check in LLVM r95781.
smPrinter.cpp
MakeLists.txt
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
akefile
camlGCPrinter.cpp
df1a7ffe7f19756ba874b3c07615d93ece611a1d 10-Feb-2010 Dan Gohman <gohman@apple.com> Fix "the the" and similar typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfException.h
f451cb870efcf9e0302d25ed05f4cac6bb494e42 10-Feb-2010 Dan Gohman <gohman@apple.com> Fix "the the" and similar typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfException.h
f2f451d4eb04db04bc45999bfc8bd0dd6a27dfde 10-Feb-2010 Chris Lattner <sabre@nondot.org> fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
45282aedb9c5a33d20565502c6c8fc871fa84cbe 10-Feb-2010 Chris Lattner <sabre@nondot.org> fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fc5727dc3a284e11b729779a0ae20d5b3e12847f 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments a even more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95740 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d3a47a3ef3ea429f82b05cce9ecd7bc6d28badf0 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments a even more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95740 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
18ae887e125ccf13369a335d27675dda2f282fa6 10-Feb-2010 Chris Lattner <sabre@nondot.org> Move verbose asm instruction comments to using MCStreamer.
The major win of this is that the code is simpler and they
print on the same line as the instruction again:

movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95738 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
47529c9ac6d4731e9f5a1b2d3c64769b1b2d5f1d 10-Feb-2010 Chris Lattner <sabre@nondot.org> Move verbose asm instruction comments to using MCStreamer.
The major win of this is that the code is simpler and they
print on the same line as the instruction again:

movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95738 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
30299f06097ea3e9a42b5c53712731bdf3e4c1b2 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments a bit more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95737 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
35c187bcfda326edcddf0c71ab593786cf88f577 10-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments a bit more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95737 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
726d397a8cc48a5cb5d2f8a0fe10f7f17f7d4afc 10-Feb-2010 Chris Lattner <sabre@nondot.org> print all the newlines at the end of instructions with
OutStreamer.AddBlankLine instead of textually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95734 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8e089a9e4d6b7aa2b3968c38644f926f60a7c670 10-Feb-2010 Chris Lattner <sabre@nondot.org> print all the newlines at the end of instructions with
OutStreamer.AddBlankLine instead of textually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95734 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cfa17985ae5be02135e39f36181195bcbfd3bd07 09-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments in the LSDA somewhat. They can be improved much more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95707 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1f8075d7d232dd0c7b0caa81ed3ce426a13f5a66 09-Feb-2010 Bill Wendling <isanbard@gmail.com> Improve comments in the LSDA somewhat. They can be improved much more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95707 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4052b296030e3523b9a4a8d1e4a9af9091a8d7e8 09-Feb-2010 Chris Lattner <sabre@nondot.org> move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
518bb53485df640d7b7e3f6b0544099020c42aa7 09-Feb-2010 Chris Lattner <sabre@nondot.org> move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a0a98586f7ea4cb607c149cb309859d3973dff7d 09-Feb-2010 Devang Patel <dpatel@apple.com> Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8581e0147cd7622ecec96a47310fc1a211b77908 09-Feb-2010 Devang Patel <dpatel@apple.com> Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
69003fc57deb3d06a59092e8edc69a886f34e817 09-Feb-2010 Dan Gohman <gohman@apple.com> Implement AsmPrinter support for several more operators which have
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5938a3e681ab7612f5921c5ccaca5d2e0851c60f 09-Feb-2010 Dan Gohman <gohman@apple.com> Implement AsmPrinter support for several more operators which have
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3274882ec8b5fe6f17f88674433a77b7a892ada7 09-Feb-2010 Chris Lattner <sabre@nondot.org> now that @GOTOFF is no longer represented as a suffix on a
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
951755445821b92c3dc38f32b5c36e9875fa4318 09-Feb-2010 Chris Lattner <sabre@nondot.org> now that @GOTOFF is no longer represented as a suffix on a
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
933f193cf388024c0a385808683aec98d6dbe780 08-Feb-2010 Dan Gohman <gohman@apple.com> ConstantFoldConstantExpression can theoretically return the original
expression; don't go into an infinite loop if it does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
54e72eca0c5d012546fcc6d1fdac7ee56c90686c 08-Feb-2010 Dan Gohman <gohman@apple.com> ConstantFoldConstantExpression can theoretically return the original
expression; don't go into an infinite loop if it does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8e0ed34112d7ff6a6211d0b0168d34ce0be747dc 08-Feb-2010 Dan Gohman <gohman@apple.com> When CodeGen'ing unoptimized code, there may be unfolded constant expressions
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.

This fixes PR6255.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
618f17702d09795279717827eeb06632d6ef49e4 08-Feb-2010 Dan Gohman <gohman@apple.com> When CodeGen'ing unoptimized code, there may be unfolded constant expressions
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.

This fixes PR6255.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3ef960d295493fb1b9e5076ea07b83ef8a232a5e 07-Feb-2010 Duncan Sands <baldrick@free.fr> Give DwarfPrinter a protected (but not virtual) destructor. Cppcheck
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.h
3dc32ed569ab8f94e8036f5aae9d683c34bd31f3 07-Feb-2010 Duncan Sands <baldrick@free.fr> Give DwarfPrinter a protected (but not virtual) destructor. Cppcheck
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.h
c5dc725a7b5176771a55ea1b5ceb5666ae084e88 06-Feb-2010 Devang Patel <dpatel@apple.com> Set DW_AT_artificial only if argument is marked as artificial.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b4645643de240e5b3461b03a9c6950fefe1538ac 06-Feb-2010 Devang Patel <dpatel@apple.com> Set DW_AT_artificial only if argument is marked as artificial.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
530a81e793a4016c15d6bafb80b918ea4fb28dde 06-Feb-2010 Devang Patel <dpatel@apple.com> Do not generate specification DIE for nested functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95452 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6cda22eae404e25944dc29c59e9fc239e8c1891c 06-Feb-2010 Devang Patel <dpatel@apple.com> Do not generate specification DIE for nested functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95452 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
380d4a269e3932f9ad4d99c9f1300361eecb766d 05-Feb-2010 Bill Wendling <isanbard@gmail.com> An empty global constant (one of size 0) may have a section immediately
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:

.zerofill __DATA, __common, __cmd, 1, 3

This fix puts us back to that semantic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95336 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
744f579b63987854ac1b3f2f9c8d2659c5b5ee40 05-Feb-2010 Bill Wendling <isanbard@gmail.com> An empty global constant (one of size 0) may have a section immediately
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:

.zerofill __DATA, __common, __cmd, 1, 3

This fix puts us back to that semantic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95336 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
84aba948550c797f65a251c01500703858dd5140 03-Feb-2010 Devang Patel <dpatel@apple.com> Emit appropriate expression to find virtual base offset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95242 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c1dc8fff79eecc154eb6a62d652c5209d71c031b 03-Feb-2010 Devang Patel <dpatel@apple.com> Emit appropriate expression to find virtual base offset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95242 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bf7d00abd2602d7eee2c086882ad7b716253e61d 03-Feb-2010 Devang Patel <dpatel@apple.com> Provide interface to identifiy artificial methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4e0d19dfd9ab77f9974cb07320dfe4f7f5ffd7b9 03-Feb-2010 Devang Patel <dpatel@apple.com> Provide interface to identifiy artificial methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
32b33f15eb5592331cc893043be273c64b42cf76 03-Feb-2010 Chris Lattner <sabre@nondot.org> don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
.o files don't like that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95187 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d26a80f666fb925956a4f19143265f5150756df0 03-Feb-2010 Chris Lattner <sabre@nondot.org> don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
.o files don't like that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95187 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dc091da21df4460d274807b0357f41c103f1b904 03-Feb-2010 Chris Lattner <sabre@nondot.org> privatize a bunch of methods and move \n printing into them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95186 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f64159c8402ef17d14b5f7555378b2c321a4a5ab 03-Feb-2010 Chris Lattner <sabre@nondot.org> privatize a bunch of methods and move \n printing into them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95186 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0c920438c1f21ee6d9befa4aac8b884b8cafbc9c 03-Feb-2010 Chris Lattner <sabre@nondot.org> rejigger the world so that EmitInstruction prints the \n at
the end of the instruction instead of expecting the caller to
do it. This currently causes the asm-verbose instruction
comments to be on the next line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95178 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d1ff72b8a797304f146e4293db8c814231ea8cb3 03-Feb-2010 Chris Lattner <sabre@nondot.org> rejigger the world so that EmitInstruction prints the \n at
the end of the instruction instead of expecting the caller to
do it. This currently causes the asm-verbose instruction
comments to be on the next line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95178 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ff259dbe71427fbe989d2f886f08c00e369df771 03-Feb-2010 Chris Lattner <sabre@nondot.org> sink handling of target-independent machine instrs (other
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0d883e3f8484491d010b8f8b7a1aecc58cb5fa8e 03-Feb-2010 Chris Lattner <sabre@nondot.org> sink handling of target-independent machine instrs (other
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8d2970ba91fc2161bf5fc3d073a59cd4f3dc45a6 03-Feb-2010 Chris Lattner <sabre@nondot.org> refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95155 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
56591ab218639d8a6e4c756ca37adaf20215c3b6 03-Feb-2010 Chris Lattner <sabre@nondot.org> refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95155 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
28761cf9ba65a2c97ebb02aa10c4a5485d255358 02-Feb-2010 Chris Lattner <sabre@nondot.org> move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95152 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1f21990284906b1d3ed244d99808c6dade04d295 02-Feb-2010 Chris Lattner <sabre@nondot.org> move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95152 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
40b6cdaef9ac376bce891e90375868450f84158d 02-Feb-2010 Devang Patel <dpatel@apple.com> Apparently gdb is not amused by empty lines in pubtypes section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95064 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e3d6d220bddbbd7d48b0610edf43e080a0b7467c 02-Feb-2010 Devang Patel <dpatel@apple.com> Apparently gdb is not amused by empty lines in pubtypes section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95064 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
0ceb489312cd308d27e0c3bfee93c0695fc0e2f5 02-Feb-2010 Devang Patel <dpatel@apple.com> NULL terminate name in pubtypes sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95062 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
31acb89c6545847435518f42825102aa30af9fd4 02-Feb-2010 Devang Patel <dpatel@apple.com> NULL terminate name in pubtypes sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95062 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
423dfa0a5bf34218f526c272ddeb244d7be0d8e3 30-Jan-2010 Devang Patel <dpatel@apple.com> Emit declaration DIE for the class static variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94870 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1ee0cb9a558f2bb739db19426a5aab936e16bacd 30-Jan-2010 Devang Patel <dpatel@apple.com> Emit declaration DIE for the class static variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94870 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dc73c37d2da6bd3f3bbd7abcbdb682fae79893a2 29-Jan-2010 Devang Patel <dpatel@apple.com> Add size and location info in DW_TAG_class_type descriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8cbb6123acbb57480cbf7bc714724106db50e2e5 29-Jan-2010 Devang Patel <dpatel@apple.com> Add size and location info in DW_TAG_class_type descriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94822 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
feb65e4ef7e539b86993b9840554725ae5a3853a 28-Jan-2010 Chris Lattner <sabre@nondot.org> add target hooks for emitting random gunk before and after the function body.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94732 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
edfe776ac29d9fd48ae8967f6742400aad65e39c 28-Jan-2010 Chris Lattner <sabre@nondot.org> add target hooks for emitting random gunk before and after the function body.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94732 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1db5d985d6cc883ad90073f979c483aa7c1b8955 28-Jan-2010 Jim Grosbach <grosbach@apple.com> Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ca752c9020a1b1cf151142bd9e0cbca9af12d807 28-Jan-2010 Jim Grosbach <grosbach@apple.com> Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1d40b3738f819d8cfb67b6b71d83642036388cd0 28-Jan-2010 Chris Lattner <sabre@nondot.org> Give AsmPrinter the most common expected implementation of
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94722 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d49fe1b6bc4615684c2ec71140a21e9c4cd69ce3 28-Jan-2010 Chris Lattner <sabre@nondot.org> Give AsmPrinter the most common expected implementation of
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94722 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5ab55984e1099748b6b3976f7bc08cf80b6a1550 28-Jan-2010 Chris Lattner <sabre@nondot.org> emit a 0 byte instead of a noop if a function is empty on darwin.
"0" is nice and target independent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94718 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
10e7c60c0444a766c256f6c7c922e43963590a5c 28-Jan-2010 Chris Lattner <sabre@nondot.org> emit a 0 byte instead of a noop if a function is empty on darwin.
"0" is nice and target independent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94718 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d7dede2bdd47620b6f8ac8e3f72d454bac8c1005 28-Jan-2010 Chris Lattner <sabre@nondot.org> Remove the argument from EmitJumpTableInfo, because it doesn't need it.

Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94716 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
14c38ec2afeaf25c53a50c2c65116aca8c889401 28-Jan-2010 Chris Lattner <sabre@nondot.org> Remove the argument from EmitJumpTableInfo, because it doesn't need it.

Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94716 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8559cf724e8fb6a74ee227709b3a634edb2f46b4 28-Jan-2010 Chris Lattner <sabre@nondot.org> Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a2406190ca28dc5901dfe747849c8eda9c29d7ee 28-Jan-2010 Chris Lattner <sabre@nondot.org> Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3298855a94df43a408b6804f74f8675dfc26fad8 28-Jan-2010 Chris Lattner <sabre@nondot.org> rename printVisibility to EmitVisibility and make it private,
constify EmitLinkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
be9dfcef82c58063708e039bea3cf972ba41581b 28-Jan-2010 Chris Lattner <sabre@nondot.org> rename printVisibility to EmitVisibility and make it private,
constify EmitLinkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aec7a8a5b4f952b767fe0d301404e078425bde0d 27-Jan-2010 Chris Lattner <sabre@nondot.org> add a new AsmPrinter::EmitFunctionEntryLabel virtual function,
which allows targets to override function entry label emission.
Use it to convert linux/ppc to use EmitFunctionHeader().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94667 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2cf7251d39f28888af06b6f941eabd1d10995382 27-Jan-2010 Chris Lattner <sabre@nondot.org> add a new AsmPrinter::EmitFunctionEntryLabel virtual function,
which allows targets to override function entry label emission.
Use it to convert linux/ppc to use EmitFunctionHeader().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94667 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bfbae45ecc789bc663f9fea39f60ffe34d5eff6c 27-Jan-2010 Chris Lattner <sabre@nondot.org> mcize label emission for functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94624 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9bc20ab519d47146a9716d7cff2a892da78774a6 27-Jan-2010 Chris Lattner <sabre@nondot.org> mcize label emission for functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94624 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fa366055bfbd194d76964c1151c5352698430957 27-Jan-2010 Chris Lattner <sabre@nondot.org> use EmitLinkage for functions as well as globals. One output
change is that we now use ".linkonce discard" for global variables
instead of ".linkonce samesize". These should be the same, just less
strict. If anyone is interested in mcizing MCSection for COFF targets,
this should be easy to fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94623 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
111a3193b5e25f8765221f2e94fba888155fe4eb 27-Jan-2010 Chris Lattner <sabre@nondot.org> use EmitLinkage for functions as well as globals. One output
change is that we now use ".linkonce discard" for global variables
instead of ".linkonce samesize". These should be the same, just less
strict. If anyone is interested in mcizing MCSection for COFF targets,
this should be easy to fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94623 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3971bfd52ea146220a4983045e5ca0d765fdb1ac 27-Jan-2010 Chris Lattner <sabre@nondot.org> pull linkage emission code out to a new EmitLinkage function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94621 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a3e8883d710c435d640d65e52f0c6dcce21cad5b 27-Jan-2010 Chris Lattner <sabre@nondot.org> pull linkage emission code out to a new EmitLinkage function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94621 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7d7e511a8353733c220bf28514a61f02d571e645 27-Jan-2010 Chris Lattner <sabre@nondot.org> rearrange some directives, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94620 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b406a8141d704bca7a8eade3a0c46d7ec73affc8 27-Jan-2010 Chris Lattner <sabre@nondot.org> rearrange some directives, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94620 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5f287bd4daecba7bed5ace5937d512ee74225ce3 27-Jan-2010 Chris Lattner <sabre@nondot.org> remove a noop function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94616 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5c8697488ad6d860c448b6e7bed80dec8c90b585 27-Jan-2010 Chris Lattner <sabre@nondot.org> remove a noop function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94616 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e598067034348042de2048941af8e53a6ece2768 27-Jan-2010 Chris Lattner <sabre@nondot.org> now that enough stuff is constified, move function header printing
logic up from X86 into the common code. The other targets will
hopefully start using this soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94614 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b11caedd6f36afc6518cf0ea9bbff6500fd77334 27-Jan-2010 Chris Lattner <sabre@nondot.org> now that enough stuff is constified, move function header printing
logic up from X86 into the common code. The other targets will
hopefully start using this soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94614 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
69a76970a3bd6ba4aa79551cd662ca82ec550be8 27-Jan-2010 Chris Lattner <sabre@nondot.org> constify a bunch of dwarf stuff now that the registerinfo method
is constified.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94613 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.h
warfWriter.cpp
eec791afb127ed634ed5d1cdd2e6c47b3b70174c 27-Jan-2010 Chris Lattner <sabre@nondot.org> constify a bunch of dwarf stuff now that the registerinfo method
is constified.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94613 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.h
warfWriter.cpp
ca41903f6813a6e28b136d7f4e30080305bbbe6e 26-Jan-2010 Chris Lattner <sabre@nondot.org> emit jump table an alias ".set" directives through MCStreamer as
assignments.

.set x, a-b

is the same as:

x = a-b



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94596 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
c618c8aff46a8ec4d209d041404e780a0caaf77d 26-Jan-2010 Chris Lattner <sabre@nondot.org> emit jump table an alias ".set" directives through MCStreamer as
assignments.

.set x, a-b

is the same as:

x = a-b



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94596 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
ae89d3b83bf8b2c3cf0be362ab872c162bad23ec 26-Jan-2010 Devang Patel <dpatel@apple.com> Use AssertingVH, just to be paranoid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94593 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3139fcf9edd046ba0b939dec72cd121e899d27d0 26-Jan-2010 Devang Patel <dpatel@apple.com> Use AssertingVH, just to be paranoid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94593 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5ae5240a9283d548c574e07c2ac5b1a1c3f16dce 26-Jan-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_containing_type attribute for a class if containing type is known.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94587 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b554499871716fe647e226e52741b7fa69f7b7ba 26-Jan-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_containing_type attribute for a class if containing type is known.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94587 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5e969572f5b9e519eb01837cd84f129e46b6b892 26-Jan-2010 Chris Lattner <sabre@nondot.org> Eliminate SetDirective, and replace it with HasSetDirective.
Default HasSetDirective to true, since most targets have it.

The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94585 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
cee63322eaccc2f1067bdf5eab506e440f867da1 26-Jan-2010 Chris Lattner <sabre@nondot.org> Eliminate SetDirective, and replace it with HasSetDirective.
Default HasSetDirective to true, since most targets have it.

The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94585 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfPrinter.cpp
1fd0182a85e201f0b92773d9edaae8869fa190df 26-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate MCAsmInfo::NeedsSet: we now just use .set on any platform
that has it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94581 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
6a315c358ca35625ffd50fdc74556acb26ec7396 26-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate MCAsmInfo::NeedsSet: we now just use .set on any platform
that has it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94581 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
af70642ef1bba99e7e3ff099d21722a1934c28f9 26-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate the TargetLowering::UsesGlobalOffsetTable bool, which is
subsumed by TargetLowering::getJumpTableEncoding(). Change uses of
it to be more specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94529 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f1214cbf3c2d151d3a2353d82143da186313a42a 26-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate the TargetLowering::UsesGlobalOffsetTable bool, which is
subsumed by TargetLowering::getJumpTableEncoding(). Change uses of
it to be more specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94529 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c077d72f6bfa3c7dde7117bcf1debde3985e123e 26-Jan-2010 Chris Lattner <sabre@nondot.org> Now that printPICJumpTableSetLabel is not overloaded,
inline it into its only caller, allowing us to simplify it
and hoist bits out of the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94528 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3b131d7cc4dc4bbb329c136705b37dc255995fbd 26-Jan-2010 Chris Lattner <sabre@nondot.org> Now that printPICJumpTableSetLabel is not overloaded,
inline it into its only caller, allowing us to simplify it
and hoist bits out of the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94528 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
541d8904203676afa54e8763baaf6e8963a9dc3a 26-Jan-2010 Chris Lattner <sabre@nondot.org> Move getJTISymbol from MachineJumpTableInfo to MachineFunction,
which is more convenient, and change getPICJumpTableRelocBaseExpr
to take a MachineFunction to match.

Next, move the X86 code that create a PICBase symbol to
X86TargetLowering::getPICBaseSymbol from
X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
library. This eliminates a 'gross hack', and allows us to
implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
calls it.

This in turn allows us to eliminate the
X86AsmPrinter::printPICJumpTableSetLabel method, which was the
only overload of printPICJumpTableSetLabel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94526 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
589c6f620e8dcf3d59af1ae0e15372c934647c82 26-Jan-2010 Chris Lattner <sabre@nondot.org> Move getJTISymbol from MachineJumpTableInfo to MachineFunction,
which is more convenient, and change getPICJumpTableRelocBaseExpr
to take a MachineFunction to match.

Next, move the X86 code that create a PICBase symbol to
X86TargetLowering::getPICBaseSymbol from
X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
library. This eliminates a 'gross hack', and allows us to
implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
calls it.

This in turn allows us to eliminate the
X86AsmPrinter::printPICJumpTableSetLabel method, which was the
only overload of printPICJumpTableSetLabel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94526 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
978b977ac6a900c6645201b9bd346bdfd5687274 26-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MachineJumpTableInfo::getJTISymbol method,
use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94523 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
beeb93e6ba48af2661eabc4872d8b159fb43e5db 26-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MachineJumpTableInfo::getJTISymbol method,
use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94523 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b494ccd48b787ec631650d25b118a01398f85859 26-Jan-2010 Chris Lattner <sabre@nondot.org> simplify asmprinter: only emit .set directives when entries have
EK_LabelDifference32 kind and the target has .set support. Simplify
X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94518 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e35df92eca194365f984f9d24a74e4ddd6669c40 26-Jan-2010 Chris Lattner <sabre@nondot.org> simplify asmprinter: only emit .set directives when entries have
EK_LabelDifference32 kind and the target has .set support. Simplify
X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94518 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3d680c04d25a32fd8b58b96a93081b4a10450845 26-Jan-2010 Chris Lattner <sabre@nondot.org> rename printPICJumpTableEntry -> EmitJumpTableEntry,
make it private and non-virtual. It handles the non-pic
case too, so just use it, simplifying EmitJumpTableInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94517 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6bf1def1598f9c7a699ce4874e7d2575212b4232 26-Jan-2010 Chris Lattner <sabre@nondot.org> rename printPICJumpTableEntry -> EmitJumpTableEntry,
make it private and non-virtual. It handles the non-pic
case too, so just use it, simplifying EmitJumpTableInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94517 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
84d5ca9524a5d23f88083d0663ee99dca739df21 26-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MachineBasicBlock::getSymbol method, replacing
the AsmPrinter::GetMBBSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94515 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f71cb015c1386ff8adc9ef0aa03fc0f0fc4a6e3e 26-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MachineBasicBlock::getSymbol method, replacing
the AsmPrinter::GetMBBSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94515 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
01462baa9f30942d0e9c7fb3ceee167782d66c08 26-Jan-2010 Chris Lattner <sabre@nondot.org> make MachineFunction keep track of its ID and make
MachineFunctionAnalysis dole them out, instead of having
AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction
method set the 'AsmPrinter::MF' variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94509 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b84822fb7b64977c16e97b870891da1d6c9736fe 26-Jan-2010 Chris Lattner <sabre@nondot.org> make MachineFunction keep track of its ID and make
MachineFunctionAnalysis dole them out, instead of having
AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction
method set the 'AsmPrinter::MF' variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94509 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8ef60fc03000f1c082e6d3a2670a30677fedef58 26-Jan-2010 Chris Lattner <sabre@nondot.org> Add support for target-specific 32-bit custom-lowered
jump table entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94505 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
85fe07866a3b240d9facef3b2f2ea81a0a8db018 26-Jan-2010 Chris Lattner <sabre@nondot.org> Add support for target-specific 32-bit custom-lowered
jump table entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94505 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
06b01dd91b1a25b54e21a7ee643c80a1a0e7354a 26-Jan-2010 Chris Lattner <sabre@nondot.org> switch jump table entry emission to be based on EntryKind
instead of magic variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94500 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ff537cec2e7ee34d6879de0c8a39a3c65f6ab003 26-Jan-2010 Chris Lattner <sabre@nondot.org> switch jump table entry emission to be based on EntryKind
instead of magic variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94500 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1d196bc4e7da96ffa86fa5f42f411ac81f211e3e 26-Jan-2010 Chris Lattner <sabre@nondot.org> Rearrange handling of jump tables. Highlights:
1. MachineJumpTableInfo is now created lazily for a function the first time
it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the
TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
throughout the compiler that "knows" that jump table entries are always
32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
their kind, instead of at machinefunction creation time.

Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94470 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
071c62fad0b25ad4131e7f984173a796c1e63f61 26-Jan-2010 Chris Lattner <sabre@nondot.org> Rearrange handling of jump tables. Highlights:
1. MachineJumpTableInfo is now created lazily for a function the first time
it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the
TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
throughout the compiler that "knows" that jump table entries are always
32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
their kind, instead of at machinefunction creation time.

Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94470 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1f8c8922b2629e1033fee97d8daf779e497d561d 25-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate redundant argument to EmitJumpTableInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94464 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
44e87255e9b7a9d8ecb558690db1181882c08045 25-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate redundant argument to EmitJumpTableInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94464 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3dac341cc4f36feb2da4f1faade5721bb61f679a 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize gprel32 emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
718fb59801320b8cb22363d115b5fc5ec40dc1f5 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize gprel32 emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7eba67276623720f3b8b0e576fa2b0d6653bbbbf 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1aca2492526c0a1aa464f2993084f9b30b53c009 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94450 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
da1416d002c86c51b9a454289b2a9212f78b7af3 25-Jan-2010 Chris Lattner <sabre@nondot.org> handle the _set_ symbol with an MCSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94449 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
798d1256595dcc0f5d4423572f856d239f7de0e6 25-Jan-2010 Chris Lattner <sabre@nondot.org> handle the _set_ symbol with an MCSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94449 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
48b139f38b3823e6781da75eaae3c14b3d803456 25-Jan-2010 Chris Lattner <sabre@nondot.org> rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
make it clear what it is, instead of how it is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94448 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
78f485afb723121eedf4b6907ae6eb53da8af03c 25-Jan-2010 Chris Lattner <sabre@nondot.org> rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
make it clear what it is, instead of how it is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94448 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1eff8298e66d276fae0ab8bd8a79b29da8d929dc 25-Jan-2010 Chris Lattner <sabre@nondot.org> pull the non-pic jump table case out of printPICJumpTableEntry
and MCize the non-pic case. Now printPICJumpTableEntry really
is just about printing PIC entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94446 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a86106ed88582b913ac2394a5a4ad1868b299da4 25-Jan-2010 Chris Lattner <sabre@nondot.org> pull the non-pic jump table case out of printPICJumpTableEntry
and MCize the non-pic case. Now printPICJumpTableEntry really
is just about printing PIC entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94446 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
29814c4ecbee79b025c92fb295e39bcf62877ebe 25-Jan-2010 Chris Lattner <sabre@nondot.org> remove JumpTableDirective, it is always null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94445 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cba386ccac87c2446579ef235d2b4dc7951c0941 25-Jan-2010 Chris Lattner <sabre@nondot.org> remove JumpTableDirective, it is always null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94445 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ccda1400e725df3834ab6b552c0e00e956687ebd 25-Jan-2010 Chris Lattner <sabre@nondot.org> sink an arm specific method out of asmprinter into the ARMAsmPrinter and
rename it to avoid shadowing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bfcb09688c7db15a9f9415d717a5a31c499a2208 25-Jan-2010 Chris Lattner <sabre@nondot.org> sink an arm specific method out of asmprinter into the ARMAsmPrinter and
rename it to avoid shadowing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
59be4eabff2c209e35841e2fea9596f0c35c4c72 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .file and .file. This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
a6594fc7156c0afbe6fd5a6aab9b099aaf950c53 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .file and .file. This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
9f8ef90c755b6b2b00fb3d07eb196a7fb9374949 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit ELF .type directives through MCStreamer instead of doing it textually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a800f7c464ef9a376057a555129f36d1f8488c3b 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit ELF .type directives through MCStreamer instead of doing it textually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
53ee5d89754b820e34a431d6491b24e281eb86bb 25-Jan-2010 Chris Lattner <sabre@nondot.org> add a comment


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94417 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1947f242d40227d36440a2702a0a612c8077d72e 25-Jan-2010 Chris Lattner <sabre@nondot.org> add a comment


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94417 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e13c8ac5306fa2d2069f0defa932adf6aa3355bb 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit the .size directive for global variables on ELF through
mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
99328add833807f12a4950c7de29fb2a5df04703 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit the .size directive for global variables on ELF through
mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e9a40677cd1fd95ed7e9b75a1df19449f432ad9e 24-Jan-2010 Chris Lattner <sabre@nondot.org> make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
43b5f9312d56be400af031f7487a99b75b7b0f97 24-Jan-2010 Chris Lattner <sabre@nondot.org> make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
2d2f100dfbb791da4e71e76dea0b9f041ff5b3d0 24-Jan-2010 Chris Lattner <sabre@nondot.org> fix some issues where we weren't emitting enough newlines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
3586e5eccf13d7129a44032a0dd553628cef3450 24-Jan-2010 Chris Lattner <sabre@nondot.org> fix some issues where we weren't emitting enough newlines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
91e06b40b2f8aa76d8e928dc6bdad7255bc070a8 24-Jan-2010 Chris Lattner <sabre@nondot.org> when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a801362e84e08ccaf6f4f22f22e61fe3732c3754 24-Jan-2010 Chris Lattner <sabre@nondot.org> when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d70deeb19ecfe335eb475df22a1411e9e6927a44 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize lcomm, simplify .comm, extend both to support 64-bit sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9eb158d5b4cd4f6fc80912e2dd77bdf13c3ca0e7 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize lcomm, simplify .comm, extend both to support 64-bit sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2dc6ddd2a55ae263fe497b39fa1e4608e46d254d 23-Jan-2010 Chris Lattner <sabre@nondot.org> resolve a fixme: the "nonexecutable stack directive" is actually
a .section. Switch to it with SwitchSection.

However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94298 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f9f93e4388962b678fd59b7af5212d4cc0d38be2 23-Jan-2010 Chris Lattner <sabre@nondot.org> resolve a fixme: the "nonexecutable stack directive" is actually
a .section. Switch to it with SwitchSection.

However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94298 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
10bcc6b7ebaba7df8c1d432cb37feb625ad1b7cc 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize visibility directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
152a29bfa6fa505182658d046bc75626e10d67c3 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize visibility directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
2d7c8149c012f5f600b61339a9ba590c850693ef 23-Jan-2010 Chris Lattner <sabre@nondot.org> move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
a5ad93a10a5435f21090b09edb6b3a7e44967648 23-Jan-2010 Chris Lattner <sabre@nondot.org> move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
54bfda730f4b2436460fc39e7c1633a489bad2a2 23-Jan-2010 Chris Lattner <sabre@nondot.org> Change constantexpr global variable initializers to convert the constants
to MCExpr then emit them through MCStreamer with EmitValue. I think all
global variable initializers are now going through mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94293 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
52492ac0d03aa86b07ad889b69b0ba38ffec8011 23-Jan-2010 Chris Lattner <sabre@nondot.org> Change constantexpr global variable initializers to convert the constants
to MCExpr then emit them through MCStreamer with EmitValue. I think all
global variable initializers are now going through mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94293 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d7b6c9c54d0cd4a1b92679f85f89fdd90782125a 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .no_dead_strip and .reference for static ctors/dtors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfException.h
3a9be0ee36fe2143f514d28315f3dc1bda132b2e 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .no_dead_strip and .reference for static ctors/dtors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfException.h
77e356cf12d1a71fe2cb710aba986c6aafd13d37 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize jump table and constant pool entry labels, .local on elf,
and some .weak directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3924868a957d5a6d468b61741cbb7db77324d1f6 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize jump table and constant pool entry labels, .local on elf,
and some .weak directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a68112c1520ced329a0121fa1e1ae3f89eec86c3 23-Jan-2010 Chris Lattner <sabre@nondot.org> emit .ascii and .asciz through MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94282 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
05f845314a67f9c30a67e55ce1e3168ff6732ce8 23-Jan-2010 Chris Lattner <sabre@nondot.org> emit .ascii and .asciz through MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94282 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cc564640451a9fb7c8732b93be3e3555c314a7b6 23-Jan-2010 Chris Lattner <sabre@nondot.org> remove one form of EmitString, just use EmitBytes instead. We must
be careful to add a \0 at the end though, because EmitString didn't
do this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
4cf202ba066a1310d8968c8d069787254934e59b 23-Jan-2010 Chris Lattner <sabre@nondot.org> remove one form of EmitString, just use EmitBytes instead. We must
be careful to add a \0 at the end though, because EmitString didn't
do this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
1fa30cb463eabc1fb0a7f8e5597c546ed699bf30 23-Jan-2010 Chris Lattner <sabre@nondot.org> teach MCAsmStreamer::EmitBytes to use .ascii and .asciz


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
12e555c36ce11c39ce15cd0b27bf7b02a068beb2 23-Jan-2010 Chris Lattner <sabre@nondot.org> teach MCAsmStreamer::EmitBytes to use .ascii and .asciz


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
05ae1d2f245811f66bf0e86c0d5bffc4829f0dbc 23-Jan-2010 Chris Lattner <sabre@nondot.org> move "EOL" from asmprinter to dwarfprinter. It should eventually
be completely eliminated, but today is not that day.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
faca5497a26672669934abbcf23894ce93408c10 23-Jan-2010 Chris Lattner <sabre@nondot.org> move "EOL" from asmprinter to dwarfprinter. It should eventually
be completely eliminated, but today is not that day.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
eba1e35f5023abe984843910b74b21df222f3610 23-Jan-2010 Chris Lattner <sabre@nondot.org> remove uses of EOL.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94252 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
f537ce17522df35b9879e1d178ab963c41dab825 23-Jan-2010 Chris Lattner <sabre@nondot.org> remove uses of EOL.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94252 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
ab4cf9537706a9b7439e62453dc27cf18f7dfc25 23-Jan-2010 Chris Lattner <sabre@nondot.org> add a new EmitCFAByte method and use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94251 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
245834dde5f735cd50395b2875a0f50b0ac0eaff 23-Jan-2010 Chris Lattner <sabre@nondot.org> add a new EmitCFAByte method and use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94251 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
warfPrinter.h
bcc79433dfc42587a6fa303c239f13bfaa4db0c2 23-Jan-2010 Chris Lattner <sabre@nondot.org> move uleb printing from asmprinter to dwarfprinter, mcize,
cleanup and eliminate a bunch more uses of "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
IE.h
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
894d75aa013143c92890d0205791d0d70a453114 23-Jan-2010 Chris Lattner <sabre@nondot.org> move uleb printing from asmprinter to dwarfprinter, mcize,
cleanup and eliminate a bunch more uses of "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
IE.h
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
20f334ff0d71246a4d03b22dff4ee11ae86c5329 22-Jan-2010 Chris Lattner <sabre@nondot.org> move sleb printing out of asmprinter into dwarf printer, make clients
handle the comment better, MCize the non-.sleb case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
bb9078a6b26f38594cde6fd0dcd17eca25ef0319 22-Jan-2010 Chris Lattner <sabre@nondot.org> move sleb printing out of asmprinter into dwarf printer, make clients
handle the comment better, MCize the non-.sleb case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
0a0ea051700e1f6287df39c16ebfffb6c3782eac 22-Jan-2010 Devang Patel <dpatel@apple.com> Remove MetadataBase class because it is not adding significant value.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bc5201f8371f9041e79efcca3b158335da5c2604 22-Jan-2010 Devang Patel <dpatel@apple.com> Remove MetadataBase class because it is not adding significant value.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d705acfef8b35c01f90ea573ecb2489fea293d35 22-Jan-2010 Chris Lattner <sabre@nondot.org> add a new DwarfPrinter::EmitEncodingByte method which handles
pretty printing encoding comments and eliminates redundancy on
the client side. We now get pretty dwarf like this again:

.byte 255 ## @LPStart Encoding = omit
.byte 0 ## @TType Encoding = absptr
.byte 0x28 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 0x1a ## Call site table size
...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94239 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
f61ed8eb32aa1cfcb440742e6fbaa7c785647131 22-Jan-2010 Chris Lattner <sabre@nondot.org> add a new DwarfPrinter::EmitEncodingByte method which handles
pretty printing encoding comments and eliminates redundancy on
the client side. We now get pretty dwarf like this again:

.byte 255 ## @LPStart Encoding = omit
.byte 0 ## @TType Encoding = absptr
.byte 0x28 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 0x1a ## Call site table size
...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94239 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
b21f1043a2ad037bc91bc31bbd20a55cd6a2f3ff 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename the dwarf class to DwarfPrinter. This matches the filename
and much more accurately describes what it is all about.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
066c9acca354e88c19ce740a7ff0e5910362aa7b 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename the dwarf class to DwarfPrinter. This matches the filename
and much more accurately describes what it is all about.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
57939f6e42de096263c4b743e585200e1cfe7971 22-Jan-2010 Chris Lattner <sabre@nondot.org> fix indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94232 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.h
3c65335f0696ea8876809d5bcddb97fa518b449a 22-Jan-2010 Chris Lattner <sabre@nondot.org> fix indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94232 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.h
ad65348ad547f41c654d8df74fd6a678c3b42a74 22-Jan-2010 Chris Lattner <sabre@nondot.org> inline away the trivial AsmPrinter::EOL() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
camlGCPrinter.cpp
0ad9c911f5b7737ae199d703279984138553de9d 22-Jan-2010 Chris Lattner <sabre@nondot.org> inline away the trivial AsmPrinter::EOL() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
camlGCPrinter.cpp
052348ee1a841a7ba39d49ccb39b66903908f7e3 22-Jan-2010 Chris Lattner <sabre@nondot.org> inline AsmPrinter::PrintHex into its two trivial callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94228 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0595324ed825a6adfca77f7369b9846957d135ee 22-Jan-2010 Chris Lattner <sabre@nondot.org> inline AsmPrinter::PrintHex into its two trivial callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94228 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5abc72c816042371354988f091b465b5e24d75fb 22-Jan-2010 Chris Lattner <sabre@nondot.org> change this to be a static function instead of a method on asmprinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
523a508576ee2c31ba58de1ca2fb7ffeebcc4a0b 22-Jan-2010 Chris Lattner <sabre@nondot.org> change this to be a static function instead of a method on asmprinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f60947496d768319a1efdab2d71c1aae06a8c2c0 22-Jan-2010 Chris Lattner <sabre@nondot.org> make the loop comment printer print out a much better structured
output. An example:

.align 4, 0x90
LBB1_5: ## %while.cond3
## Parent Loop BB1_1 Depth=1
## => This Loop Header: Depth=2
## Child Loop BB1_8 Depth 3
## Child Loop BB1_6 Depth 3



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94225 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
88ad3de7138a259d017933aea56f129d1ea335da 22-Jan-2010 Chris Lattner <sabre@nondot.org> make the loop comment printer print out a much better structured
output. An example:

.align 4, 0x90
LBB1_5: ## %while.cond3
## Parent Loop BB1_1 Depth=1
## => This Loop Header: Depth=2
## Child Loop BB1_8 Depth 3
## Child Loop BB1_6 Depth 3



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94225 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f1fc9678c548a6b97655cd99f91543c8a2d84e3d 22-Jan-2010 Chris Lattner <sabre@nondot.org> For blocks that are not loop headers, just print their loop depth and header BB.
For loop headers, print Inner loop along with the other stuff so it doesn't take
an extra line. We now get stuff like this:

LBB1_4: ## %land.end
## in Loop: Header=BB1_1 Depth=1
notb %al
testb $1, %al
jne LBB1_8

and:

LBB1_6: ## %while.cond7
## Inner Loop Header: Depth=3
## Inside Loop BB1_5 Depth 2
## Inside Loop BB1_1 Depth 1

which still isn't great for loop headers, but is much less verbose.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94221 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
965df54254b9e73949fc5649b51c3ca1bed4b4a6 22-Jan-2010 Chris Lattner <sabre@nondot.org> For blocks that are not loop headers, just print their loop depth and header BB.
For loop headers, print Inner loop along with the other stuff so it doesn't take
an extra line. We now get stuff like this:

LBB1_4: ## %land.end
## in Loop: Header=BB1_1 Depth=1
notb %al
testb $1, %al
jne LBB1_8

and:

LBB1_6: ## %while.cond7
## Inner Loop Header: Depth=3
## Inside Loop BB1_5 Depth 2
## Inside Loop BB1_1 Depth 1

which still isn't great for loop headers, but is much less verbose.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94221 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
82be51ce3b12d83e8f2d7b5a7c5a4b75beaf715d 22-Jan-2010 Chris Lattner <sabre@nondot.org> reenable the label loop comments and switch them to use the formatted
comment emission stuff. I'm going to rewrite this though because the
current output doesn't make sense.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94215 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d8d0aee26a5a759085bfa9114302e507c8685599 22-Jan-2010 Chris Lattner <sabre@nondot.org> reenable the label loop comments and switch them to use the formatted
comment emission stuff. I'm going to rewrite this though because the
current output doesn't make sense.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94215 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c006e1cc781b854bf6a8ebda79c222dc745753bb 22-Jan-2010 Chris Lattner <sabre@nondot.org> Convert some more random-comment-printing stuff to use
AddComment and GetCommentOS. Add a blank line between globals
(even in non-verbose mode) to make the assembly more readable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94202 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0fd90fd8d1c2143a763dee509c66a5b3c74088b1 22-Jan-2010 Chris Lattner <sabre@nondot.org> Convert some more random-comment-printing stuff to use
AddComment and GetCommentOS. Add a blank line between globals
(even in non-verbose mode) to make the assembly more readable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94202 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
49d7439115aed95bf267717de28c675bd65b1c35 22-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MCAsmStreamer::GetCommentOS method to simplify stuff
that doesn't want to use twines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94199 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d79d9dce47d505369662ae5111dba24f9ccdef68 22-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MCAsmStreamer::GetCommentOS method to simplify stuff
that doesn't want to use twines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94199 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
021da8e2bf8ac5d8b658bcce524c0327ed259142 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename addComment -> AddComment for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94190 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d32c7cfa248f685e6e3064c0958dc2f0c31a4df6 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename addComment -> AddComment for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94190 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7cb3b78ef523efcdc1ef8413b2d936cadf718068 22-Jan-2010 Chris Lattner <sabre@nondot.org> Add the ability for MCStreamer to emit comments on the same line as directives.
Switch over the asm-verbose comment for double values to use it. We now get:

_x:
.long 343597384 ## double 1.231200e+02
.long 1079953326

For example, note that the comment is on the same line as the .long. Woo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86e2211d0a496f470ea1d320161c8dc43593c5c6 22-Jan-2010 Chris Lattner <sabre@nondot.org> Add the ability for MCStreamer to emit comments on the same line as directives.
Switch over the asm-verbose comment for double values to use it. We now get:

_x:
.long 343597384 ## double 1.231200e+02
.long 1079953326

For example, note that the comment is on the same line as the .long. Woo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1ab24611a6a82c7d9d70204f51fed10f026b40bc 22-Jan-2010 Chris Lattner <sabre@nondot.org> pass "-fasm-verbose" into createAsmStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
07404415ab97883b80d0dd87f1c5308e4eccbfd4 22-Jan-2010 Chris Lattner <sabre@nondot.org> pass "-fasm-verbose" into createAsmStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5c804558fe5a69a7534b8a3bb7420ec1a483a1c8 22-Jan-2010 Chris Lattner <sabre@nondot.org> Stop building RTTI information for *most* llvm libraries. Notable
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
e73a31f667ad2fe03e25c97ac45b58c30d7f07c3 22-Jan-2010 Chris Lattner <sabre@nondot.org> Stop building RTTI information for *most* llvm libraries. Notable
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
f056e023189e48d0337c7198d9fed32a9285a434 21-Jan-2010 Jim Grosbach <grosbach@apple.com> back this out for now. Growing Function is not good.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94097 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f38a33cd0aafff87a8f48debccb09971d2b82dd9 21-Jan-2010 Jim Grosbach <grosbach@apple.com> back this out for now. Growing Function is not good.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94097 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
469967b02bdd853dc6f1fc8e04df869d945c8f17 21-Jan-2010 Jim Grosbach <grosbach@apple.com> Make sure that landing pad entries in the EH call site table are in the proper
order for SjLj style exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d0a0c382ea51d36dc7e5938291763da73b4262dc 21-Jan-2010 Jim Grosbach <grosbach@apple.com> Make sure that landing pad entries in the EH call site table are in the proper
order for SjLj style exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4fb5a139995d84f045935934fa7f3d2a415f6586 20-Jan-2010 Chris Lattner <sabre@nondot.org> don't send null pointers through the constantexpr codepath unneededly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94010 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b0bedd6ebbbf0b9791291f37da5666dd456cf5b1 20-Jan-2010 Chris Lattner <sabre@nondot.org> don't send null pointers through the constantexpr codepath unneededly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94010 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d35446747f94cead6fc7484e01e0ed0a55a5af2a 20-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate some uses of AsmPrinter::EmitIntXXX


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93996 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfException.cpp
bcb83e5b6c8e074e73986cb641801ecbedd6e4ed 20-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate some uses of AsmPrinter::EmitIntXXX


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93996 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfException.cpp
939a31427d4d23ad68c2919bb8002e15a9fe5a2f 20-Jan-2010 Chris Lattner <sabre@nondot.org> inline and radically simplify printDataDirective. It will eventually
go completely away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93994 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ea3cb40fab5dc84caa0c6c6bcb650261b4b6e724 20-Jan-2010 Chris Lattner <sabre@nondot.org> inline and radically simplify printDataDirective. It will eventually
go completely away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93994 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8bae10512c413d643f199bbef96d72ce53f36978 20-Jan-2010 Chris Lattner <sabre@nondot.org> emit basic block labels with mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93993 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
213168ba469703a186d060281e587d828878aa75 20-Jan-2010 Chris Lattner <sabre@nondot.org> emit basic block labels with mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93993 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e795ca57c47876555cecacb9454dc0a21e284536 20-Jan-2010 Chris Lattner <sabre@nondot.org> emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
for tidiness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93992 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
043c4e5c1d012c8131c7f2fa27a4def32740c42f 20-Jan-2010 Chris Lattner <sabre@nondot.org> emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
for tidiness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93992 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f2fc2764fa7e0db258b290b79d8eb379ba6f097c 20-Jan-2010 Chris Lattner <sabre@nondot.org> signficant cleanups to EmitGlobalConstant (including streamerization
of int initializers), change some methods to be static functions,
use raw_ostream::write_hex instead of a smallstring dance with
APValue::toStringUnsigned(S, 16).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93991 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2dd245c469f4d842f2b7af80582fb4769a914b23 20-Jan-2010 Chris Lattner <sabre@nondot.org> signficant cleanups to EmitGlobalConstant (including streamerization
of int initializers), change some methods to be static functions,
use raw_ostream::write_hex instead of a smallstring dance with
APValue::toStringUnsigned(S, 16).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93991 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
41fd4b147ff4623ac3bce7999f7d730c656a5e23 20-Jan-2010 Chris Lattner <sabre@nondot.org> switch ConstantFP emission to use MCStreamer, significantly
simplifying the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93988 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9ceff94447235a2e369d9adfdf57368f57dd3f18 20-Jan-2010 Chris Lattner <sabre@nondot.org> switch ConstantFP emission to use MCStreamer, significantly
simplifying the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93988 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a39bf4e9046a0689b4036a0b7c5325aff68e2794 20-Jan-2010 Chris Lattner <sabre@nondot.org> make mcasmstreamer handle expanding 8 byte integer constants to
4-byte constants if .quad isn't supported. Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5eaa54e210256a939f15e918303197916c992aee 20-Jan-2010 Chris Lattner <sabre@nondot.org> make mcasmstreamer handle expanding 8 byte integer constants to
4-byte constants if .quad isn't supported. Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
92c78e8e9a83b4971a4173cde5a0c28f571bd485 20-Jan-2010 Chris Lattner <sabre@nondot.org> give createAsmStreamer an 'isLittleEndian' argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1658202529cf371e7e5f1a46d9ef80def5b3c3e0 20-Jan-2010 Chris Lattner <sabre@nondot.org> give createAsmStreamer an 'isLittleEndian' argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fd311dffa36fe6e48734ba28e6439dcb5b22f7fb 20-Jan-2010 Devang Patel <dpatel@apple.com> If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
42aafd7e578707ca20dec456e8996849984272bb 20-Jan-2010 Devang Patel <dpatel@apple.com> If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4e789288818a1573f38ae5e20b5713635a90491a 19-Jan-2010 Chris Lattner <sabre@nondot.org> simplify the rest of fp constant printing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93929 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
09ce674ce81cfa0de096f19833ae7bc7549d851a 19-Jan-2010 Chris Lattner <sabre@nondot.org> simplify the rest of fp constant printing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93929 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
84382d206ce887957fd1d14d84551971b2f0777f 19-Jan-2010 Chris Lattner <sabre@nondot.org> simplify the code for printing x86 long double, don't do work
for -fverbose-asm unless it's on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93926 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
72b5ebc6be0fcfa36583367bc20afadb2c24d985 19-Jan-2010 Chris Lattner <sabre@nondot.org> simplify the code for printing x86 long double, don't do work
for -fverbose-asm unless it's on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93926 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
030176ba3b80ebb99c871df436a67a9311e0accc 19-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93918 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6449abfbc86310edbbe0b5ffb3fad5c14301307f 19-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93918 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a71dc60dc2bb5a154d9195dfe2d3126f7c7967d5 19-Jan-2010 Chris Lattner <sabre@nondot.org> Generalize mcasmstreamer data emission APIs to take an address space
identifier. There is no way to work around it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
aaec205b87637cd0d59d4f11630db603686eb73d 19-Jan-2010 Chris Lattner <sabre@nondot.org> Generalize mcasmstreamer data emission APIs to take an address space
identifier. There is no way to work around it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e72333d0b5224b235c1607238dd37a9bb774c3fd 19-Jan-2010 Chris Lattner <sabre@nondot.org> refactor code to be static functions instead of methods on AsmPrinter.
This fixes some bugs handling address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93891 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
91093ecf0fed6f007e08f1a4531cdb6f438672a2 19-Jan-2010 Chris Lattner <sabre@nondot.org> refactor code to be static functions instead of methods on AsmPrinter.
This fixes some bugs handling address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93891 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3b29636c60b7e1513f1ced8b220123868d24b748 19-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
default address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93890 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8a6d7ac88f8b0f37c8c1f134efb39a0725394719 19-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
default address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93890 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d551a916083e26fa64aa2bf7b50d13669ff7c004 19-Jan-2010 Chris Lattner <sabre@nondot.org> remove MAI::ZeroDirectiveSuffix, which is only used by MASM,
which we don't support anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93886 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f03ffd13f8f31fb8ead74b94eb2ef71b80ac7739 19-Jan-2010 Chris Lattner <sabre@nondot.org> remove MAI::ZeroDirectiveSuffix, which is only used by MASM,
which we don't support anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93886 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8c2d16dbc82838785aea7d55929aaed0ba1ab760 19-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamer'ize the rest of EmitGlobalVariable that is used on
darwin. The next big piece to get global variables streamerized
is EmitGlobalConstant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93870 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4c8c668b57f74e2849ba198c3abfc97899e8072b 19-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamer'ize the rest of EmitGlobalVariable that is used on
darwin. The next big piece to get global variables streamerized
is EmitGlobalConstant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93870 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f26c7790feb3890ff9c5927997432825043788ca 19-Jan-2010 Chris Lattner <sabre@nondot.org> stop using the .lcomm pseudoop on darwin, instead, directly use the
.zerofill directive. Streamerize its generation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93868 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
814819f6ea7fb0638fe73920299fda0da941a59e 19-Jan-2010 Chris Lattner <sabre@nondot.org> stop using the .lcomm pseudoop on darwin, instead, directly use the
.zerofill directive. Streamerize its generation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93868 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7d707f90692c75f1de63d0a8a1bc4c9d1c8fddad 19-Jan-2010 Devang Patel <dpatel@apple.com> MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93865 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
622b02601bafdf40d103d67951fae88f409c4641 19-Jan-2010 Devang Patel <dpatel@apple.com> MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93865 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c2103b1cdf55bc0e8015bbb2e3647e8a44b6738b 19-Jan-2010 Devang Patel <dpatel@apple.com> Avoid including DebugInfo.h in AsmPrinter.h



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93864 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c99fd879c0f4bbc56c29d508fec7935e6cbd7ed0 19-Jan-2010 Devang Patel <dpatel@apple.com> Avoid including DebugInfo.h in AsmPrinter.h



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93864 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ecf1cdc01d70f346dca485c104c7e60a937b420b 19-Jan-2010 Chris Lattner <sabre@nondot.org> mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4ed5438f4882c9fe779b1a8ff546877889b222df 19-Jan-2010 Chris Lattner <sabre@nondot.org> mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fdcdb2cdced3b09de74e67b11f9c9558ee33e512 19-Jan-2010 Chris Lattner <sabre@nondot.org> factor this code better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93859 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9744d611d7c7c1fb51c50c4e94901e4e9a905116 19-Jan-2010 Chris Lattner <sabre@nondot.org> factor this code better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93859 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
410c9471b999ac45a0234be088da718f5626f76b 19-Jan-2010 Chris Lattner <sabre@nondot.org> Now that we have everything nicely factored (e.g. asmprinter is not
doing global variable classification anymore) and hookized, sink almost
all target targets global variable emission code into AsmPrinter and out
of each target.

Some notes:

1. PIC16 does completely custom and crazy stuff, so it is not changed.
2. XCore has some custom handling for extra directives. I'll look at it next.
3. This switches linux/ppc to use .globl instead of .global. If .globl is
actually wrong, let me know and I'll fix it.
4. This makes linux/ppc get a lot of random cases right which were obviously
wrong before, it is probably now a bit healthier.
5. Blackfin will probably start getting .comm and other things that it didn't
before. If this is undesirable, it should explicitly opt out of these
things by clearing the relevant fields of MCAsmInfo.

This leads to a nice diffstat:
14 files changed, 127 insertions(+), 830 deletions(-)




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93858 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
74bfe21b50c14c15f55ce3bd5857d65b588fae3c 19-Jan-2010 Chris Lattner <sabre@nondot.org> Now that we have everything nicely factored (e.g. asmprinter is not
doing global variable classification anymore) and hookized, sink almost
all target targets global variable emission code into AsmPrinter and out
of each target.

Some notes:

1. PIC16 does completely custom and crazy stuff, so it is not changed.
2. XCore has some custom handling for extra directives. I'll look at it next.
3. This switches linux/ppc to use .globl instead of .global. If .globl is
actually wrong, let me know and I'll fix it.
4. This makes linux/ppc get a lot of random cases right which were obviously
wrong before, it is probably now a bit healthier.
5. Blackfin will probably start getting .comm and other things that it didn't
before. If this is undesirable, it should explicitly opt out of these
things by clearing the relevant fields of MCAsmInfo.

This leads to a nice diffstat:
14 files changed, 127 insertions(+), 830 deletions(-)




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93858 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d960947255c0e5d28eab6d76a02222133af1f1f6 19-Jan-2010 Chris Lattner <sabre@nondot.org> hoist handling of external globals and special globals up to common code.
This makes a similar code dead in all the other targets, I'll clean it up
in a bit.

This also moves handling of lcomm up before acquisition of a section,
since lcomm never needs a section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93851 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
48d64ba9d846229339b2431b298620cb8a01ffc5 19-Jan-2010 Chris Lattner <sabre@nondot.org> hoist handling of external globals and special globals up to common code.
This makes a similar code dead in all the other targets, I'll clean it up
in a bit.

This also moves handling of lcomm up before acquisition of a section,
since lcomm never needs a section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93851 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2f2fe05fa39eac3b0067ccadd5dd8c985d5a09fe 19-Jan-2010 Chris Lattner <sabre@nondot.org> move production of .reference directives for static ctor/dtor list on
darwin into common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93849 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
71eae713153e564ec743c5c4162ff258c255de78 19-Jan-2010 Chris Lattner <sabre@nondot.org> move production of .reference directives for static ctor/dtor list on
darwin into common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93849 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
387e9c184c93de5dbd0afbb450f9cbfb3cbd56f0 19-Jan-2010 Devang Patel <dpatel@apple.com> Revert accident check-in from r93165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93832 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f54b85237c666e6c473392b0e85aa9724cd0df79 19-Jan-2010 Devang Patel <dpatel@apple.com> Revert accident check-in from r93165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93832 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6442f658e78ec2aecb6aaf7938d6ccadb7f5b140 18-Jan-2010 Bill Wendling <isanbard@gmail.com> - Add a comment to the callback indicating that it's *extremely* not a good
idea, but unfortunately necessary.
- Default to using 4-bytes for the LSDA pointer encoding to agree with the
encoded value in the CIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93753 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
a8c18890da312e810c687b78658dcd4c989b9776 18-Jan-2010 Bill Wendling <isanbard@gmail.com> - Add a comment to the callback indicating that it's *extremely* not a good
idea, but unfortunately necessary.
- Default to using 4-bytes for the LSDA pointer encoding to agree with the
encoded value in the CIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93753 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1e9a11b57bff0f237a15b2b67eafd71a1e220aa4 18-Jan-2010 Chris Lattner <sabre@nondot.org> remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93699 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8cb9a3b13f3226b7e741768b69d26ecd6b5231f1 18-Jan-2010 Chris Lattner <sabre@nondot.org> remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93699 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ce40984980d8cc39e903382478c111d967aed337 17-Jan-2010 Chris Lattner <sabre@nondot.org> now that MCSymbol::print doesn't use it's MAI argument, we can
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
10b318bcb39218d2ed525e4862c854bc8d1baf63 17-Jan-2010 Chris Lattner <sabre@nondot.org> now that MCSymbol::print doesn't use it's MAI argument, we can
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfPrinter.cpp
63ab9bb55ac6e3793357529b7221b8f2afe61baa 17-Jan-2010 Chris Lattner <sabre@nondot.org> now that mangler is in libtarget, it can use MCAsmInfo instead of clients
having to pass various fields from it in. Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93686 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c0dba723d119adc8c7b49c6d0e97d10eac4428fc 17-Jan-2010 Chris Lattner <sabre@nondot.org> now that mangler is in libtarget, it can use MCAsmInfo instead of clients
having to pass various fields from it in. Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93686 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0ad2db92a5361a16e1f34704a67429e0c76a0b4d 17-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Switch some functions to take Twines, eliminate uses of StringExtras.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93680 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfPrinter.cpp
1efd4fd56b3bc21b85ab921c6f77807afc02ecb5 17-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Switch some functions to take Twines, eliminate uses of StringExtras.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93680 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfPrinter.cpp
31a54741b82809a2c136239af45bea276d4b85df 16-Jan-2010 Chris Lattner <sabre@nondot.org> move the mangler into libtarget from vmcore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
45111d160cf0910030eeb6a949c69273502e5ad5 16-Jan-2010 Chris Lattner <sabre@nondot.org> move the mangler into libtarget from vmcore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
a418ffbdd0c70adde1e1e92732b76bd8f05213c0 16-Jan-2010 Chris Lattner <sabre@nondot.org> unbreak the build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93654 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6dfdad9c0623212d1506c24e20d6a94deeb73980 16-Jan-2010 Chris Lattner <sabre@nondot.org> unbreak the build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93654 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
41e330fb461d9e5e70a6b93f47fa83a5004b161f 16-Jan-2010 Chris Lattner <sabre@nondot.org> Change DIEObjectLabel to take an MCSymbol instead of std::string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93647 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfPrinter.cpp
warfPrinter.h
858431d0bc81ddab11363cc0eb2889dbfdc8362b 16-Jan-2010 Chris Lattner <sabre@nondot.org> Change DIEObjectLabel to take an MCSymbol instead of std::string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93647 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfPrinter.cpp
warfPrinter.h
a6f2a103c7713d0184ef7a6c6b1933db3547b3e2 16-Jan-2010 Chris Lattner <sabre@nondot.org> rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
and add an explicit ForcePrivate argument.

Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93646 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfException.h
7a2ba94d03b43f41b54872dacd7b2250dde4c7bd 16-Jan-2010 Chris Lattner <sabre@nondot.org> rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
and add an explicit ForcePrivate argument.

Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93646 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
warfException.h
cbfe406db836132504737fb1722ece75ec142319 16-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate uses of getMangledName from AsmPrinter.cpp, last up is
dwarf emission which is going to be more invasive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93645 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
08ce3b473d06e0f7806df3d44b7b36ac40c58803 16-Jan-2010 Chris Lattner <sabre@nondot.org> eliminate uses of getMangledName from AsmPrinter.cpp, last up is
dwarf emission which is going to be more invasive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93645 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7a1656537780563eb56f6b7f327e705e14194dd2 16-Jan-2010 Devang Patel <dpatel@apple.com> No need to use WeakVH here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93631 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a27f6e4e202b335f38e3f37e052e9eca817e89fe 16-Jan-2010 Devang Patel <dpatel@apple.com> No need to use WeakVH here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93631 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
042945f696010411918fb35b82cf4016da80ae18 16-Jan-2010 Devang Patel <dpatel@apple.com> Replace DebugLocTuple with DILocation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085 16-Jan-2010 Devang Patel <dpatel@apple.com> Replace DebugLocTuple with DILocation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
e46f64b5ed522333155e37518515a7f656ac4e0c 16-Jan-2010 Bill Wendling <isanbard@gmail.com> Retrying r91337:

The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE for some platforms. Allow
individual platforms to decide for themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93616 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d58e9cb42d7f5cf83c9b982df7e2c822b2e285e9 16-Jan-2010 Bill Wendling <isanbard@gmail.com> Retrying r91337:

The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE for some platforms. Allow
individual platforms to decide for themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93616 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1ff319475a82afe0cea68471ccf96b6f59d879ec 16-Jan-2010 Chris Lattner <sabre@nondot.org> fix inverted conditional


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93614 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
10595490ccf25b4960936638fac7a673eaf82e68 16-Jan-2010 Chris Lattner <sabre@nondot.org> fix inverted conditional


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93614 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ac5a6ad0b05dd5c76fd2f2d05c285d25ef4d4717 16-Jan-2010 Chris Lattner <sabre@nondot.org> CurrentFnName is now dead, remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93612 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
412c3a5bc9e70fe8579551216786e70d323a3dd5 16-Jan-2010 Chris Lattner <sabre@nondot.org> CurrentFnName is now dead, remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93612 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c0c8d7dc3e4b35987631d6a17ca259c614d16f93 16-Jan-2010 Chris Lattner <sabre@nondot.org> remove the string form of printVisibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5c40e694dcd679bf26b962189c1d12b32fff07cd 16-Jan-2010 Chris Lattner <sabre@nondot.org> remove the string form of printVisibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8d656d944275350f1baf0740bdd143e90e172dbb 16-Jan-2010 Chris Lattner <sabre@nondot.org> supplement CurrentFnName with CurrentFnSym, which will eventually
replace it. Upgrade Alpha, Blackfin, and part of CellSPU to not
use mangler anymore. CellSPU needs more invasive surgery.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93589 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d1947ed2f824d2e9f4923fb6efc2aec4a6e3e96d 16-Jan-2010 Chris Lattner <sabre@nondot.org> supplement CurrentFnName with CurrentFnSym, which will eventually
replace it. Upgrade Alpha, Blackfin, and part of CellSPU to not
use mangler anymore. CellSPU needs more invasive surgery.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93589 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
67cce68221c693cd2c80cf2a16b626b6abfc67e6 16-Jan-2010 Chris Lattner <sabre@nondot.org> add a version of AsmPrinter::printVisibility that takes an MCSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93587 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
53d4d78d9a2c26a67ac8f6e81cc149702103fc2c 16-Jan-2010 Chris Lattner <sabre@nondot.org> add a version of AsmPrinter::printVisibility that takes an MCSymbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93587 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f7871d1b5018aae518bed4cd979130d2cf06ad02 16-Jan-2010 Chris Lattner <sabre@nondot.org> add another helper


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93577 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d588b97cc9acf778282ab10efa4f298cead1215a 16-Jan-2010 Chris Lattner <sabre@nondot.org> add another helper


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93577 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2eb781d9dee5c87fd2efac8dac12ae47c4526544 16-Jan-2010 Chris Lattner <sabre@nondot.org> add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
helper method, use it to simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93575 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6b04edee11c2bb35a48b1c42f867b4ba8cdfff97 16-Jan-2010 Chris Lattner <sabre@nondot.org> add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
helper method, use it to simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93575 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2ae0a44449000e88d1fe99fe9ccfe027a2313224 15-Jan-2010 Devang Patel <dpatel@apple.com> Add FIXME.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93562 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
167207a99b34dfc939489ca648a009b4aed13dfd 15-Jan-2010 Devang Patel <dpatel@apple.com> Add FIXME.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93562 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dcc0dce792fd568b1858323786e8c88357145c5b 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not use AT_specification die for static variables. It confuses gdb.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93494 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c9b16cc10887d270aa2a43a5a8c78e0ed3177dea 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not use AT_specification die for static variables. It confuses gdb.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93494 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
69aae43ba76de8dedfac93405953e63a3ca4c500 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not emit multiple AT_container_type attributes.
We need to find a better way to emit this info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93481 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f8b72ca6c80d7fb242d23d9b2aebb1937e6fff60 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not emit multiple AT_container_type attributes.
We need to find a better way to emit this info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93481 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c90c30b900c680852cab24b883ba0edefe50cbde 14-Jan-2010 Dale Johannesen <dalej@apple.com> Fix a comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93463 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cf0b76649be4eea33aba783d4154ea338b7cbbc2 14-Jan-2010 Dale Johannesen <dalej@apple.com> Fix a comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93463 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6be13f3b6c5b06131458583bc8cb8a0182f04ceb 13-Jan-2010 Chris Lattner <sabre@nondot.org> remove uses of deprecated functions, this generates slightly
different BlockAddress labels, but nothing semantically important.

Add a FIXME that BlockAddress codegen is broken if the LLVM BB has
an empty name (e.g. strip was run).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93303 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2f8cc26be403262703ba00658d45e5adf7bdb514 13-Jan-2010 Chris Lattner <sabre@nondot.org> remove uses of deprecated functions, this generates slightly
different BlockAddress labels, but nothing semantically important.

Add a FIXME that BlockAddress codegen is broken if the LLVM BB has
an empty name (e.g. strip was run).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93303 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cdf8e795ef30ce14c2ad838f5383701403206664 13-Jan-2010 Chris Lattner <sabre@nondot.org> use the new form of getNameWithPrefix, not makeNameProper.
Among other things, this would do very weird things if the
basic block name had (e.g.) a space in it on darwin:
makeNameProper would add quotes, then the mcsymbol would
escape the quotes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93302 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dfbcb8c38bb1637289801f37bb22cb7065891611 13-Jan-2010 Chris Lattner <sabre@nondot.org> use the new form of getNameWithPrefix, not makeNameProper.
Among other things, this would do very weird things if the
basic block name had (e.g.) a space in it on darwin:
makeNameProper would add quotes, then the mcsymbol would
escape the quotes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93302 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a38b287aec4e06a2aded8bc7809f0f949955ade5 13-Jan-2010 Chris Lattner <sabre@nondot.org> change Mangler::makeNameProper to return its result in a SmallVector
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93298 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4813035b726e7f0a3fd17bec437185fc72a50988 13-Jan-2010 Chris Lattner <sabre@nondot.org> change Mangler::makeNameProper to return its result in a SmallVector
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93298 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5034031d0da530709726bb3163204ece7f871679 13-Jan-2010 Chris Lattner <sabre@nondot.org> fix assert in AsmPrinter::EmitGlobalConstantLargeInt to match reality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93293 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
38c2b0a99c6a3f5cdf6ef5a46e4a6826b30acbfb 13-Jan-2010 Chris Lattner <sabre@nondot.org> fix assert in AsmPrinter::EmitGlobalConstantLargeInt to match reality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93293 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
98910866249b2098d80c887ce555e195463fb5e0 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce nesting and code duplication in AsmPrinter::EmitGlobalConstantLargeInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93292 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5979dfff8ea73c9d728d3a586efba6581be3e672 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce nesting and code duplication in AsmPrinter::EmitGlobalConstantLargeInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93292 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9d767d8db074bcb08e0dcd2c27515226b841ca4d 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce indentation and add a fast-path to EmitGlobalConstant for 8-byte
integers on 64-bit systems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93291 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3cc3a00570e8263369346cf2eef9a72488326952 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce indentation and add a fast-path to EmitGlobalConstant for 8-byte
integers on 64-bit systems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93291 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
458c8774022dad22ea34ba9d250f7ebef8450038 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce indentation and use early exits in AsmPrinter::EmitConstantValueOnly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fe0e7ed6b077360dbcc6d9f0bc0a4dfeb77c8e9b 13-Jan-2010 Chris Lattner <sabre@nondot.org> reduce indentation and use early exits in AsmPrinter::EmitConstantValueOnly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b7074b01d29d5a727e8b496664148e3a4e96c7e3 11-Jan-2010 Devang Patel <dpatel@apple.com> s/NextValueNo/NextMDValueNo while processing metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
23598502efa6a0c2daaa6c6efc519867c8445e8f 11-Jan-2010 Devang Patel <dpatel@apple.com> s/NextValueNo/NextMDValueNo while processing metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
631e3e3f6a0b8b6c9a50787d6bd0a09bcfc590bd 07-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Kill dead store.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3d594fd2992fa31aa74f974edaeddc4178206380 07-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Kill dead store.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3b620bfd58cf1e1d84563eb6208418858e903a42 05-Jan-2010 Devang Patel <dpatel@apple.com> If a scope has only one instruction then first instruction is also the last instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ee890edd69044b820d3ba3a3c45ad43288565eac 05-Jan-2010 Devang Patel <dpatel@apple.com> If a scope has only one instruction then first instruction is also the last instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
141e1c4e936d3b5249b30ac8d581ee3c6202d56f 05-Jan-2010 Devang Patel <dpatel@apple.com> Use StringRef.startswith().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92671 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
351ca3328452abed9de58723fbcbe42e7a08903e 05-Jan-2010 Devang Patel <dpatel@apple.com> Use StringRef.startswith().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92671 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
eccea760a9563d79a5d6924bc6e5c26340507bbc 05-Jan-2010 Devang Patel <dpatel@apple.com> Fix debug_inlined section entries for routines whose names are changed through __asm() extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92533 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ba1d8264e65b37146dbc26c71c748b5c7020ae88 05-Jan-2010 Devang Patel <dpatel@apple.com> Fix debug_inlined section entries for routines whose names are changed through __asm() extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92533 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
98e77307cc1ea2ef5f0469ea81059eb9170d463b 04-Jan-2010 Devang Patel <dpatel@apple.com> Fix begin and end markers for nested scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92505 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
344130e8ab2e706f1392aff27bd8d679d979b65b 04-Jan-2010 Devang Patel <dpatel@apple.com> Fix begin and end markers for nested scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92505 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
991876a06d263c5fd22c99648c77a810bc0dea06 03-Jan-2010 Chris Lattner <sabre@nondot.org> fix PR5930, allowing the asmprinter to emit difference between
two labels as a truncate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92455 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d0592d3be68e60a77c0bb98ad4861648e16e467c 03-Jan-2010 Chris Lattner <sabre@nondot.org> fix PR5930, allowing the asmprinter to emit difference between
two labels as a truncate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92455 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
13bf2e51b9a66af667ad20f4286b2dbaea3d46cc 28-Dec-2009 Chris Lattner <sabre@nondot.org> move these out of their own timer groups into the 'uncategorized' groups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92206 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
0b86a6f049e4d839bd770241571628d10c980887 28-Dec-2009 Chris Lattner <sabre@nondot.org> move these out of their own timer groups into the 'uncategorized' groups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92206 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfException.cpp
64067e8a4daa7ced79978edfeb6c8ed38329efe9 25-Dec-2009 Bill Wendling <isanbard@gmail.com> Remove dead store.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92156 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1a6726f79569bccd4eb0112d9448651ba62b1635 25-Dec-2009 Bill Wendling <isanbard@gmail.com> Remove dead store.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92156 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dbc061394e0838c243fef2d5e37f9b4d70a48cc5 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92096 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f83adbc4c112439d54c7f91eb9524443e729a43e 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92096 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2c45c1e371c8e69a8e1f626eee64326701651e28 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92094 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
0c8b6e6bc540e793c4401580d06f4e5a478d3b6f 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92094 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
8cb4138c0eca1101911d01679a35a9013a73fd78 19-Dec-2009 Douglas Gregor <doug.gregor@gmail.com> Fix a bunch of little errors that Clang complains about when its being pedantic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91764 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cabdd7425d30f7eb659ecb0cc5efbc4052dd78a8 19-Dec-2009 Douglas Gregor <dgregor@apple.com> Fix a bunch of little errors that Clang complains about when its being pedantic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91764 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
177caff1efcac9750f5ac50f77e9c459cb825621 17-Dec-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert 91337. It's causing testcase failures.

$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91337 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91618 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
aeb79aea8f4761f1c46731ac6bd58cbccdcfa097 17-Dec-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert 91337. It's causing testcase failures.

$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91337 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91618 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8287d66aee7d877aaa80a3fb40cc90580e669493 15-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for C++ namespaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
6404e4e7958aa71ff210008b0e5d1cef8d138ff2 15-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for C++ namespaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
169f3a233e90dcdd01e42829b396c823d016fe30 15-Dec-2009 Chris Lattner <sabre@nondot.org> Remove isPod() from DenseMapInfo, splitting it out to its own
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.h
4bbf4ee1491637c247e195e19e3e4a8ee5ad72fa 15-Dec-2009 Chris Lattner <sabre@nondot.org> Remove isPod() from DenseMapInfo, splitting it out to its own
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.h
32b48e95922e730032f188c313cdd2e50c63cbc9 14-Dec-2009 Bill Wendling <isanbard@gmail.com> The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f8084fb1e1da226d73f69c8b30179951ca7d80a9 14-Dec-2009 Bill Wendling <isanbard@gmail.com> The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
814a12c5353afed59395f62dc082aca10b93c3dd 14-Dec-2009 Devang Patel <dpatel@apple.com> Use DW_AT_specification to point to DIE describing function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ffe966c15b165bc3b0c2198dc2675057f3285ce1 14-Dec-2009 Devang Patel <dpatel@apple.com> Use DW_AT_specification to point to DIE describing function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b9f2c6bf74e416fb21026ef9c779c6c4cdbce9d4 11-Dec-2009 Devang Patel <dpatel@apple.com> Construct CompileUnits lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
d037d7a497caa4d66008723de72fb554ca0ae630 11-Dec-2009 Devang Patel <dpatel@apple.com> Construct CompileUnits lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6d47963bc2b99fc828e706072d94b4faab5c6703 11-Dec-2009 Devang Patel <dpatel@apple.com> If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
edb4563ceae52e67f0b5cb2f084e3e8da6eba7d3 11-Dec-2009 Devang Patel <dpatel@apple.com> If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1a8f9a8322f0de194328f3ab2cbf941504015f5f 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor code that finds context for a given die.
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c366f83d89d93be557f136f1560d696b4acb6a46 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor code that finds context for a given die.
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
7f139c19245027f4f367bf09db322e16ceca76f5 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
16ced733f370b64831e40128c9871709311b728d 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fe0be137457e5a2fe51000ed2844f888e9e19b64 09-Dec-2009 Devang Patel <dpatel@apple.com> Reapply r90858, a cleanup patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8a24114b169376901a0b9e804a5aa7eb4416a985 09-Dec-2009 Devang Patel <dpatel@apple.com> Reapply r90858, a cleanup patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
de2d3688d9711628c15ee2b8410fa3e936ca698c 09-Dec-2009 Devang Patel <dpatel@apple.com> Revert 90858 90875 and 90805 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0000fadb00cf971cd8ffb4ebe500777a84daf8f5 09-Dec-2009 Devang Patel <dpatel@apple.com> Revert 90858 90875 and 90805 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
7b294d7538f15995e446a6a2dd17965813133cc0 08-Dec-2009 Devang Patel <dpatel@apple.com> Cleanup.
There is no need to supply ModuleCU to addType() as a parameter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a3a60c6c49e457d825bddd1d300230c9d82cc17e 08-Dec-2009 Devang Patel <dpatel@apple.com> Cleanup.
There is no need to supply ModuleCU to addType() as a parameter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
23a55d34fc5a37cc60122ac3db057177f91e2528 08-Dec-2009 Devang Patel <dpatel@apple.com> Do not try to push dead variable's debug info into namespace info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
018b66038c73bebc81f8a26b0462b85e7ccedba7 08-Dec-2009 Devang Patel <dpatel@apple.com> Do not try to push dead variable's debug info into namespace info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
641f820036ddf1823bf6b175f4bab0034749b537 07-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for c++ style namespaces.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
4063f6bcc775bb0429dea2276694c4cdc2d4dca1 07-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for c++ style namespaces.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1792bc68d2991042dceaa55f508a1c6c6a43b58a 05-Dec-2009 Dan Gohman <gohman@apple.com> Don't print a space before the : between the file name and line number.
And separate the directory and file name with a '/'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b3b9821cdeb58a568080c8d49b4f9432b1135905 05-Dec-2009 Dan Gohman <gohman@apple.com> Don't print a space before the : between the file name and line number.
And separate the directory and file name with a '/'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cfca6e367887ec0820cf5c664eec4c0714166980 05-Dec-2009 Dan Gohman <gohman@apple.com> Print newlines after printing labels for debug info, so that the output
isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
eecb9919a41dc11e805370d66cb2e43d8ef2649e 05-Dec-2009 Dan Gohman <gohman@apple.com> Print newlines after printing labels for debug info, so that the output
isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
4698bab134cd68e41ae098168d9fd78e64b69904 05-Dec-2009 Dan Gohman <gohman@apple.com> Fix this code to use DIScope instead of DICompileUnit, as in r90181.
Don't print "SrcLine"; just print the filename and line number, which
is obvious enough and more informative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3b9bc04eda3401618b4fa2318f41b4207d72dece 05-Dec-2009 Dan Gohman <gohman@apple.com> Fix this code to use DIScope instead of DICompileUnit, as in r90181.
Don't print "SrcLine"; just print the filename and line number, which
is obvious enough and more informative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e26680ba1f829b15338f0f128855432c5bfd7210 05-Dec-2009 Dan Gohman <gohman@apple.com> Print a space between the comment character and the text.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90621 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fcafe44f564f61016dd2f9367d93c91dfda74c96 05-Dec-2009 Dan Gohman <gohman@apple.com> Print a space between the comment character and the text.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90621 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d3df6974d831cc29b86026ce3ee3467eb489ea7f 05-Dec-2009 Devang Patel <dpatel@apple.com> In TAG_subrange_type, uppder bound is zero indexed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d55224c25e674c552df5b73958cfce3bc39e960f 05-Dec-2009 Devang Patel <dpatel@apple.com> In TAG_subrange_type, uppder bound is zero indexed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
11a046f10f723cac2c598dd0a626383c43aecba2 04-Dec-2009 David Greene <greened@obbligato.org> Use new interfaces to print spill size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90611 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f7ea2a534ba4151e091e270c5b908167ab4bba4d 04-Dec-2009 David Greene <greened@obbligato.org> Use new interfaces to print spill size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90611 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4285ddbfd5fd218038058a6fdb2366ae3247a99d 04-Dec-2009 Devang Patel <dpatel@apple.com> Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b3235d22e94c21ef00539d83db4d6d65bada48f5 04-Dec-2009 Devang Patel <dpatel@apple.com> Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
188c85dc4247e23ddaa63e055972253de3901fdb 03-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for virtual functions and virtual base classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
5d11eb0ed54116b7f33507999617661fb2ae99df 03-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for virtual functions and virtual base classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c1df879dbd07bb4d63e7cc6358ed73263c631c12 03-Dec-2009 Devang Patel <dpatel@apple.com> Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1d5cc1db597a1a0f760b6d600819e4aef5aea26c 03-Dec-2009 Devang Patel <dpatel@apple.com> Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
df0f215750690b1c58f76b72f751d5a5c4da46d8 02-Dec-2009 Devang Patel <dpatel@apple.com> Clarify that DIEString does not keep a copy of the string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
69f57b1f41c818c5a89c40fd9a4bdca6a76ea934 02-Dec-2009 Devang Patel <dpatel@apple.com> Clarify that DIEString does not keep a copy of the string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
920ffac27e66522138cddf6aac63f4965c8103dd 02-Dec-2009 Devang Patel <dpatel@apple.com> Reuse existing subprogram DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7d0750a10fac5c00f00b465d8633d00fe76d9a2c 02-Dec-2009 Devang Patel <dpatel@apple.com> Reuse existing subprogram DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
67533ab25e3fd9b66779dee173f5cb3cfb93cb99 01-Dec-2009 Devang Patel <dpatel@apple.com> Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c09ddc1c792b35a20b2aeaa708fd00a76638805c 01-Dec-2009 Devang Patel <dpatel@apple.com> Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
76b806763b89ea64337bd967614662a72f237191 01-Dec-2009 Devang Patel <dpatel@apple.com> If pointer type has a name then do not ignore the name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
deea564e53fd1a582f2621ffb07de606f8464881 01-Dec-2009 Devang Patel <dpatel@apple.com> If pointer type has a name then do not ignore the name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
62b818848c2415d32c82957322cba81948b7f409 25-Nov-2009 Benjamin Kramer <benny.kra@googlemail.com> Avoid some possibly unsafe uses of StringRef::data().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1c3451fc99feb68dc401049568788547a0b7844d 25-Nov-2009 Benjamin Kramer <benny.kra@googlemail.com> Avoid some possibly unsafe uses of StringRef::data().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7f75bbe16505f364edb9e7bc96ed6e44694e8723 25-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef (again) in DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
65dbc909f5377947026a41f29420bb8112bdf611 25-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef (again) in DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c10337d20080fca89c19acd69ae11f4a28e61cc8 24-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef instead of std::string in DIEString.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.h
warfDebug.cpp
warfDebug.h
e9a059714e3dccd6c870f19c3839f3352ac823ed 24-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef instead of std::string in DIEString.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.h
warfDebug.cpp
warfDebug.h
6f2bdd58f2cee41a5de62fe5515642d0371fecf8 24-Nov-2009 Devang Patel <dpatel@apple.com> Swith to pubtypes section before emitting pub types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f3a0376a56f7b299804c0b0a3e5d991312cedef1 24-Nov-2009 Devang Patel <dpatel@apple.com> Swith to pubtypes section before emitting pub types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ec13b4fffb1742d8acd6e07a388b1e54dfd7c1c9 24-Nov-2009 Devang Patel <dpatel@apple.com> Emit pubtypes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
193f720f118f52eb05de172d936a440f335c1469 24-Nov-2009 Devang Patel <dpatel@apple.com> Emit pubtypes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
8d34f97d8b78e04cad93ab4fb27f19963c0b2f70 23-Nov-2009 Dan Gohman <gohman@apple.com> Simplify this code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
277207e6cbc217a626ef7462487906d5127bf7b0 23-Nov-2009 Dan Gohman <gohman@apple.com> Simplify this code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b125c6e04f2a851b4ed6a361a705816d0374ce4b 23-Nov-2009 Devang Patel <dpatel@apple.com> Revert r89487.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89686 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
05f6fa874e8d187483a836ccb4906bb3807bb305 23-Nov-2009 Devang Patel <dpatel@apple.com> Revert r89487.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89686 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
587d488cbfbfdba6a5e9cebff4f6b614856fde58 22-Nov-2009 Jim Grosbach <grosbach@apple.com> Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
tell debug info which base register to use to reference a frame index on a
per-index basis. This is useful, for example, in the presence of dynamic
stack realignment when local variables are indexed via the stack pointer and
stack-based arguments via the frame pointer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89620 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a2f20b20a8dc7f053599840557405554a0848aec 22-Nov-2009 Jim Grosbach <grosbach@apple.com> Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
tell debug info which base register to use to reference a frame index on a
per-index basis. This is useful, for example, in the presence of dynamic
stack realignment when local variables are indexed via the stack pointer and
stack-based arguments via the frame pointer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89620 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b23f242b6ee5ec88e39ef0d58f7165eed9df7a8c 22-Nov-2009 Jim Grosbach <grosbach@apple.com> 80-column cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89612 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7ab38dfccbc1473b76a227e73a04c08f7448dc45 22-Nov-2009 Jim Grosbach <grosbach@apple.com> 80-column cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89612 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
652b7433b68fdc0371902b0211be5030d56056be 22-Nov-2009 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89567 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
31ef40e9408ff9b16b9a1755a803f765eaa50b36 22-Nov-2009 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89567 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c50078e7edda4caf0443225ffde587ae36e1a5ad 21-Nov-2009 Devang Patel <dpatel@apple.com> Cosmetic changes, which were long overdue, in DwarfDebug.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89537 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfWriter.cpp
2c4ceb177be718a7a3697ea63aa254719fc3528f 21-Nov-2009 Devang Patel <dpatel@apple.com> Cosmetic changes, which were long overdue, in DwarfDebug.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89537 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
warfWriter.cpp
76c1a107d9e2fb6eec90a3fffc8a39c11a4b0317 21-Nov-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89522 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9bff5cbae870170f76a30b69d5b4fd4c6dc6e800 21-Nov-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89522 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1233f91cb593d825c7efebcb8b3571a502976f23 21-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to use FoldingSet to unique DIEs.
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89518 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
6f01d9c2f0a97b0dccde93a232c88f088877819f 21-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to use FoldingSet to unique DIEs.
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89518 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfDebug.cpp
warfDebug.h
885793baaed110c848ccfdfb460bbc91774d8981 21-Nov-2009 Dan Gohman <gohman@apple.com> Target-independent support for TargetFlags on BlockAddress operands,
and support for blockaddresses in x86-32 PIC mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
29cbade25aa094ca9a149a96a8614cf6f3247480 21-Nov-2009 Dan Gohman <gohman@apple.com> Target-independent support for TargetFlags on BlockAddress operands,
and support for blockaddresses in x86-32 PIC mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d90672c248edda0cab8f84db6f9b16fe8fe4b281 20-Nov-2009 Devang Patel <dpatel@apple.com> Do not hold on to a map slot while new entries may be inserted into the map.
Use ValueMap, instead of std::map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89490 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
017d121c5934a01922197b207c1cd981edeb2d25 20-Nov-2009 Devang Patel <dpatel@apple.com> Do not hold on to a map slot while new entries may be inserted into the map.
Use ValueMap, instead of std::map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89490 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8268f72bb23ff56e4e72260fa1e6575941f46c15 20-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to emit source location info for DW_TAG_pointer_type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89487 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1f37b5b3afe9eb8f4c05391b13af7b58b021ae36 20-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to emit source location info for DW_TAG_pointer_type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89487 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f0e65b8d3493b044f266aa620cead7a1c91b3ccf 19-Nov-2009 Bill Wendling <isanbard@gmail.com> Reverting the EH table patches.

$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89279 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/Target/TargetLoweringObjectFile.cpp
$ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89270 into '.':
G lib/CodeGen/AsmPrinter/DwarfException.cpp
G lib/Target/TargetLoweringObjectFile.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89379 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
fb7634f1c7a804829fc55e3711ba62c8ade818d0 19-Nov-2009 Bill Wendling <isanbard@gmail.com> Reverting the EH table patches.

$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89279 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/Target/TargetLoweringObjectFile.cpp
$ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89270 into '.':
G lib/CodeGen/AsmPrinter/DwarfException.cpp
G lib/Target/TargetLoweringObjectFile.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89379 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
121e71656e195b7fe04fcc6416b69393cf0ef33e 19-Nov-2009 Bill Wendling <isanbard@gmail.com> The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EH
exception table than DataRel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89279 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
01c69374b508bad0ee71cd3c49414a325238e29a 19-Nov-2009 Bill Wendling <isanbard@gmail.com> The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EH
exception table than DataRel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89279 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
da739ea07a1f130adcc9ad3d51e9c895af374dc6 19-Nov-2009 Bill Wendling <isanbard@gmail.com> Attempt #2:

Place the EH table in the __TEXT section on MachO. It saves space.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89270 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ec0445855179d2c9fb98a2c8a42e03525762f45f 19-Nov-2009 Bill Wendling <isanbard@gmail.com> Attempt #2:

Place the EH table in the __TEXT section on MachO. It saves space.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89270 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
58e64e179fc32f88dc3b1b447c6a2225ed22e55f 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
warfException.h
warfPrinter.h
381afae68f3edd5cca65835003dacd73aca5da55 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
warfException.h
warfPrinter.h
ee68f45fe77ad7ce3079eb9e8222075dee099f08 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5f9843f68fa2941a2c9930aa5cc920c38920f277 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a9cc7bfa480cba73c84b03353fd134735d8021d4 17-Nov-2009 Bill Wendling <isanbard@gmail.com> Refactor the code that creates the "dot-label" difference. This may be used in
more than one place. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89024 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
7378b1bd00033d8be64d388d60a562027cbf953a 17-Nov-2009 Bill Wendling <isanbard@gmail.com> Refactor the code that creates the "dot-label" difference. This may be used in
more than one place. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89024 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
4cb32c36830adc6833d7e459e3a8a9f784e235bb 16-Nov-2009 Devang Patel <dpatel@apple.com> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88973 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f76a3d634f85783783d75bf4d8e736b178e4f5e6 16-Nov-2009 Devang Patel <dpatel@apple.com> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88973 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ac402d8db30d059030a6410a5dbc7bef59c3fa32 16-Nov-2009 Devang Patel <dpatel@apple.com> Add VISIBILITY_HIDDEN marker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88939 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
270a97430d6ac718d0d327ebea659d78df5e97a8 16-Nov-2009 Devang Patel <dpatel@apple.com> Add VISIBILITY_HIDDEN marker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88939 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2e7b993b008be1bcca4cec4803092d876b21595a 16-Nov-2009 David Greene <greened@obbligato.org> Support spill comments.

Have the asm printer emit a comment if an instruction is a spill or
reload and have the spiller mark copies it introdues so the asm printer
can also annotate those.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88911 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ddff941357bd836243ed7004ab88db09490176d8 16-Nov-2009 David Greene <greened@obbligato.org> Support spill comments.

Have the asm printer emit a comment if an instruction is a spill or
reload and have the spiller mark copies it introdues so the asm printer
can also annotate those.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88911 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5461b52004980be0ec9abac2199abb4371dcfb3f 14-Nov-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> revert 88761 as it fails builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88762 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9a501cf19dbf1f56f0782ddba4c1931565af9610 14-Nov-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> revert 88761 as it fails builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88762 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8bd6558bac94a6e57c6ccb051feed72d7124470a 14-Nov-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Fix debug info crashes for PIC16.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88761 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6fb01a7750e3edd73a7fba957e7f55f5956a760d 14-Nov-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Fix debug info crashes for PIC16.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88761 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a5d3935ad09cafa5d8fe40f1b65ab398e4e7b0e4 13-Nov-2009 Dan Gohman <gohman@apple.com> Use .data() instead of .c_str() when nul-termination is not needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88703 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
24f8e29b4efe70496474c6d43aa6abfa27c21511 13-Nov-2009 Dan Gohman <gohman@apple.com> Use .data() instead of .c_str() when nul-termination is not needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88703 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ca9b04ba02e321977d03e79a5bbd4c95eb23a0d8 13-Nov-2009 David Greene <greened@obbligato.org> Move DebugInfo checks into EmitComments and remove them from
target-specific AsmPrinters. Not all comments need DebugInfo.

Re-enable the line numbers comment test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88697 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1924aabf996be9335fab34e7ee4fa2aa5911389c 13-Nov-2009 David Greene <greened@obbligato.org> Move DebugInfo checks into EmitComments and remove them from
target-specific AsmPrinters. Not all comments need DebugInfo.

Re-enable the line numbers comment test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88697 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ab9a0687312516700d6aae598e894db4560a48b0 13-Nov-2009 Devang Patel <dpatel@apple.com> Ignore nameless variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87069 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3fb6bd690a5919ec78777508e184e3538b6d51b0 13-Nov-2009 Devang Patel <dpatel@apple.com> Ignore nameless variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87069 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5b8472da2572659b4ed6b9c4bef4b71ca2d1626f 13-Nov-2009 Bill Wendling <isanbard@gmail.com> Simplify code a bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87040 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ecc260e403d09ba04ed87d2d04226ac851c68e5a 13-Nov-2009 Bill Wendling <isanbard@gmail.com> Simplify code a bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87040 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
7354a3e048bb8ca2281d38778368bfbbfb05c2b6 12-Nov-2009 Bill Wendling <isanbard@gmail.com> Refactor code that checks if it's a call to a "nounwind" function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87036 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
ed060dcb5c7e9cb2fd11ff3b0b98203fb53063e7 12-Nov-2009 Bill Wendling <isanbard@gmail.com> Refactor code that checks if it's a call to a "nounwind" function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87036 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
e32637bcbd717a8233de28566aeaa0b2db1d659b 12-Nov-2009 Bill Wendling <isanbard@gmail.com> If there's more than one function operand to a call instruction, be conservative
and don't assume that the call doesn't throw. It would be nice if there were a
way to determine which is the callee and which is a parameter. In practice, the
architecture we care about normally only have one operand for a call instruction
(x86 and arm).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87023 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ac18929801f1789d3f735733011541b19a205196 12-Nov-2009 Bill Wendling <isanbard@gmail.com> If there's more than one function operand to a call instruction, be conservative
and don't assume that the call doesn't throw. It would be nice if there were a
way to determine which is the callee and which is a parameter. In practice, the
architecture we care about normally only have one operand for a call instruction
(x86 and arm).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87023 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4a7ef8dcbe4c986ba7f4267b56d4779567bc91ff 12-Nov-2009 Devang Patel <dpatel@apple.com> "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfWriter.cpp
70d75ca3107ce05bc30ad3511aa669b9fab5eb90 12-Nov-2009 Devang Patel <dpatel@apple.com> "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfWriter.cpp
d225fdf94c2b6eeed4f5511a134750cf6970b377 12-Nov-2009 Bill Wendling <isanbard@gmail.com> Don't mark a call as potentially throwing if the function it's calling has the
"nounwind" attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86897 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
73b55510585573cd37fca85864c8d7d73e6b4093 12-Nov-2009 Bill Wendling <isanbard@gmail.com> Don't mark a call as potentially throwing if the function it's calling has the
"nounwind" attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86897 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1b4d683a5818182cbb69cd3e4b2e7a7585cdefc3 11-Nov-2009 Devang Patel <dpatel@apple.com> If doesSupportDebugInformation() is false then do not try to emit dwarf debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86874 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
3380cc530702a0df90e6e287069bd65c28085337 11-Nov-2009 Devang Patel <dpatel@apple.com> If doesSupportDebugInformation() is false then do not try to emit dwarf debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86874 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c9f2d2426db8ea833e540eeb26ac3e25f1741e4a 11-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86794 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c032679d3ef57246a472cd49e2c884d0345e9ff2 11-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86794 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6c9df2b8d4ebb458bf3bd6088f0b9be26b2abc86 11-Nov-2009 Bill Wendling <isanbard@gmail.com> Make sure that the exception handling data has the same visibility as the
function it's generated for.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86779 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ee161a68240dfe7e28fdc45d5595380a3ec3b9c8 11-Nov-2009 Bill Wendling <isanbard@gmail.com> Make sure that the exception handling data has the same visibility as the
function it's generated for.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86779 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ce8986f9627a92ccebb067284b3cf4092d737149 11-Nov-2009 Devang Patel <dpatel@apple.com> Do not assume first function scope seen represents current function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86771 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
39ae3ff6d13ef71d0f0ecc8499b49935355508af 11-Nov-2009 Devang Patel <dpatel@apple.com> Do not assume first function scope seen represents current function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86771 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
53addbf446f848c0f165e5d2cbaca31fff796b36 11-Nov-2009 Devang Patel <dpatel@apple.com> While creating DbgScopes, do not forget parent scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86763 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
2f105c6e18b1cf0507be74dd03779b675d254a30 11-Nov-2009 Devang Patel <dpatel@apple.com> While creating DbgScopes, do not forget parent scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86763 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bad42264107804ba40844000f12d9e0a23ea563b 11-Nov-2009 Devang Patel <dpatel@apple.com> Ignore variable if scope info is not available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fb0ee43438d674213490afbeeaccba8052287f31 11-Nov-2009 Devang Patel <dpatel@apple.com> Ignore variable if scope info is not available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
90a0fe3bd6043f897285b967b196f6ab26dfdcae 11-Nov-2009 Devang Patel <dpatel@apple.com> Implement support to debug inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
53bb5c95afe4ff2627cac513221af2e4e7c5d2e3 11-Nov-2009 Devang Patel <dpatel@apple.com> Implement support to debug inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
8154d2e023fe3137363f8bbc9dae2dff7188dccb 10-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Fix DenseMap iterator constness.

This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.

The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.

Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.

Patch by Victor Zverovich!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
81cf4325698b48b02eddab921ac333c7f25005c3 10-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Fix DenseMap iterator constness.

This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.

The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.

Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.

Patch by Victor Zverovich!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cda028f643df712e635d48b9f19af6e5dad2cd54 06-Nov-2009 Bob Wilson <bob.wilson@apple.com> Fix comment typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c0ef244499a97ba4f411456fe5d65deb79d51ba7 06-Nov-2009 Bob Wilson <bob.wilson@apple.com> Fix comment typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86295 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
83e42c7163cc29cf8afd36082164ffb8a2e4b454 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not bother to emit debug info for nameless global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
84c73e9b8234287c4521e6d7e27c15e77843489e 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not bother to emit debug info for nameless global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
fabc47c0671013d23e636704db0fb6a34e106615 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not try to emit debug info entry for dead global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86212 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
465c3bed165dc76452606ea10a34ae2ef6033e8a 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not try to emit debug info entry for dead global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86212 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bbc43963b76f8e54e6cee47defde4868586665fd 06-Nov-2009 Dan Gohman <gohman@apple.com> Factor out the printing of the leading tab into printInlineAsm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86199 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
40c57860dad429d3c938ed5f918c2c66f3b5fa72 06-Nov-2009 Dan Gohman <gohman@apple.com> Factor out the printing of the leading tab into printInlineAsm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86199 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ff592eced3d70159de10c5a3837e0d0fee7edb8f 06-Nov-2009 Dan Gohman <gohman@apple.com> Fix the label name generation for address-taken labels to avoid potential
problems with name collisions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86189 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
568a3be545dd1ad256af69549d9b95df474bfd8f 06-Nov-2009 Dan Gohman <gohman@apple.com> Fix the label name generation for address-taken labels to avoid potential
problems with name collisions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86189 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
71842a96a0af9476bb92a29534509e04f02a835d 05-Nov-2009 Devang Patel <dpatel@apple.com> While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
This improves bitfield support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
61ecbd196c0128abb8c588aebc456ed96cdf1d63 05-Nov-2009 Devang Patel <dpatel@apple.com> While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
This improves bitfield support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7d9fe58ac9c54287f9894c61e361af13e6690300 04-Nov-2009 Devang Patel <dpatel@apple.com> Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86054 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
33db5082836bfe6257f9a36e16aecb062076837d 04-Nov-2009 Devang Patel <dpatel@apple.com> Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86054 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1ff19cf6b084b54e4f04b72f080926a4a37d953c 04-Nov-2009 Devang Patel <dpatel@apple.com> Array element size does not match array size but array is not a bitfield.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86043 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c416d3b25df0a2bc7fb431914abe55260d330e48 04-Nov-2009 Devang Patel <dpatel@apple.com> Array element size does not match array size but array is not a bitfield.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86043 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7f251671d1a905be12347721af468b8e31ad9d6e 04-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk> Print out an informative comment for KILL instructions.

The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output.

With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86041 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ad68264f590f05db3731a452fc91dc22bc75167d 04-Nov-2009 Jakob Stoklund Olesen <stoklund@2pi.dk> Print out an informative comment for KILL instructions.

The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output.

With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86041 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
11ac7e7b5d9a4c1ede1e3485ad38eb4ca889918c 03-Nov-2009 Devang Patel <dpatel@apple.com> Ignore unnamed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85909 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1b845976d0662b64bc06a52824ef9a5540486a1e 03-Nov-2009 Devang Patel <dpatel@apple.com> Ignore unnamed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85909 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8ea4690298176786e7a20f69755e5dadaa4f5e98 03-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Fix a funky "declared with greater visibility than the type of its field"
warning from gcc by removing VISIBILITY_HIDDEN attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85873 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
36d52bf4df4f5c86f2aad1131195b0f47e481836 03-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Fix a funky "declared with greater visibility than the type of its field"
warning from gcc by removing VISIBILITY_HIDDEN attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85873 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
70337f0e084c54af2348a7a8aee72a2823c0e5b8 31-Oct-2009 Dan Gohman <gohman@apple.com> Fix a missing newline in the dwarf output code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b953c944b6da99dfbdbc11a8b021c386ad37c332 31-Oct-2009 Dan Gohman <gohman@apple.com> Fix a missing newline in the dwarf output code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1995be14a415ae124e42dec505a9c5fa6f83a8d1 30-Oct-2009 Dan Gohman <gohman@apple.com> Add support for BlockAddress static initializers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85562 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6a55e62996e1f7223ecab0f26216a2f32e8ae7e4 30-Oct-2009 Dan Gohman <gohman@apple.com> Add support for BlockAddress static initializers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85562 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d8e273feafff0c64aac1587298390f0a91f147af 30-Oct-2009 Dan Gohman <gohman@apple.com> Add a FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85559 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6ae5b32e487c24f723f262eb989475a2e12eb951 30-Oct-2009 Dan Gohman <gohman@apple.com> Add a FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85559 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
65e3b3e189325686c5cb6b38e9cf6446d5fb9952 30-Oct-2009 Dan Gohman <gohman@apple.com> Add some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85558 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b1cac33856687715bf8db3860ff55ad2f6ca94b5 30-Oct-2009 Dan Gohman <gohman@apple.com> Add some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85558 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9105751c7ce64082e5769142e14b0c65cd06bb0a 30-Oct-2009 Dan Gohman <gohman@apple.com> Initial target-independent CodeGen support for BlockAddresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8c2b52552c90f39e4b2fed43e309e599e742b6ac 30-Oct-2009 Dan Gohman <gohman@apple.com> Initial target-independent CodeGen support for BlockAddresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f5278f228d564351a3f0df98a74fad48a892debc 27-Oct-2009 Devang Patel <dpatel@apple.com> Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.
Use this opportunity to use ValueMap instead of DenseMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85298 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
bdf45cbe1526e33c17a17acd7467cb65d32b6a4f 27-Oct-2009 Devang Patel <dpatel@apple.com> Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.
Use this opportunity to use ValueMap instead of DenseMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85298 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
5a44ef9fd5f7c3964ad79b94778261175dea5c33 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
f5a86f45e75ec744c203270ffa03659eb0a220c1 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
492d06efde44a4e38a6ed321ada4af5a75494df6 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
6726b6d75a8b679068a58cb954ba97cf9d1690ba 25-Oct-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
9f6aeb72926b953e115d6fac3cbe138f569fb9a5 22-Oct-2009 Bill Wendling <isanbard@gmail.com> Tidying up some code and comments. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84894 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
48dc29ef911a223a52b099604d0ccb499ecbf703 22-Oct-2009 Bill Wendling <isanbard@gmail.com> Tidying up some code and comments. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84894 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
18a7d1c9020268e07643101f0944fe4c4febef25 16-Oct-2009 Devang Patel <dpatel@apple.com> Do not emit name entry for a pointer type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84276 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
808b82664f146f8ddda0582ffd755a484cbac609 16-Oct-2009 Devang Patel <dpatel@apple.com> Do not emit name entry for a pointer type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84276 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a6871afa41a2f40b6c1c3d8ef087c474d999ffc7 16-Oct-2009 Devang Patel <dpatel@apple.com> If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
149aa7cce368a879e3ad20b2a6ec777e9441cdab 16-Oct-2009 Devang Patel <dpatel@apple.com> If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dd7bb43d6a6e61569368046b33fbe2d700d5bc68 14-Oct-2009 Devang Patel <dpatel@apple.com> Add support to record DbgScope as inlined scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
c90aefe95ec5fd028782788620ab7d6fd73593f3 14-Oct-2009 Devang Patel <dpatel@apple.com> Add support to record DbgScope as inlined scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fc1df34dea6dae98d823f9cf95afbb364201ec97 14-Oct-2009 Devang Patel <dpatel@apple.com> s/DebugLoc.CompileUnit/DebugLoc.Scope/g
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
1619dc3b9ee2573c481591764c2d26d5ff16b483 14-Oct-2009 Devang Patel <dpatel@apple.com> s/DebugLoc.CompileUnit/DebugLoc.Scope/g
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
c74255d3943b40a2dc36226750cfedf6f4482c72 13-Oct-2009 Daniel Dunbar <daniel@zuster.org> Fix a -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6e4bdfc229cbbe5ba549e45f55bda4bb989b159d 13-Oct-2009 Daniel Dunbar <daniel@zuster.org> Fix a -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6096157c93259c3484c250b3541e9851dfc55da4 13-Oct-2009 Devang Patel <dpatel@apple.com> Find enclosing subprogram info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83922 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6ef75173142f782b281909125e846f3b6828de98 13-Oct-2009 Devang Patel <dpatel@apple.com> Find enclosing subprogram info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83922 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
40c80212c1c0be155e7a561f0a18a94856d7eb2f 10-Oct-2009 Devang Patel <dpatel@apple.com> Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.

While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83684 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
ac1ceb3dd33cb79ecb0dbd64b6abafa7ce067c5f 10-Oct-2009 Devang Patel <dpatel@apple.com> Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.

While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83684 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fb8127571e3f12f3c71b90f92b561ba34b4c0582 09-Oct-2009 Devang Patel <dpatel@apple.com> Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c525472828823b47c8aa90b901f61d5236de890a 09-Oct-2009 Devang Patel <dpatel@apple.com> Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6882dff7faafcef6f4099c22fcb8f1720b021720 08-Oct-2009 Devang Patel <dpatel@apple.com> Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
eda312193dfc56cb9a5d1d3e7cf3c89dce07124a 08-Oct-2009 Devang Patel <dpatel@apple.com> Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0feae424692b07197998bd7a451d8da44fd0ac9a 06-Oct-2009 Devang Patel <dpatel@apple.com> Add support to handle debug info attached to an instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfWriter.cpp
60b35bd8ecb2c3358b80d8441873cfffa0d27851 06-Oct-2009 Devang Patel <dpatel@apple.com> Add support to handle debug info attached to an instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfWriter.cpp
5fda434b0d4932d63b21ce3b5dd72c18e855da26 06-Oct-2009 Dan Gohman <gohman@apple.com> Instead of printing unnecessary basic block labels as labels in
verbose-asm mode, print comments instead. This eliminates a non-comment
difference between verbose-asm mode and non-verbose-asm mode.

Also, factor out the relevant code out of all the targets and into
target-independent code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e3cc3f3c84abfdf8eb3bd19dfa806ceea49f15d6 06-Oct-2009 Dan Gohman <gohman@apple.com> Instead of printing unnecessary basic block labels as labels in
verbose-asm mode, print comments instead. This eliminates a non-comment
difference between verbose-asm mode and non-verbose-asm mode.

Also, factor out the relevant code out of all the targets and into
target-independent code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f434889fb46c722f22c99a827ccc026f6271e3cd 06-Oct-2009 Devang Patel <dpatel@apple.com> Fix cut-n-pasto.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8a4087ddc79945383d01cf9846d906215dfab3c7 06-Oct-2009 Devang Patel <dpatel@apple.com> Fix cut-n-pasto.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5450fc15cb5de674d4e5203ab9ace59d3d6c38e5 06-Oct-2009 Devang Patel <dpatel@apple.com> Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
af0e2726835e096e32c30c1b88cc7a6232a6ef69 06-Oct-2009 Devang Patel <dpatel@apple.com> Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ac35dcf9887f9e7883745876525c2a7dc39bf8d4 06-Oct-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
89703cf838c5d875875faf58b746a78fc33c2499 06-Oct-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
393a46deb66be6885fd064a38e650bed859af5a1 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to set begin and end labels for DbgScopes.
This will be used by processDebugLoc().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0d20ac8d175575fbad1ed410c9fe610cf7255af3 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to set begin and end labels for DbgScopes.
This will be used by processDebugLoc().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
77354f12a0fd1882f4ec787e0a4309c2aaeae819 06-Oct-2009 Devang Patel <dpatel@apple.com> Remove unintentional function decl.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83356 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
b39566d719b3a39035cbb15bd98c33f31ae245b2 06-Oct-2009 Devang Patel <dpatel@apple.com> Remove unintentional function decl.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83356 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.h
8413999c15ade93fff73f9e43738f1dfd885ba70 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to collect variable debug info. This is not yet used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e717faa467538a6e86c3f651382af3ec2759d43a 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to collect variable debug info. This is not yet used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
95d477eff9aa5b68b022546565f0a41eee38cb89 06-Oct-2009 Devang Patel <dpatel@apple.com> Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6f3dc920b013df98be2d56c2f2628041477d75ee 06-Oct-2009 Devang Patel <dpatel@apple.com> Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
186ee5cfbdf8c08394250e41d4bd6493999d56a1 06-Oct-2009 Devang Patel <dpatel@apple.com> If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ffd9c3dd4a0f9b5c341b27862540c1ed165b22a7 06-Oct-2009 Devang Patel <dpatel@apple.com> If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
695c8b08cab0e2844ddc14e3e7f87916fd90fdc6 06-Oct-2009 Devang Patel <dpatel@apple.com> Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
fd07cf56cdaf730036c1d59bf0f9372dae8900df 06-Oct-2009 Devang Patel <dpatel@apple.com> Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6bd5cc8a280aee4124ba96c146ea9672ae8a9712 06-Oct-2009 Devang Patel <dpatel@apple.com> Set address while constructing DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b71a16d10dd47f70947386064783eeac2abe29b2 06-Oct-2009 Devang Patel <dpatel@apple.com> Set address while constructing DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
946d0aef89afb5752d65e1900532c2afdc0cd700 05-Oct-2009 Devang Patel <dpatel@apple.com> Gracefully handle various scopes while recording source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f84548db63ca5ceea0381a7bfc9e924cddc1cc3f 05-Oct-2009 Devang Patel <dpatel@apple.com> Gracefully handle various scopes while recording source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
82cdc06a6626e9a9fae300fafaeae9702ffb3808 05-Oct-2009 Chris Lattner <sabre@nondot.org> strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cf0fe8d813727383d630055bb9d1cde21b00b7e7 05-Oct-2009 Chris Lattner <sabre@nondot.org> strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6a26010c218cd8979439036cc90d3bea93b3996b 01-Oct-2009 Devang Patel <dpatel@apple.com> Add support to extract lexical scope information from DebugLoc attached with an machine instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83210 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
af9e84701b42856051d87c5641652b796936df11 01-Oct-2009 Devang Patel <dpatel@apple.com> Add support to extract lexical scope information from DebugLoc attached with an machine instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83210 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
90ecd198e2f605f8a613ce0861aeea7e16a56575 01-Oct-2009 Devang Patel <dpatel@apple.com> Record first and last instruction of a scope in DbgScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83207 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d38dd11e120d1f1b1e73c6050458430a2e7d75f3 01-Oct-2009 Devang Patel <dpatel@apple.com> Record first and last instruction of a scope in DbgScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83207 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f736728788cddfb56d44fb826cb5d91dfdbfe294 01-Oct-2009 Devang Patel <dpatel@apple.com> Add another MDNode into DebugLocTuple. This will be used to keep track of inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a1434045c32eb6818354a607b84d99353af759b0 01-Oct-2009 Devang Patel <dpatel@apple.com> Add another MDNode into DebugLocTuple. This will be used to keep track of inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86049dcedaba49929bf6e4c1cd84f9d85cadb987 01-Oct-2009 Devang Patel <dpatel@apple.com> Use MachineInstr as an processDebugLoc() argument.
This will allow processDebugLoc() to handle scopes for DWARF debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83183 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b0fdedb3fd123a47e7deca75d1e6f7d64218b07a 01-Oct-2009 Devang Patel <dpatel@apple.com> Use MachineInstr as an processDebugLoc() argument.
This will allow processDebugLoc() to handle scopes for DWARF debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83183 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4d23d84af58fc21b50dce528a8a26a30a62db355 01-Oct-2009 Devang Patel <dpatel@apple.com> Use MDNode * directly as an RecordSourceLine() argument.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83182 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
3d910835fc5da1ccddefd7cc5978ffe8c903cbf0 01-Oct-2009 Devang Patel <dpatel@apple.com> Use MDNode * directly as an RecordSourceLine() argument.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83182 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
b5f835ee6e48aedbffb804a6bf5308465867e67b 01-Oct-2009 Bob Wilson <bob.wilson@apple.com> Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use this
to emit target-specific things at the beginning of the asm output. This
fixes a problem for PPC, where the text sections are not being kept together
as expected. The base class doInitialization code calls DW->BeginModule()
which emits a bunch of DWARF section directives. The PPC doInitialization
code then emits all the TEXT section directives, with the intention that they
will be kept together. But as I understand it, the Darwin assembler treats
the default TEXT section as a special case and moves it to the beginning of
the file, which means that all those DWARF sections are in the middle of
the text. With this change, the EmitStartOfAsmFile hook is called before
the DWARF section directives are emitted, so that all the PPC text section
directives come out right at the beginning of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83176 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
812209a58c5520c604bc9279aa069e5ae066e860 01-Oct-2009 Bob Wilson <bob.wilson@apple.com> Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use this
to emit target-specific things at the beginning of the asm output. This
fixes a problem for PPC, where the text sections are not being kept together
as expected. The base class doInitialization code calls DW->BeginModule()
which emits a bunch of DWARF section directives. The PPC doInitialization
code then emits all the TEXT section directives, with the intention that they
will be kept together. But as I understand it, the Darwin assembler treats
the default TEXT section as a special case and moves it to the beginning of
the file, which means that all those DWARF sections are in the middle of
the text. With this change, the EmitStartOfAsmFile hook is called before
the DWARF section directives are emitted, so that all the PPC text section
directives come out right at the beginning of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83176 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6ed4b620633aff7001447bf3ddd86924f8fd7d10 30-Sep-2009 Bob Wilson <bob.wilson@apple.com> Fix a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83171 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bc9506f5eec2ff5f05f66b03e13a5fd678fd9134 30-Sep-2009 Bob Wilson <bob.wilson@apple.com> Fix a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83171 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b22cd0ff4c6c3ba4a39b8b11afb21ddf40e79f74 30-Sep-2009 Mike Stump <mrs@apple.com> Add a way for a frontend to generate more complex dwarf location
information. This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref. The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes. I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api. Is that a layering violation?

With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme. I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper. Before the old code can be yanked however, similar code in
clang would have to be removed.

Next up, more testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
3e4c9bdb67db9b6d65b17d474e3268b520a93514 30-Sep-2009 Mike Stump <mrs@apple.com> Add a way for a frontend to generate more complex dwarf location
information. This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref. The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes. I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api. Is that a layering violation?

With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme. I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper. Before the old code can be yanked however, similar code in
clang would have to be removed.

Next up, more testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
aaf012ebb492482ba3626e4129140713cd7836b7 29-Sep-2009 Devang Patel <dpatel@apple.com> Remove std::string uses from DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
5ccdd10b1a0ee1ce35b6e5a18eb0fcfd6f5131d3 29-Sep-2009 Devang Patel <dpatel@apple.com> Remove std::string uses from DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
2fd84e281e90d309c22639a7ba9585871050e777 25-Sep-2009 Mike Stump <mrs@apple.com> Delete space after function name, before (, reflow a comment and
delete a few blank lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82729 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
7e3720da38834a192da2257fc4cb0829db7c1b40 25-Sep-2009 Mike Stump <mrs@apple.com> Delete space after function name, before (, reflow a comment and
delete a few blank lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82729 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cf991836d66fafd16a28b20a04bbff143c99e700 25-Sep-2009 Mike Stump <mrs@apple.com> Fix spacing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82727 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ee4b8a7781b3398be82851cec9f098ebda7b5c2f 25-Sep-2009 Mike Stump <mrs@apple.com> Fix spacing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82727 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c73e8ebf88f2c21b857296951b4babc6bd404426 24-Sep-2009 Chris Lattner <sabre@nondot.org> unconditionally compute MMI even if the target doesn't support EH or Debug info, because the target may use it for other things, this fixes PR5036


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b55e068e53fccc609b7d9cd198ed9818c188a196 24-Sep-2009 Chris Lattner <sabre@nondot.org> unconditionally compute MMI even if the target doesn't support EH or Debug info, because the target may use it for other things, this fixes PR5036


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
069f1c9642c471d827cfaaca98f31aef707464ee 23-Sep-2009 Mike Stump <mrs@apple.com> This is overly constraining with respect to clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d75e9aad24723cf816d3b3cf658bbd23da144f90 23-Sep-2009 Mike Stump <mrs@apple.com> This is overly constraining with respect to clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
dac97dab11fffaae623be1d4bd2a0c2e249a5c54 20-Sep-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging r82282 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/CodeGen/AsmPrinter/DwarfException.h

--- Reverse-merging r82274 into '.':
U lib/Target/TargetLoweringObjectFile.cpp
G lib/CodeGen/AsmPrinter/DwarfException.cpp

These revisions were breaking everything.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82396 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
711bb91574db242ba34a86caea719819b0ecef43 20-Sep-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging r82282 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/CodeGen/AsmPrinter/DwarfException.h

--- Reverse-merging r82274 into '.':
U lib/Target/TargetLoweringObjectFile.cpp
G lib/CodeGen/AsmPrinter/DwarfException.cpp

These revisions were breaking everything.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82396 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
ab2f66670c4c8ecc8e62d989f9d9d9c6f62dc07b 20-Sep-2009 Bill Wendling <isanbard@gmail.com> Here's fun! It turns out that these filter functions can be internal. If they're
internal, they shouldn't use the indirect pointer stuff. In the case of
throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
its contents.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82354 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5511ffd763c6de8264de7bdf318564fee2bbfc99 20-Sep-2009 Bill Wendling <isanbard@gmail.com> Here's fun! It turns out that these filter functions can be internal. If they're
internal, they shouldn't use the indirect pointer stuff. In the case of
throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
its contents.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82354 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
19f1d447f73de5807acb64281df5d7acaa23ceeb 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
00564995496df04c76fc0e4e57b77372d0fe86d5 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
41716328c597656692f2189f47c7cc56120d2aa5 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Strip trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f612ff6cfbf3a59842732f0280807c0714ab9025 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Strip trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
98c415caf6f8e0eac9b9247fb782d6718430e288 18-Sep-2009 Bill Wendling <isanbard@gmail.com> Factor out label difference creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82282 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
f41b6e5d0624c1610d155c19c7744ef30ad1f372 18-Sep-2009 Bill Wendling <isanbard@gmail.com> Factor out label difference creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82282 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c 18-Sep-2009 Bill Wendling <isanbard@gmail.com> It's inefficient to have place the exception tables (which contain the LSDA)
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
296ab7e5445f0402d0aae3814c38f964d6f547fb 18-Sep-2009 Bill Wendling <isanbard@gmail.com> It's inefficient to have place the exception tables (which contain the LSDA)
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b611307c9730ae90448fcacfd8ee9d0d208cc3ee 18-Sep-2009 Chris Lattner <sabre@nondot.org> add a new hook to allow targets to splat stuff at the end of the file.
Overriding doFinalization is pretty lame.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82268 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bd23d5fda85e38c88dfa668a99777cd05c524822 18-Sep-2009 Chris Lattner <sabre@nondot.org> add a new hook to allow targets to splat stuff at the end of the file.
Overriding doFinalization is pretty lame.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82268 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3789f872b0ac8f9d22d99696164e04b664af90f6 18-Sep-2009 Anton Korobeynikov <asl@math.spbu.ru> Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c6f729ed5519cdf398ca4039dbdbea4f81433ec0 18-Sep-2009 Anton Korobeynikov <asl@math.spbu.ru> Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ee62b0424d8c75617484b2d4a9383565044eb5aa 17-Sep-2009 Chris Lattner <sabre@nondot.org> pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
currently unused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8609c7c931c0213d6d29f665df2110cf3c709e4c 17-Sep-2009 Chris Lattner <sabre@nondot.org> pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
currently unused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
500fba8363dccdd3dd29495831e5d689ddc50c49 16-Sep-2009 Chris Lattner <sabre@nondot.org> remove the AsmPrinter::printMCInst hook hack now that
we have MCInstPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82006 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4edd187ddddc38540dd020c5cadef70bc5934b1e 16-Sep-2009 Chris Lattner <sabre@nondot.org> remove the AsmPrinter::printMCInst hook hack now that
we have MCInstPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82006 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8886dc29cd311a78fd1f672904fd9a3af51c883c 16-Sep-2009 Chris Lattner <sabre@nondot.org> Big change #1 for personality function references:
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
fields from MAI: they aren't part of the asm syntax, they are
related to the structure of the object file.

To replace their functionality, add a new
TLOF::getSymbolForDwarfGlobalReference method which asks targets
to decide how to reference a global from EH in a pc-relative way.

The default implementation just returns the symbol. The default
darwin implementation references the symbol through an indirect
$non_lazy_ptr stub. The bizarro x86-64 darwin specialization
handles the weird "foo@GOTPCREL+4" hack.

DwarfException.cpp now uses this to emit the reference to the
symbol in the right way, and this also eliminates another
horrible hack from DwarfException.cpp:

- if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
- O << "-" << MAI->getPCSymbol();



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8c6ed05157e9c97ff8f3ccb211dd797e53228da1 16-Sep-2009 Chris Lattner <sabre@nondot.org> Big change #1 for personality function references:
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
fields from MAI: they aren't part of the asm syntax, they are
related to the structure of the object file.

To replace their functionality, add a new
TLOF::getSymbolForDwarfGlobalReference method which asks targets
to decide how to reference a global from EH in a pc-relative way.

The default implementation just returns the symbol. The default
darwin implementation references the symbol through an indirect
$non_lazy_ptr stub. The bizarro x86-64 darwin specialization
handles the weird "foo@GOTPCREL+4" hack.

DwarfException.cpp now uses this to emit the reference to the
symbol in the right way, and this also eliminates another
horrible hack from DwarfException.cpp:

- if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
- O << "-" << MAI->getPCSymbol();



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
57c76b5eea6a1b4202941a0c3e7d06f0a00c8485 16-Sep-2009 Chris Lattner <sabre@nondot.org> inline AsmPrinter::getCurrentFunctionEHName into its only caller.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81970 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
25d812bd7d1f58f2ba1b598b1425a2e146e27381 16-Sep-2009 Chris Lattner <sabre@nondot.org> inline AsmPrinter::getCurrentFunctionEHName into its only caller.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81970 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
c54a0890ddc80c1d7efa21695fb3159ef1b57cf8 16-Sep-2009 Chris Lattner <sabre@nondot.org> Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now)
one implementation into its one caller. This eliminates a totally
awesome and gratuitous hack where we casted a Function* to
GlobalVariable*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81967 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
1c90c6f1c530e22aea5be055004b2517e77a0f02 16-Sep-2009 Chris Lattner <sabre@nondot.org> Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now)
one implementation into its one caller. This eliminates a totally
awesome and gratuitous hack where we casted a Function* to
GlobalVariable*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81967 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
5632fabd0a6e1f30e9cbbd6c2b6d3dce6dcc656a 16-Sep-2009 Chris Lattner <sabre@nondot.org> eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining
it into all of its call sites and simplifying them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
334fd1f259b3e8aaf83cf0d40f74af5b209770e6 16-Sep-2009 Chris Lattner <sabre@nondot.org> eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining
it into all of its call sites and simplifying them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
36d0329a368bc31e7129c92b2e1c38559793a48d 16-Sep-2009 Chris Lattner <sabre@nondot.org> remove some horrible MAI hooks which fortunately turn out to be always empty.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81946 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bfd1e50c4f51e5f22ba68f28172b0ed9ab66a61a 16-Sep-2009 Chris Lattner <sabre@nondot.org> remove some horrible MAI hooks which fortunately turn out to be always empty.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81946 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
451e8e6330161627a231f22d167d49dd0c374db8 16-Sep-2009 Chris Lattner <sabre@nondot.org> strength reduce a call to PrintRelDirective(true).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81942 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f60d3eb186c2821f65d85b40665d602eb7d051f4 16-Sep-2009 Chris Lattner <sabre@nondot.org> strength reduce a call to PrintRelDirective(true).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81942 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
da5fb6d704adbe833dcf16d12398a87a5af8d01e 14-Sep-2009 Chris Lattner <sabre@nondot.org> PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81755 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
662316c997e4eb8c3fdec6999b3e9da03620847a 14-Sep-2009 Chris Lattner <sabre@nondot.org> PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81755 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a835afd084f0e1c9ce65902b24eac79921547c79 14-Sep-2009 Chris Lattner <sabre@nondot.org> Change MCAsmStreamer to take an MCInstPrinter instead of a
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.

llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
90edac0e8b35f766599362b6301863229f0ddcdb 14-Sep-2009 Chris Lattner <sabre@nondot.org> Change MCAsmStreamer to take an MCInstPrinter instead of a
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.

llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
28f7e3506ee1779753939d87c2ce4e1a2f19e9c0 13-Sep-2009 Chris Lattner <sabre@nondot.org> eliminate an extraneous use of TRI::getAsmName in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f806c23a9a297e0b6d19d82ed23c6c5921d6ecd9 13-Sep-2009 Chris Lattner <sabre@nondot.org> eliminate an extraneous use of TRI::getAsmName in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
149495f84e67c353295dd54c4ca92ccd0fd3c1ef 13-Sep-2009 Chris Lattner <sabre@nondot.org> remove MAI::JumpTableSpecialLabelPrefix now that MAI
has real information about linker private linkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81695 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7c30191393c99c9ba804f1a01942a9e130c53904 13-Sep-2009 Chris Lattner <sabre@nondot.org> remove MAI::JumpTableSpecialLabelPrefix now that MAI
has real information about linker private linkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81695 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2faa4ef57551d45e7b58b1827ae8156cea221637 13-Sep-2009 Chris Lattner <sabre@nondot.org> replace printBasicBlockLabel with EmitBasicBlockStart,
now that printBasicBlockLabel is only used for starting
a MBB. This allows elimination of a bunch of arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
70a54c07a0807bf89d1a8b4414e53298c376eb61 13-Sep-2009 Chris Lattner <sabre@nondot.org> replace printBasicBlockLabel with EmitBasicBlockStart,
now that printBasicBlockLabel is only used for starting
a MBB. This allows elimination of a bunch of arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81684 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c6f802dd7f346ac5a44bbdc57d264ed928fe1e7c 13-Sep-2009 Chris Lattner <sabre@nondot.org> convert some uses of printBasicBlockLabel to use GetMBBSymbol
instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81677 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
325d3dcfe4d5efc91db0f59b20a72a11dea024ed 13-Sep-2009 Chris Lattner <sabre@nondot.org> convert some uses of printBasicBlockLabel to use GetMBBSymbol
instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81677 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
08c9708a8aed7028c5e3126d2d680ee1ffb4af9f 13-Sep-2009 Chris Lattner <sabre@nondot.org> devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
we only have one place that decides what to name bb labels. Hopefully various
clients of printBasicBlockLabel can start using GetMBBSymbol instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81652 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7cb384dcca3f1ccfc993182ee4b972f7fffc8ffa 13-Sep-2009 Chris Lattner <sabre@nondot.org> devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
we only have one place that decides what to name bb labels. Hopefully various
clients of printBasicBlockLabel can start using GetMBBSymbol instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81652 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9da96d8044dc814a45010e9f78af212c189cc447 11-Sep-2009 Caroline Tice <ctice@apple.com> Don't generate Dwarf line table entries for source line 0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81542 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c6f9d62eae02e11fbfe772e8e2c2e4d5ee5e4b13 11-Sep-2009 Caroline Tice <ctice@apple.com> Don't generate Dwarf line table entries for source line 0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81542 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a24946acb21bffc40e9054f7ac25eb9319b406d8 11-Sep-2009 Duncan Sands <baldrick@free.fr> Fix PR4948 (and a leak): by not destroying the DwarfException
object, the timer it creates was not being deleted. Since the
timer belonged to a static timer group, the timer group would
be destroyed on shutdown, and would notice and complain that
not all timers it contained were destroyed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81533 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
597f9797fd12bfede377de73ab89620842278105 11-Sep-2009 Duncan Sands <baldrick@free.fr> Fix PR4948 (and a leak): by not destroying the DwarfException
object, the timer it creates was not being deleted. Since the
timer belonged to a static timer group, the timer group would
be destroyed on shutdown, and would notice and complain that
not all timers it contained were destroyed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81533 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f2c39f52d692834fd39bfb37e942840188554463 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Exit early if exception handling isn't supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81454 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
73c5a6172508e957d0b1a46170cb070dce6cac4f 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Exit early if exception handling isn't supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81454 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
7bb50b4935836725b83eefeb1e90d0a659ef15a5 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Comment and whitespace cleanups. No intentional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81436 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
28275fdf02885587156da5cb20388b22d5b96557 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Comment and whitespace cleanups. No intentional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81436 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
74446ffeba3226ae63f9a437230fe0f407a308d4 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Revert part of my r81424 patch. I removed what looked like superfluous padding
from the exception tables. However, Duncan explained why it's a can of worms to
do it the GCC way. I went back to doing it the LLVM way and added Duncan's
explanation so that I don't do this again in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81434 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
a2f6449a57fcce73beacc30158aafe39b5349947 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Revert part of my r81424 patch. I removed what looked like superfluous padding
from the exception tables. However, Duncan explained why it's a can of worms to
do it the GCC way. I went back to doing it the LLVM way and added Duncan's
explanation so that I don't do this again in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81434 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5c6e5ae3c8ec8cc5df9f82b4c51d67105e941e5f 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Don't hardcode the TType format size. In fact, rework the code so that it's more
like what GCC outputs. The mysterious code to insert padding wasn't in GCC at
all. I modified the TType base offset code to calculate the offset like GCC
does, though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81424 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
fe220285b5ef1e4480ddd7f7c8bb182b88a33b16 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Don't hardcode the TType format size. In fact, rework the code so that it's more
like what GCC outputs. The mysterious code to insert padding wasn't in GCC at
all. I modified the TType base offset code to calculate the offset like GCC
does, though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81424 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
630d3b5c3e116554239d4c50032d2c1b9a01738d 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Remove the "#if 0" that Noone loved. It wasn't really necessary, because the
code within it was the same inside and out. There's still a problem of the
TypeInfoSize should be the size of the TType format encoding (at least that's
what GCC thinks it should be).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81417 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
43e484fbcf6a40a70d9a5c7ea142f37416ef1e68 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Remove the "#if 0" that Noone loved. It wasn't really necessary, because the
code within it was the same inside and out. There's still a problem of the
TypeInfoSize should be the size of the TType format encoding (at least that's
what GCC thinks it should be).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81417 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d832f2cd021588a797c00175a894f63d652b3755 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Pull check for SJLJ EH into a boolean and use that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81409 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d1a5b37a62e829e56b6225e0934a01d9f8823387 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Pull check for SJLJ EH into a boolean and use that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81409 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1961846a4701a5cd43a8d7f2624138da0f745e1f 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Use the SizeOfEncodedValue function instead of magic variables for the
sizeof(DW_EH_PE_udata4).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
40121bccbee44d387ab5d6a5194c5fc27c542e12 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Use the SizeOfEncodedValue function instead of magic variables for the
sizeof(DW_EH_PE_udata4).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f551420260bd4eb5e4ca6307eb9ae4d411154061 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Add helpful comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81406 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
bb3e29932d14cc012149a1ab452b88e6f6f5bb49 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Add helpful comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81406 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
e99c6d49ea0f6f3b562af85580bdf18bd278b933 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Believe it or not, this is a simplification. :-)

Basically, this patch is working towards removing the hard-coded values that are
output for the CIE. In particular, the CIE augmentation and the CIE augmentation
size. Both of these should be calculated. In the process, I was able to make a
bunch of code simpler.

The encodings for the personality, LSDA, and FDE in the CIE are still not
correct. They should be generated either from target-specific callbacks (blech!)
or grokked from first-principles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81404 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
52783c63a13d384582997684384553e6545852d3 10-Sep-2009 Bill Wendling <isanbard@gmail.com> Believe it or not, this is a simplification. :-)

Basically, this patch is working towards removing the hard-coded values that are
output for the CIE. In particular, the CIE augmentation and the CIE augmentation
size. Both of these should be calculated. In the process, I was able to make a
bunch of code simpler.

The encodings for the personality, LSDA, and FDE in the CIE are still not
correct. They should be generated either from target-specific callbacks (blech!)
or grokked from first-principles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81404 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
32d4cc74e1075b6d9f77c75ff6099784ad4f15b2 10-Sep-2009 Chris Lattner <sabre@nondot.org> remove DebugLoc from MCInst and eliminate "Comment printing" from
the MCInst path of the asmprinter. Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter. This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.

This also fixes an xcore strangeness where it inserted two tabs
before every instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
c5ea263a23f4f15587e35c9cb07cf72a9fba7613 10-Sep-2009 Chris Lattner <sabre@nondot.org> remove DebugLoc from MCInst and eliminate "Comment printing" from
the MCInst path of the asmprinter. Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter. This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.

This also fixes an xcore strangeness where it inserted two tabs
before every instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
be23fd415c91d6b17149b67497316d9593305e05 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Use the EOL that takes the encoding and translates it into DWARF-English.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81382 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
0734d35044c304dd072f20e49840bcbea427db9c 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Use the EOL that takes the encoding and translates it into DWARF-English.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81382 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
c38ebcb176943ab2d8c5e0aa458f3f18990f15b8 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Early exit from function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81381 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
7b09a6c62215e5ed30443b0d2b2a5ae18b89b94f 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Early exit from function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81381 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cb3105b639197e0e15486fa17beeee74682a608c 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Small amount of code clean-up: Don't use ".size()" when not necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81380 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b4049fe8cbb38416522f7b214f028ef0b7693d21 09-Sep-2009 Bill Wendling <isanbard@gmail.com> Small amount of code clean-up: Don't use ".size()" when not necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81380 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0c03f0626103c650db38940c5edf806648f6895d 05-Sep-2009 Devang Patel <dpatel@apple.com> Ignore malformed global variable debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81055 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
905cf5e0bd4feaec00c45f44893afbbd1f02a149 05-Sep-2009 Devang Patel <dpatel@apple.com> Ignore malformed global variable debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81055 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d5496d944b0095cfd0d1cc93386a3c569b7f06d5 01-Sep-2009 Jim Grosbach <grosbach@apple.com> reduce size of SmallString to something more reasonable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80710 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ee793a6c197b2cccfee96c6da1bbe6a2048830cc 01-Sep-2009 Jim Grosbach <grosbach@apple.com> reduce size of SmallString to something more reasonable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80710 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1e58780928c42ba7c34deb7bbb35c17391b3d36e 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Use raw_ostream instead of sstream

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80704 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
c40d9f9bae70c83947bf8fa5f9ee97adbf1bb0c0 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Use raw_ostream instead of sstream

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80704 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
598082b1dd506ca0d6540f2bcaded867bfbf77af 01-Sep-2009 Jim Grosbach <grosbach@apple.com> revert inadvertant change from previous commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80689 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
33668c0f1a7e374d4c3c53df34efbdf570e0987b 01-Sep-2009 Jim Grosbach <grosbach@apple.com> revert inadvertant change from previous commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80689 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
90cc01b4e49618f75a3cb899cefaa0abe9ca7066 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Simply LSDA lable emission to use a direct special-case output instead of
EmitLabel()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80677 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
a01d34676fa45ab341d18cf9ec1e39cc5979898f 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Simply LSDA lable emission to use a direct special-case output instead of
EmitLabel()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80677 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
5e0257f9b7567c8c285ee3115c10d552c7c037fb 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Clean up LSDA name generation and use for SJLJ exception handling. This
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.

Objective C++ code could generate function names that broke the previous
scheme. This fixes that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80649 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
3fb2b1ede30193b59a651328a946174196b20610 01-Sep-2009 Jim Grosbach <grosbach@apple.com> Clean up LSDA name generation and use for SJLJ exception handling. This
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.

Objective C++ code could generate function names that broke the previous
scheme. This fixes that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80649 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfPrinter.cpp
warfPrinter.h
318d70da84dd9c3371774284695e2f96613d68a9 01-Sep-2009 Devang Patel <dpatel@apple.com> Subprogram is a scope. Derive DISubprogram from DIScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
82dfc0cd8c3c2bf780a13cc35c1a8df7ad137477 01-Sep-2009 Devang Patel <dpatel@apple.com> Subprogram is a scope. Derive DISubprogram from DIScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
a53768e1e514ec9184b3e17c465b19f9334c1e5c 01-Sep-2009 Devang Patel <dpatel@apple.com> Rename DIBlock as DILexicalBlock.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5e005d814f13f1796cf9e32c7525a5241fface1a 01-Sep-2009 Devang Patel <dpatel@apple.com> Rename DIBlock as DILexicalBlock.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
248d5579576fdfb0f1dca59bc3c6cebb8a6976fc 31-Aug-2009 Caroline Tice <ctice@apple.com> Add flag to mark structs for Apple Block "byref" variables; also add code to
modify the type and location debug information for these variables to match the
programmer's expectations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
dc8f6049d11ee73835c7b7e9b7c6d0b9e6a2c9b1 31-Aug-2009 Caroline Tice <ctice@apple.com> Add flag to mark structs for Apple Block "byref" variables; also add code to
modify the type and location debug information for these variables to match the
programmer's expectations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
56843af6f90e5bdf7d79a271d2406f57e6674122 31-Aug-2009 Devang Patel <dpatel@apple.com> Simplify isDerivedType() and other predicate interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6ceea33c5e5c00069453e48740aaef5fe1c0953b 31-Aug-2009 Devang Patel <dpatel@apple.com> Simplify isDerivedType() and other predicate interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
4cfaf41d499ce05b11ecb62746c3e86b04440f62 31-Aug-2009 Bill Wendling <isanbard@gmail.com> Output a hex value, because all of the others are hex.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80601 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
049e98d641f90e90e8312d76cbf4c68908fb9d1d 31-Aug-2009 Bill Wendling <isanbard@gmail.com> Output a hex value, because all of the others are hex.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80601 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
752d366fe7a9d0f68258465ce554cdf40af2918e 31-Aug-2009 Duncan Sands <baldrick@free.fr> Revert commit 80428. It completely broke exception
handling on x86-32 linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80592 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
c69d74a5d41a6c5e92f9d947f2fa181f48626ca5 31-Aug-2009 Duncan Sands <baldrick@free.fr> Revert commit 80428. It completely broke exception
handling on x86-32 linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80592 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
54b6adfbb882f2f9b96c241fb87d0128ce840960 31-Aug-2009 Jim Grosbach <grosbach@apple.com> PR4747

Shared landing pads run into trouble with SJLJ, as the dispatch table is
mapped to call sites, and merging the pads will throw that off. There needs
to be a one-to-one mapping of landing pad exception table entries to invoke
call points.

Detecting the shared pad during lowering of SJLJ info insn't sufficient, as
the dispatch function may still need separate destinations to properly
handle phi-nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80530 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0bb61c56bcad7a738d50f705b5966be446ef06c1 31-Aug-2009 Jim Grosbach <grosbach@apple.com> PR4747

Shared landing pads run into trouble with SJLJ, as the dispatch table is
mapped to call sites, and merging the pads will throw that off. There needs
to be a one-to-one mapping of landing pad exception table entries to invoke
call points.

Detecting the shared pad during lowering of SJLJ info insn't sufficient, as
the dispatch function may still need separate destinations to properly
handle phi-nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80530 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
09880947395319ff0df656549ddf0b080b7af385 30-Aug-2009 Bill Wendling <isanbard@gmail.com> Nuke moribund "std::string" version of EOL(..., Encoding).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80466 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8ed211406a68d036c044829807e45eefc17f5aa8 30-Aug-2009 Bill Wendling <isanbard@gmail.com> Nuke moribund "std::string" version of EOL(..., Encoding).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80466 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b4ac493684cdeb2147000a6816a563269fcf3c70 29-Aug-2009 Bill Wendling <isanbard@gmail.com> - Add target lowering methods to get the preferred format for the FDE and LSDA
encodings.
- Make some of the values emitted by the FDEs dependent upon the pointer
size. This is in line with how GCC does things. And it has the benefit of
working for Darwin in 64-bit mode now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80428 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
9b35a09e7e5b1aa26588e3852fe00a42b4f383ba 29-Aug-2009 Bill Wendling <isanbard@gmail.com> - Add target lowering methods to get the preferred format for the FDE and LSDA
encodings.
- Make some of the values emitted by the FDEs dependent upon the pointer
size. This is in line with how GCC does things. And it has the benefit of
working for Darwin in 64-bit mode now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80428 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
946b521498866b3d83c4447c9c0ece6095a56874 29-Aug-2009 Bill Wendling <isanbard@gmail.com> Add a form of EOL which emits the text version of a DWARF format encoding. This
doesn't handle all values of the formatting. Those can be added as needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80427 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b5abecded7573de0747f9f529a52561741bed0a2 29-Aug-2009 Bill Wendling <isanbard@gmail.com> Add a form of EOL which emits the text version of a DWARF format encoding. This
doesn't handle all values of the formatting. Those can be added as needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80427 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0ac7faa993d472be4a23e0e58fa6e9372960cfe8 29-Aug-2009 Eric Christopher <echristo@apple.com> Make the augmentation size and next set of bytes agree on size,
and make the reference pointer size as it should be.

Fixes an abort on a testcase derived from libunwind's personality
test in 64-bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80414 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
6fefcebc4f92b944664b7b26042bc21e57aefe43 29-Aug-2009 Eric Christopher <echristo@apple.com> Make the augmentation size and next set of bytes agree on size,
and make the reference pointer size as it should be.

Fixes an abort on a testcase derived from libunwind's personality
test in 64-bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80414 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
15e723d2c6021bbeacad9baa9c0d946d4a19867e 29-Aug-2009 Devang Patel <dpatel@apple.com> Reapply 79977.
Use MDNodes to encode debug info in llvm IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
e4b275610a7a05b7ee4c0378a906a6330e4c4ab0 29-Aug-2009 Devang Patel <dpatel@apple.com> Reapply 79977.
Use MDNodes to encode debug info in llvm IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
a14f4474b2d915579e9e9bd8bf4080d7f25e7dcd 29-Aug-2009 Eric Christopher <echristo@apple.com> Nuke trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80401 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
dbfcdb976367ad5a9d3541fef90cd9f8dde7e2b4 29-Aug-2009 Eric Christopher <echristo@apple.com> Nuke trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80401 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
20b3210d23b9c5633787e3d8bbd98d7cc0083c32 28-Aug-2009 Devang Patel <dpatel@apple.com> Closure is a very generic name. Use AppleBlock instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a1ba269a27ca9d776e6de77e8177fa8fa844bd5e 28-Aug-2009 Devang Patel <dpatel@apple.com> Closure is a very generic name. Use AppleBlock instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5537c20c55869fac64e4f5738f8eab2080cc79c6 27-Aug-2009 Bill Wendling <isanbard@gmail.com> Revert accidental commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80198 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
639217cb6a3948800c71c39503f8def4873a535e 27-Aug-2009 Bill Wendling <isanbard@gmail.com> Revert accidental commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80198 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
25cd944a98bcf3b1542c71d2654fe61e28562867 27-Aug-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging r80147 into '.':
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in

Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.

Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80197 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
fffb7266fe9c5c95d859ff5b3aeb5386cbd0cd1e 27-Aug-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging r80147 into '.':
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in

Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.

Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80197 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
c87d5ae938fe0c3b0afc3aefef1dc6a9873516e4 26-Aug-2009 Eric Christopher <echristo@apple.com> If we're emitting additional CIEs due to personality functions
don't emit the default one. Explicitly check for the NULL
CIE later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80146 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d44fff7849034fc17d6a0e9f9926542865bb7881 26-Aug-2009 Eric Christopher <echristo@apple.com> If we're emitting additional CIEs due to personality functions
don't emit the default one. Explicitly check for the NULL
CIE later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80146 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
94060421ce73922e71c183fba0fda8bace7d0e2d 26-Aug-2009 Devang Patel <dpatel@apple.com> Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
824598883513789516a919651f4b35e7a638ec5c 26-Aug-2009 Devang Patel <dpatel@apple.com> Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
2e1a5d0b91503b8d5ada9fe0b19567daca2f1c6f 26-Aug-2009 Devang Patel <dpatel@apple.com> Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
Patch by Caroline Tice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8af76bdb7450b097efa17f7c192882111a9e8f10 26-Aug-2009 Devang Patel <dpatel@apple.com> Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
Patch by Caroline Tice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
a75796301ee17e60daea754e30a035a53891650d 25-Aug-2009 Bill Wendling <isanbard@gmail.com> - Rename EmitCommonInformationEntry to EmitCIE.
- Rename EmitFunctionDescriptionEntry to EmitFDE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79981 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
7ccda0f2aadb601ce48f05c12cc153f3fcc554e6 25-Aug-2009 Bill Wendling <isanbard@gmail.com> - Rename EmitCommonInformationEntry to EmitCIE.
- Rename EmitFunctionDescriptionEntry to EmitFDE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79981 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
57b83c78f56324e3a8ff636b311235f6f2350b4e 25-Aug-2009 Devang Patel <dpatel@apple.com> Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
2a610c7387664bc557a35ce3bb4c0d4df56e4755 25-Aug-2009 Devang Patel <dpatel@apple.com> Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
bcc93309ca3632b3cd2b45f265a534256be7589a 25-Aug-2009 Bill Wendling <isanbard@gmail.com> - Emit new line after each FDE.
- Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79971 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4bda11fbdafc1d4fa97b7539bdf5a0f62ecfc280 25-Aug-2009 Bill Wendling <isanbard@gmail.com> - Emit new line after each FDE.
- Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79971 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4767b24840250630c47fee8be2a6aef07f19d30a 25-Aug-2009 Bill Wendling <isanbard@gmail.com> Rename functions to something more descriptive. At the very least mention the
CIE and FDE in their names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79969 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
a6f91da8b2500259828412de919393fca206cf29 25-Aug-2009 Bill Wendling <isanbard@gmail.com> Rename functions to something more descriptive. At the very least mention the
CIE and FDE in their names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79969 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
f537768f6dfcdf5f06696b0383e292cbe3c6fec1 24-Aug-2009 Chris Lattner <sabre@nondot.org> prune the #includes in raw_ostream.h by moving a
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
23132b188ba651ba172380cd082cc286df73d440 24-Aug-2009 Chris Lattner <sabre@nondot.org> prune the #includes in raw_ostream.h by moving a
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
b1aa85bcfad6245bed0a0c43adcca9efb51fcf79 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
74382b7c699120fbec5cb5603c9cf4212eb37f06 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bf9d76de710117c29a70a3cd18aca0254064aa68 23-Aug-2009 Chris Lattner <sabre@nondot.org> convert LoopInfo.h and GraphWriter.h to use raw_ostream


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79836 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
103289e9383ad1eb66caf28c9b166aebce963a35 23-Aug-2009 Chris Lattner <sabre@nondot.org> convert LoopInfo.h and GraphWriter.h to use raw_ostream


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79836 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1514e998df9eca5b6dab7552e247197ba69f4187 23-Aug-2009 Chris Lattner <sabre@nondot.org> convert the DIE printing stuff to use raw_ostream instead of std::ostream.
Tweak #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79800 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfLabel.cpp
warfLabel.h
b01acfae5bf66d82eda7c12c473e5a51831f9382 23-Aug-2009 Chris Lattner <sabre@nondot.org> convert the DIE printing stuff to use raw_ostream instead of std::ostream.
Tweak #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79800 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfLabel.cpp
warfLabel.h
ed1da1af983817b39047ad64aa5953fc181d3566 23-Aug-2009 Chris Lattner <sabre@nondot.org> random code cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79798 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
623dd141b4c09b29de2c52d55328a787205d9340 23-Aug-2009 Chris Lattner <sabre@nondot.org> random code cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79798 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ebb8c086555e9a820d4fbc0bc6f257decee8b56d 23-Aug-2009 Chris Lattner <sabre@nondot.org> remove some random indentation stuff, yay for efficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79797 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
c281de1d8485b5ec64f4b330b541f91d1ee86c37 23-Aug-2009 Chris Lattner <sabre@nondot.org> remove some random indentation stuff, yay for efficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79797 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
a5ef4d36198b2b591b592c595978ed7d3ac96a18 22-Aug-2009 Chris Lattner <sabre@nondot.org> rename TAI -> MAI, being careful not to make MAILJMP instructions :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
camlGCPrinter.cpp
33adcfb4d217f5f23d9bde8ba02b8e48f9605fc5 22-Aug-2009 Chris Lattner <sabre@nondot.org> rename TAI -> MAI, being careful not to make MAILJMP instructions :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
warfPrinter.cpp
warfPrinter.h
camlGCPrinter.cpp
621c44d3606307a3e9e56add33539c78c0009ab9 22-Aug-2009 Chris Lattner <sabre@nondot.org> Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
camlGCPrinter.cpp
af76e592c7f9deff0e55c13dbb4a34f07f1c7f64 22-Aug-2009 Chris Lattner <sabre@nondot.org> Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfDebug.cpp
warfDebug.h
warfException.cpp
warfException.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
camlGCPrinter.cpp
c3d25a1ce7c6718d6304464aacb2005c1ae99de7 22-Aug-2009 Devang Patel <dpatel@apple.com> Record variable debug info at ISel time directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
24f20e083280d979e8fa1bc88959ae9e8339ee99 22-Aug-2009 Devang Patel <dpatel@apple.com> Record variable debug info at ISel time directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
warfWriter.cpp
16f275c399a2ed9334e241984515e0ed9fd17334 21-Aug-2009 Bill Wendling <isanbard@gmail.com> Attempt to comment this code more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79567 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
a583c55864e83e470333b7be878280b10e175a6e 21-Aug-2009 Bill Wendling <isanbard@gmail.com> Attempt to comment this code more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79567 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
18938f9bdbeb5353b354057ca39c4216093ccedc 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79475 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
eea1f4cdb7e2ba6d5d07a6b5f11fce215064cc8c 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79475 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
bb993c796f05205a5ce8473fc8a75f95c2567590 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79474 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
fc4da0cea8a0f6c9c1483b92c2dffda217c0ba24 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79474 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d87baff44c679d26b13ef2dc2621a1ff84f98b6f 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79473 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b2c66fc322f62779f08e83e5253f383ae219bf78 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79473 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
768e97ddbde973fa68b12aecc0e0935e7f37dc2c 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Switch to SmallString::str from SmallString::c_str, and remove
SmallString::c_str.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dddfd34e32ff081409e5a1c95b991a898d63dff2 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Switch to SmallString::str from SmallString::c_str, and remove
SmallString::c_str.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4891d148a4bb33d2de1a76ca7cc660a4918dc5df 19-Aug-2009 Chris Lattner <sabre@nondot.org> switch asmprinter to emit alignments through OutStreamer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79406 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
663c2d2580e6e9b2435785c7e5a2de18758860a3 19-Aug-2009 Chris Lattner <sabre@nondot.org> switch asmprinter to emit alignments through OutStreamer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79406 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
73266f9a953d9cb0833df1208c455725f5adf2ef 19-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::SwitchToSection and just have clients
talk to the MCStreamer directly instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79405 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
6c2f9e14fdf14d8c1c687c6bd9918183fa7f8a7f 19-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::SwitchToSection and just have clients
talk to the MCStreamer directly instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79405 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfException.cpp
camlGCPrinter.cpp
066ed6a19998f933d53d79d7a67390cfa2907065 18-Aug-2009 David Greene <greened@obbligato.org> Make various changes suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79358 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fe37ab335be5632eab561d49984c95cb06b946d4 18-Aug-2009 David Greene <greened@obbligato.org> Make various changes suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79358 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2c3026df5ac39a51016de56a1c80812455747c4a 18-Aug-2009 Chris Lattner <sabre@nondot.org> fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79346 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
35c3531754c392a533921a465a22f67f7e8fb743 18-Aug-2009 Chris Lattner <sabre@nondot.org> fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79346 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d69d8ad1c3569a5cbf08e795dfc3582e75c3b9ff 18-Aug-2009 Chris Lattner <sabre@nondot.org> Make AsmStreamer maintain a notion of the current section, pushing it up from the
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter.

While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert. This change is in preparation for completely eliminating
asmprinter::switchtosection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79324 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dabf07c70a5e13a4560d75667fa5c7db28921a92 18-Aug-2009 Chris Lattner <sabre@nondot.org> Make AsmStreamer maintain a notion of the current section, pushing it up from the
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter.

While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert. This change is in preparation for completely eliminating
asmprinter::switchtosection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79324 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2c3a75c3853a35b38796daea0bc551c51b80b3c0 18-Aug-2009 Chris Lattner <sabre@nondot.org> add a horrible hack to the dwarf printer. It looks like mingw is not specifying
an EHFrame section, so we just emit ehframe data into a random section.

This is clearly bad.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79323 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
6a66e585b8242b9764ec3343309697d24bb1e312 18-Aug-2009 Chris Lattner <sabre@nondot.org> add a horrible hack to the dwarf printer. It looks like mingw is not specifying
an EHFrame section, so we just emit ehframe data into a random section.

This is clearly bad.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79323 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
13ed51fec3ac63666184b6d540bc7126fa8bbfa6 17-Aug-2009 Jim Grosbach <grosbach@apple.com> Remove a bit more cruft from the sjlj moving to a backend pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79272 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
29626642271ae810dd526de8afa151484452abe0 17-Aug-2009 Jim Grosbach <grosbach@apple.com> Remove a bit more cruft from the sjlj moving to a backend pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79272 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
3e4fab4247bd777b044ab3b5252f78610c86acd0 17-Aug-2009 Jim Grosbach <grosbach@apple.com> Move the sjlj exception handling conversions to a back-end pass where they
more properly belong. This allows removing the front-end conditionalized
SJLJ code, and cleans up the generated IR considerably. All of the
infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is
added by the SjLjEHPrepare pass.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79250 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
8b818d7e98309125c6058c4ea72a7dc73b031db2 17-Aug-2009 Jim Grosbach <grosbach@apple.com> Move the sjlj exception handling conversions to a back-end pass where they
more properly belong. This allows removing the front-end conditionalized
SJLJ code, and cleans up the generated IR considerably. All of the
infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is
added by the SjLjEHPrepare pass.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79250 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
46148950d8ca80286b88da5dffc5fefc75239778 17-Aug-2009 Chris Lattner <sabre@nondot.org> the MinPad argument to PadToColumn only really makes sense to be 1,
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
smPrinter.cpp
8f4b1ec02bbc72161a9bd9777a2996dae439c81e 17-Aug-2009 Chris Lattner <sabre@nondot.org> the MinPad argument to PadToColumn only really makes sense to be 1,
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
smPrinter.cpp
2f579bdd6582504b9bd6ca6e9d267b38b85b2810 17-Aug-2009 Chris Lattner <sabre@nondot.org> change AsmPrinter to switch sections using AsmStreamer instead of
doing it directly. This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
975780bb595b57a45a8e6d72d8151b436314ce22 17-Aug-2009 Chris Lattner <sabre@nondot.org> change AsmPrinter to switch sections using AsmStreamer instead of
doing it directly. This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79227 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
13a4af7f6ef51a10cf4595e73aec87b6f6ea7c4f 17-Aug-2009 Chris Lattner <sabre@nondot.org> give MCAsmStreamer a TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79222 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f3ce009fcb0a04a245c437d86657e9bd61ecc18f 17-Aug-2009 Chris Lattner <sabre@nondot.org> give MCAsmStreamer a TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79222 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e7ff5091f9eae5b87c8d266d5889154aa3827ccf 14-Aug-2009 Devang Patel <dpatel@apple.com> Do not completely skip subrange info for a zero sized array.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
6325a5305ea9665bb8291037df4849baabd13b81 14-Aug-2009 Devang Patel <dpatel@apple.com> Do not completely skip subrange info for a zero sized array.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c92710a33f2478df2572b966e0cc128c2290be1e 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> Add virtual printMCInst method to AsmPrinter, as a quick way to expose the API
to print one instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78985 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
575327b77e9092074e5d18bfebfb78ce550aa2a3 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> Add virtual printMCInst method to AsmPrinter, as a quick way to expose the API
to print one instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78985 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
35b4707edb32008b1a7976dcbf3920b1160fc1c6 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2aa282f4941f44996dc3e56f658a7a932dfb6531 13-Aug-2009 Dan Gohman <gohman@apple.com> Various AsmWriter output cleanups. Use WriteAsOperand instead of
PrintUnmangledNameSafely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78878 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cf20ac4fd12ea3510a8f32a24fff69eebe7b6f4a 13-Aug-2009 Dan Gohman <gohman@apple.com> Various AsmWriter output cleanups. Use WriteAsOperand instead of
PrintUnmangledNameSafely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78878 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5ee8d03e04279ae83e02c711dd0b7ed0bdaf8987 12-Aug-2009 Dan Gohman <gohman@apple.com> Use WriteAsOperand to print BasicBlock names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78838 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
46d505647d255410b220d7f8134053390794683e 12-Aug-2009 Dan Gohman <gohman@apple.com> Use WriteAsOperand to print BasicBlock names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78838 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
495af975328da9ebbe95f748105d3288468cfc0d 12-Aug-2009 Dan Gohman <gohman@apple.com> Fix a few more places to use PadToColumn instead of tabs. And fix
the basic block label printing to check whether a block has a name
before printing a comment character and whitespace for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78830 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e45da0dce0af2d6254c7db63a2fe0c3501dd3a5a 12-Aug-2009 Dan Gohman <gohman@apple.com> Fix a few more places to use PadToColumn instead of tabs. And fix
the basic block label printing to check whether a block has a name
before printing a comment character and whitespace for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78830 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
87581ebb5e7da766d971fbd25c008146932b38ad 12-Aug-2009 Dan Gohman <gohman@apple.com> Use PadToColumn instead of tabs for aligning comments. Fix one place
that emitted unnecessary whitespace outside of VerboseAsm mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78828 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a12e9d751b64767a5c41a718da2a91122d5874c4 12-Aug-2009 Dan Gohman <gohman@apple.com> Use PadToColumn instead of tabs for aligning comments. Fix one place
that emitted unnecessary whitespace outside of VerboseAsm mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78828 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f2d915d7810e0ceb04a207bd6c15c6542ede83e8 12-Aug-2009 Jim Grosbach <grosbach@apple.com> Add catch block handling to SjLj exception handling.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78817 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
bff392384ddb032c732c38ec78b91d7a25dcf467 12-Aug-2009 Jim Grosbach <grosbach@apple.com> Add catch block handling to SjLj exception handling.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78817 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cae14fd2f334ef46b141a5e400fc43528f5e5b43 12-Aug-2009 Chris Lattner <sabre@nondot.org> Change the asmprinter to print the comment character before the
"inlineasmstart/end" strings so that the contents of the directive
are separate from the comment character. This lets elf targets
get #APP/#NOAPP for free even if they don't use "#" as the comment
character. This also allows hoisting the darwin stuff up to the
shared TAI class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78737 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e2b060161c92ddf60b5d020f981451e9e34a3f02 12-Aug-2009 Chris Lattner <sabre@nondot.org> Change the asmprinter to print the comment character before the
"inlineasmstart/end" strings so that the contents of the directive
are separate from the comment character. This lets elf targets
get #APP/#NOAPP for free even if they don't use "#" as the comment
character. This also allows hoisting the darwin stuff up to the
shared TAI class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78737 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3fb451e883aad740e1d1503a3acda5bde359e498 11-Aug-2009 Chris Lattner <sabre@nondot.org> "TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b3ac6e40d9dd3bc8157edc47004f39c8f382dc9e 11-Aug-2009 Chris Lattner <sabre@nondot.org> "TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
29feb6a583204de0948def1d59d186e4b837ef52 11-Aug-2009 Jim Grosbach <grosbach@apple.com> SjLj based exception handling unwinding support. This patch is nasty, brutish
and short. Well, it's kinda short. Definitely nasty and brutish.

The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.

Built on Darwin and verified no llvm-core "make check" regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
1b747ad8a0694b86e8d98a8b9a05ddfe74ec0cd3 11-Aug-2009 Jim Grosbach <grosbach@apple.com> SjLj based exception handling unwinding support. This patch is nasty, brutish
and short. Well, it's kinda short. Definitely nasty and brutish.

The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.

Built on Darwin and verified no llvm-core "make check" regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
e52fd87879c56151b6fc78b52c3aa1306f6e9af6 10-Aug-2009 David Greene <greened@obbligato.org> Add support for printing loop structure information in asm comments.
This definitely slows down asm output so put it under an -asm-exuberant
flag.

This information is useful when doing static analysis of performance
issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78567 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b71d1b2fe2c0673005283b48be2f37c750ce367b 10-Aug-2009 David Greene <greened@obbligato.org> Add support for printing loop structure information in asm comments.
This definitely slows down asm output so put it under an -asm-exuberant
flag.

This information is useful when doing static analysis of performance
issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78567 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
26aabb95ddbfb011af2f738e8d329b079e4e889f 09-Aug-2009 Chris Lattner <sabre@nondot.org> sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78517 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
93b6db3de934a3cfca5586df25184fef4a54c500 09-Aug-2009 Chris Lattner <sabre@nondot.org> sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78517 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d0d09fcf74cd20325acc3dcc38007c4ebc2816ff 09-Aug-2009 Chris Lattner <sabre@nondot.org> 1. Make MCSection an abstract class.
2. Move section switch printing to MCSection virtual method which takes a
TAI. This eliminates textual formatting stuff from TLOF.
3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and
TLOFELF::AtIsCommentChar.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78510 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
892e18239308f8a02a4c83758616be84a459c19d 09-Aug-2009 Chris Lattner <sabre@nondot.org> 1. Make MCSection an abstract class.
2. Move section switch printing to MCSection virtual method which takes a
TAI. This eliminates textual formatting stuff from TLOF.
3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and
TLOFELF::AtIsCommentChar.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78510 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a8b97f498668ebb2dc64f307f0b86240f25a2d32 08-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate TargetLoweringObjectFileSparc in favor of a TAI hook.
A TAI hook is appropriate in this case because this is just an
asm syntax issue, not a semantic difference. TLOF should model
the semantics of the section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78498 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5277b22687d3513dd29d5a9c8510cac740f933f6 08-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate TargetLoweringObjectFileSparc in favor of a TAI hook.
A TAI hook is appropriate in this case because this is just an
asm syntax issue, not a semantic difference. TLOF should model
the semantics of the section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78498 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fdbeb81b564fc59d0916138cf2c5738b94b2f1ce 08-Aug-2009 Chris Lattner <sabre@nondot.org> code cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78432 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5f51cd057984b89e0dc0812d45d512596a3c6596 08-Aug-2009 Chris Lattner <sabre@nondot.org> code cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78432 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1fc07376c214b1e8a7fcdf234b12712dbf81349a 08-Aug-2009 Chris Lattner <sabre@nondot.org> remove a bunch of now-dead crud from the asmprinter and TAI interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78428 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
db0a9706e76fde6f3076f2baa1cb5bd0e47c8ee3 08-Aug-2009 Chris Lattner <sabre@nondot.org> remove a bunch of now-dead crud from the asmprinter and TAI interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78428 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
99fb1eb43eb345fa0d6a6844f4a4da91057fd5ac 08-Aug-2009 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78416 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
23510d36ac5af80f7a47df64b4614b54d6a078c9 08-Aug-2009 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78416 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cdc2de3f6cee5709200c2267434e2884303e85f1 05-Aug-2009 David Greene <greened@obbligato.org> Fix some column padding bugs, reorganize things as suggested by Chris
and eliminate complexity. Yay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78243 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a5bb59f85613e8ce481351803e7388f5ab466e72 05-Aug-2009 David Greene <greened@obbligato.org> Fix some column padding bugs, reorganize things as suggested by Chris
and eliminate complexity. Yay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78243 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1c4428adef8bdc7400072f37d94ba5f5a1c75f4d 05-Aug-2009 Chris Lattner <sabre@nondot.org> remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78242 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cafbdc5c095f4cc84e74e0286651cf8daa6efa2a 05-Aug-2009 Chris Lattner <sabre@nondot.org> remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78242 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
693cfcc5b58cedcedd2701064ef6a17d13275b83 05-Aug-2009 Chris Lattner <sabre@nondot.org> add a temporary hook to allow reuse of the asmprinter from the disassembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78154 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d250329291dd9fe0d5f0e72e6cf1e287558a7cba 05-Aug-2009 Chris Lattner <sabre@nondot.org> add a temporary hook to allow reuse of the asmprinter from the disassembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78154 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9dcecb924df97dee0a45b639a8bd1a364eba23e5 04-Aug-2009 Chris Lattner <sabre@nondot.org> rip out SectionEndDirectiveSuffix support, only uses by
the masm backend. If anyone cares about masm in the future,
we'll have semantic sections it can hang off of.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78096 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f9c1ccf28020add0b3e1d633684debf3e3dc294f 04-Aug-2009 Chris Lattner <sabre@nondot.org> rip out SectionEndDirectiveSuffix support, only uses by
the masm backend. If anyone cares about masm in the future,
we'll have semantic sections it can hang off of.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78096 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ebd055c65ff685504558790428be11c967b62ecf 04-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it private,
eliminate IsInTextSection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78017 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
290c2f56ce551ebcf4480ac2944986fe4bb339e9 04-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it private,
eliminate IsInTextSection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78017 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
0f98c3329e085621496a76ddd59ccb6b2f677abb 04-Aug-2009 Chris Lattner <sabre@nondot.org> Kill off SwitchToDataSection and SwitchToTextSection, woo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78015 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c6fdced3dbfdf673cc9b01dfad4f08e316d8803d 04-Aug-2009 Chris Lattner <sabre@nondot.org> Kill off SwitchToDataSection and SwitchToTextSection, woo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78015 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
75bdd29b81a79ff8dd3a6d6629cb7d42b48da45d 03-Aug-2009 Chris Lattner <sabre@nondot.org> make getObjFileLowering() return a non-const reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77984 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
38c398808cff7defdf013fa750dfac8e66302975 03-Aug-2009 Chris Lattner <sabre@nondot.org> make getObjFileLowering() return a non-const reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77984 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6faaff6f13d194cdeb519901f9ad3843debf7062 03-Aug-2009 Chris Lattner <sabre@nondot.org> make SwitchToSection accept null sections for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77976 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d54a6b8c58bf0228b965ab00c7d9e2e87239161f 03-Aug-2009 Chris Lattner <sabre@nondot.org> make SwitchToSection accept null sections for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77976 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
72d228decc0b7d1cd28738b728cb289e5403f14c 02-Aug-2009 Chris Lattner <sabre@nondot.org> move dwarf debug info section selection stuff from TAI to
TLOF, unifying all the dwarf targets at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77889 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
18a4c16726db2b8874c7b84d04650dda80746074 02-Aug-2009 Chris Lattner <sabre@nondot.org> move dwarf debug info section selection stuff from TAI to
TLOF, unifying all the dwarf targets at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77889 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c01e333445a1aa6299bbbe95784b50b21098528b 02-Aug-2009 Chris Lattner <sabre@nondot.org> convert EHFrameSection to be managed by TLOF instead of TAI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77888 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
35039ac24163e99cfab161620a9fb41f944a63d5 02-Aug-2009 Chris Lattner <sabre@nondot.org> convert EHFrameSection to be managed by TLOF instead of TAI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77888 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
f9f4d5a172b1bbde0bc5d9a89bbb7b93c8616d7e 02-Aug-2009 Chris Lattner <sabre@nondot.org> Fix some fixme's in #if 0'd code by making it dependent on the structural
behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77855 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
ad88bc4076d088baad8a5ee9561e46ac08a1c88a 02-Aug-2009 Chris Lattner <sabre@nondot.org> Fix some fixme's in #if 0'd code by making it dependent on the structural
behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77855 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
3d7780580131bf5a736412bcc3b11610721bd3e2 02-Aug-2009 Chris Lattner <sabre@nondot.org> move getDwarfExceptionSection from TAI to TLOF and rename it to
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.

Someone who cares about ELF C++ should investigate this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77847 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
d5bbb07ec806e6fa1e804afd7073987fdacc83e4 02-Aug-2009 Chris Lattner <sabre@nondot.org> move getDwarfExceptionSection from TAI to TLOF and rename it to
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.

Someone who cares about ELF C++ should investigate this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77847 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b5c952a6aa643bfa7a002013f46e199e7a86bb3f 02-Aug-2009 Chris Lattner <sabre@nondot.org> convert ctors/dtors section to be in TLOF instead of
TAI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77842 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
80ec2792b2b271eca55743a3cc4c8bca214fa705 02-Aug-2009 Chris Lattner <sabre@nondot.org> convert ctors/dtors section to be in TLOF instead of
TAI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77842 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a945341d921f780e95b14475069c3a9c0d1c6575 02-Aug-2009 Chris Lattner <sabre@nondot.org> (re)introduce new simpler apis for creation sectionkinds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77834 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2798119ab4d7e0b42812b3acdf37821f40dee627 02-Aug-2009 Chris Lattner <sabre@nondot.org> (re)introduce new simpler apis for creation sectionkinds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77834 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d7f8c0a3b0375ca1550977e6281cb191712159b8 02-Aug-2009 Chris Lattner <sabre@nondot.org> Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.

The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77833 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
83d77faf6e8fc2c1c2377d037283dc162d8667a1 02-Aug-2009 Chris Lattner <sabre@nondot.org> Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.

The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77833 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
97988721ef914e63d8075402994d53ea0cfe7ff3 02-Aug-2009 Chris Lattner <sabre@nondot.org> loweringinfo is always non-null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77821 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2f03f652057ff880034069c087258635bb7dd3c2 02-Aug-2009 Chris Lattner <sabre@nondot.org> loweringinfo is always non-null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77821 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
34e4cde9db656a9a24bf52cf0182272944923659 02-Aug-2009 Chris Lattner <sabre@nondot.org> fix a problem Eli noticed where we would compile the attached ptrtoint
to:

.quad X

even on a 32-bit system, where X is not 64-bits. There isn't much that
we can do here, so we just print:

.quad ((X) & 4294967295)

instead.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77818 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c19ee610f6ca1ff90b8298160c78283acb9cbaa1 02-Aug-2009 Chris Lattner <sabre@nondot.org> fix a problem Eli noticed where we would compile the attached ptrtoint
to:

.quad X

even on a 32-bit system, where X is not 64-bits. There isn't much that
we can do here, so we just print:

.quad ((X) & 4294967295)

instead.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77818 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9de4876755e2d4ba1d3ad338cb1c67bf6aabebc4 01-Aug-2009 Chris Lattner <sabre@nondot.org> Change SectionKind to be a property that is true of a *section*, it
should have no state that is specific to particular globals in the
section. In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits. MCSection uses the new form of SectionKind.

To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.

The ExplicitSection disappears. It is moved onto MCSection as a new
"IsDirective" bit. Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection. Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77803 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
968ff1196768c0b6dbcc5508025a2923bfa73fab 01-Aug-2009 Chris Lattner <sabre@nondot.org> Change SectionKind to be a property that is true of a *section*, it
should have no state that is specific to particular globals in the
section. In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits. MCSection uses the new form of SectionKind.

To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.

The ExplicitSection disappears. It is moved onto MCSection as a new
"IsDirective" bit. Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection. Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77803 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ecb436f195e55e6bf84713b54efd6c621a9ddbfe 01-Aug-2009 Dan Gohman <gohman@apple.com> Use setPreservesAll and setPreservesCFG in CodeGen passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77754 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
845012e6d31799c7fbd1193fa1af8ee2d12e9231 01-Aug-2009 Dan Gohman <gohman@apple.com> Use setPreservesAll and setPreservesCFG in CodeGen passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77754 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
32ab13dd0e1a5f460d460933f96b57f348c48667 01-Aug-2009 Chris Lattner <sabre@nondot.org> add some comments on how this is *supposed* to work. We don't
need the PreferredEHDataFormat hook, but I have yet-more refactoring to
do before I can zap it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77742 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
46b754c76bd6a720dd1dd3be248cb93a4e25d3e5 01-Aug-2009 Chris Lattner <sabre@nondot.org> add some comments on how this is *supposed* to work. We don't
need the PreferredEHDataFormat hook, but I have yet-more refactoring to
do before I can zap it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77742 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
8a2a64607104b9493e3651718ee8577cac3d3979 01-Aug-2009 Chris Lattner <sabre@nondot.org> rearrange a conditional. Even if this weren't #if 0'd out, this would
have no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77741 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
81c9a069377e9474d010f04eebe8325fd11429e3 01-Aug-2009 Chris Lattner <sabre@nondot.org> rearrange a conditional. Even if this weren't #if 0'd out, this would
have no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77741 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
4b62f5ba88a137246506b218d6386dc09fa7cc79 31-Jul-2009 David Greene <greened@obbligato.org> Simplify operand padding by keying off tabs in the asm stream. If
padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.

Add some better comments and eliminate redundant code.

Fix some testcases to not assume tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77740 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bef8768bd0576eec0470a80e3039cd5d1fd50c6b 31-Jul-2009 David Greene <greened@obbligato.org> Simplify operand padding by keying off tabs in the asm stream. If
padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.

Add some better comments and eliminate redundant code.

Fix some testcases to not assume tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77740 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8b0bb375c9be32347afec9ee406cb15dd4c32cbb 31-Jul-2009 Chris Lattner <sabre@nondot.org> PreferredEHDataFormat is always call with data and global, but this whole
thing is #if0'd out anyway. Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77736 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
7a01e959156ba4e0a15b45a1f153f67d1646c0a5 31-Jul-2009 Chris Lattner <sabre@nondot.org> PreferredEHDataFormat is always call with data and global, but this whole
thing is #if0'd out anyway. Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77736 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
84362ace0889c4f1f71e8e5604fd620ba7ebb664 31-Jul-2009 Chris Lattner <sabre@nondot.org> move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to
indicate that it is a predicate, not an emitter. This eliminates TAI
dependencies on Mangler and GlobalValue.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77726 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
26630c1180502d07c9b2b4a9a4ba06bc5ddf180b 31-Jul-2009 Chris Lattner <sabre@nondot.org> move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to
indicate that it is a predicate, not an emitter. This eliminates TAI
dependencies on Mangler and GlobalValue.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77726 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e6ad12f8febebcdca8ea6b0e48014786267df1ea 31-Jul-2009 Chris Lattner <sabre@nondot.org> switch off of 'Section' onto MCSection. We're not properly using
MCSection subclasses yet, but this is a step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
a87dea4f8c546ca748f1777a8d1cabcc06515d91 31-Jul-2009 Chris Lattner <sabre@nondot.org> switch off of 'Section' onto MCSection. We're not properly using
MCSection subclasses yet, but this is a step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77708 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
warfDebug.h
013162700841c12357dc27f2a4a268c967c3eb50 31-Jul-2009 Chris Lattner <sabre@nondot.org> refactor section construction in TLOF to be through an explicit
initialize method, which can be called when an MCContext is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77687 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f26e03bc7e30162197641406e37e662a15d80f7e 31-Jul-2009 Chris Lattner <sabre@nondot.org> refactor section construction in TLOF to be through an explicit
initialize method, which can be called when an MCContext is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77687 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fda766d66b73e1fad51864bfaa616e1c6ab6d272 30-Jul-2009 Devang Patel <dpatel@apple.com> Start using DebugInfoFinder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77621 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
78ab9e2c4907428f5f0d8aa594258ac188dd2125 30-Jul-2009 Devang Patel <dpatel@apple.com> Start using DebugInfoFinder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77621 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f07406157f610d0d63deede491d2de851e7bf4b5 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Forgot to output the base offset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77505 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
409914b773ffd53d53d214394d5636a76f673186 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Forgot to output the base offset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77505 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
2931fe435726903f4b8c63ab542e27620dc1a2f3 29-Jul-2009 Chris Lattner <sabre@nondot.org> pass the mangler down into the various SectionForGlobal methods.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77432 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e53a600f065075731d0aeb9dc8f4f3d75f5a05f8 29-Jul-2009 Chris Lattner <sabre@nondot.org> pass the mangler down into the various SectionForGlobal methods.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77432 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
767459b83cb7176da521dfbbbeb038075387efd3 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Move comment to above method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77412 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
0dafca90761097230f02e655fdd541f59b888315 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Move comment to above method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77412 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
7b048681508f9739675c0aced56b57c1aec48b98 29-Jul-2009 Bill Wendling <isanbard@gmail.com> - Temporarily unbreak the build by forcing the TType "absptr", which isn't
correct. But what are you going to do? I'll fix this in the future.
- Move another large loop into its own method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
ade025c65c12503aba161a4fa399fd97414abaff 29-Jul-2009 Bill Wendling <isanbard@gmail.com> - Temporarily unbreak the build by forcing the TType "absptr", which isn't
correct. But what are you going to do? I'll fix this in the future.
- Move another large loop into its own method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77408 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
3ac794b56677e8f8bb01f33ae28748d7f4b0ef8b 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Cleanup code to use iterators instead of ".size()".

Does any one else hate the name "const_reverse_iterator" as much as I do?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77399 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5cff487665097d971067cbede1598e249f673182 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Cleanup code to use iterators instead of ".size()".

Does any one else hate the name "const_reverse_iterator" as much as I do?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77399 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
cb3f7d83009e7a08fa1c10a8034e0f23d378d5c6 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Doxygenify comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77394 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
d4609622ade8d0ebaf57fd70700c2fedf0b3d165 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Doxygenify comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77394 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
759e64d6e3c6587b7a0115e39a24fce5cf516a8d 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Split out large loop into it's very own method. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77393 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
5e953ddfa3abdd684c8a43f9c9c144f584ec7d6f 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Split out large loop into it's very own method. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77393 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
86fc13f803b7d293c1f48585233287f9e1d0fdd2 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Output the EH TType format and base offset only if there are types that we're
going to emit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77382 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
b0d9c3e7fdc952ae7cbe169b01ccaf1b80329403 29-Jul-2009 Bill Wendling <isanbard@gmail.com> Output the EH TType format and base offset only if there are types that we're
going to emit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77382 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
598a6aa94d9d3d60cc8bf7dd38e128d28f4f12e4 28-Jul-2009 Bill Wendling <isanbard@gmail.com> Use the preferred EH data format for the preferred EH data format.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77373 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
c5800a809fd5e411de78ac1a4be633cd3e1d7840 28-Jul-2009 Bill Wendling <isanbard@gmail.com> Use the preferred EH data format for the preferred EH data format.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77373 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
c4c40a9f14d66de770ba7c0922be07dca7e3b827 28-Jul-2009 Chris Lattner <sabre@nondot.org> Rip all of the global variable lowering logic out of TargetAsmInfo. Since
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.

Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.

This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
CStringSection_. Factor the code better.
5. fixes some bugs in string lowering on ELF targets.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
camlGCPrinter.cpp
f0144127b98425d214e59e4a1a4b342b78e3642b 28-Jul-2009 Chris Lattner <sabre@nondot.org> Rip all of the global variable lowering logic out of TargetAsmInfo. Since
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.

Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.

This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
CStringSection_. Factor the code better.
5. fixes some bugs in string lowering on ELF targets.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77294 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
camlGCPrinter.cpp
1eb0ad05844cdda1da0acfc72cb583c8aa9c8dbf 27-Jul-2009 Chris Lattner <sabre@nondot.org> hoist MCContext/MCStreamer up to AsmPrinter since we're going to start creating
MCSections soon instead of Section for all targets, and we need something to
own them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77252 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2b2954f00ba02ca1a902f47080cd9f06aebc0378 27-Jul-2009 Chris Lattner <sabre@nondot.org> hoist MCContext/MCStreamer up to AsmPrinter since we're going to start creating
MCSections soon instead of Section for all targets, and we need something to
own them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77252 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d8310520a75c10de2678e931f984e0c500e0ee43 27-Jul-2009 Chris Lattner <sabre@nondot.org> Eliminate SectionFlags, just embed a SectionKind into Section
instead and drive things based off of that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77184 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5fe575ff4fdefc1b003a009b1b9282526a26c237 27-Jul-2009 Chris Lattner <sabre@nondot.org> Eliminate SectionFlags, just embed a SectionKind into Section
instead and drive things based off of that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77184 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5d3ea9690f9045261c1e70c245fccc2b6b586aa6 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::getName{Start,End}, the last of the old Name APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
camlGCPrinter.cpp
460f656475738d1a95a6be95346908ce1597df25 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::getName{Start,End}, the last of the old Name APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
camlGCPrinter.cpp
94d8a7600a9d3f4aba6189d67a6a3e80c79d806a 26-Jul-2009 Chris Lattner <sabre@nondot.org> remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,
just use a smallstring instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77144 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f40761d5229322c08701049f89aa10f7f7b8b743 26-Jul-2009 Chris Lattner <sabre@nondot.org> remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,
just use a smallstring instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77144 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ed0c676d4ee8f25d06297caa81502efa3f65782e 26-Jul-2009 Chris Lattner <sabre@nondot.org> make SectionKind know whether a symbol is weak or not in addition
to its classification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77140 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4c50922f6be96fdb1e9a924aeeecf91638e2c52b 26-Jul-2009 Chris Lattner <sabre@nondot.org> make SectionKind know whether a symbol is weak or not in addition
to its classification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77140 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1c3792478d45063589e36f0523c66d4b2ec4a90f 26-Jul-2009 Chris Lattner <sabre@nondot.org> rename Mergable -> Mergeable and Writable -> Writeable


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77138 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2ceb60a677065e08ec436dcb79a9d445e628a5c9 26-Jul-2009 Chris Lattner <sabre@nondot.org> rename Mergable -> Mergeable and Writable -> Writeable


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77138 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
47399189c836d255a0b402a0ed5c36d775de5511 26-Jul-2009 Chris Lattner <sabre@nondot.org> two files I missed in the last commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77137 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
94809c3b108606e287b0966476a381ec907d6c7a 26-Jul-2009 Chris Lattner <sabre@nondot.org> two files I missed in the last commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77137 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fc60ba101e122dd74ee0a2aeafd80a620c6bbb47 26-Jul-2009 Chris Lattner <sabre@nondot.org> simplify getSectionForMergableConstant to take a SectionKind.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77134 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5c2f789952ff315021afb10381f141f2ac3b1a6b 26-Jul-2009 Chris Lattner <sabre@nondot.org> simplify getSectionForMergableConstant to take a SectionKind.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77134 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e03513b6e418341df9f2c18559c3e3557ac9b695 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::{isName, getNameRef}.

Also, change MDString to use a StringRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
03d7651c3652e1f0cc86e79b26585d86818da9cf 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::{isName, getNameRef}.

Also, change MDString to use a StringRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8aafa1c4b64aa863823dbfc372aa7464257cabe6 24-Jul-2009 Chris Lattner <sabre@nondot.org> remove a use of SectionFlagsForGlobal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76970 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d0418ce890ed94a233f69423afb0499a884ff4a9 24-Jul-2009 Chris Lattner <sabre@nondot.org> remove a use of SectionFlagsForGlobal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76970 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
978228189102b8c1d4f316bff684748f17a69320 24-Jul-2009 Chris Lattner <sabre@nondot.org> document SectionFlags::Named better and make it more easily greppable by
eliminating isNamed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76946 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
837f3323729f91be2d62b4074fedafd7fb1ce451 24-Jul-2009 Chris Lattner <sabre@nondot.org> document SectionFlags::Named better and make it more easily greppable by
eliminating isNamed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76946 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1fa359423e11cbbf671039d248c7b0212a962078 22-Jul-2009 David Greene <greened@obbligato.org> Put comment printing under asm-verbose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76780 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
67e59834fc1dca7e357c40af2e5144f3d62f5133 22-Jul-2009 David Greene <greened@obbligato.org> Put comment printing under asm-verbose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76780 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
680c6f69828e44b73f2dbea9922c35c8cd481f52 22-Jul-2009 Chris Lattner <sabre@nondot.org> remove the SelectSectionForMachineConst hook, replacing it with
a new getSectionForMergableConstant hook. This removes one dependence
of TAI on Type, and provides the hook with enough info to make the
right decision based on whether the global has relocations etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
298414ec1891ce8d3a1b69e6019ad8765c8e69dc 22-Jul-2009 Chris Lattner <sabre@nondot.org> remove the SelectSectionForMachineConst hook, replacing it with
a new getSectionForMergableConstant hook. This removes one dependence
of TAI on Type, and provides the hook with enough info to make the
right decision based on whether the global has relocations etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76705 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ae9822178ceb757bb0778146cf899bd715382f4f 21-Jul-2009 Chris Lattner <sabre@nondot.org> make AsmPrinter::doFinalization iterate over the global variables
and call PrintGlobalVariable, allowing elimination and simplification
of various targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76604 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
40bbebde9d250b875a47a688d0c6552834ada48f 21-Jul-2009 Chris Lattner <sabre@nondot.org> make AsmPrinter::doFinalization iterate over the global variables
and call PrintGlobalVariable, allowing elimination and simplification
of various targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76604 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c889b3b87756ad1f7f077024f0bafc56bc2d883a 21-Jul-2009 Chris Lattner <sabre@nondot.org> Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match the
LLVM IR concept.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76590 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
90f8b7073dd472afb21bc33be0f24391e7a4505b 21-Jul-2009 Chris Lattner <sabre@nondot.org> Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match the
LLVM IR concept.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76590 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4c5482bae6b8ff9a5b5bae9b13c17d86320cd3d9 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Pass in the unfortunately named "LessPrivatePrefix" for the
"LinkerPrivatePrefix". It seems to have been used in only one place before I
started this "linker_private" business. I'm thinking that a rename is in
order...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76479 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4cef584860acbde1d71157564e0d5f6f935b38a6 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Pass in the unfortunately named "LessPrivatePrefix" for the
"LinkerPrivatePrefix". It seems to have been used in only one place before I
started this "linker_private" business. I'm thinking that a rename is in
order...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76479 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1e0e0d15d2749d27af05086f860cc2204f1f828e 20-Jul-2009 Chris Lattner <sabre@nondot.org> implement a new magic global "llvm.compiler.used" which is like llvm.used, but
doesn't cause ".no_dead_strip" to be emitted on darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76399 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
401e10c4fbfcdcfade5065093e2ca97f69a1d144 20-Jul-2009 Chris Lattner <sabre@nondot.org> implement a new magic global "llvm.compiler.used" which is like llvm.used, but
doesn't cause ".no_dead_strip" to be emitted on darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76399 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
3f621b34a4ad5326465a46ff73209384e0b0bd37 18-Jul-2009 Chris Lattner <sabre@nondot.org> remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76246 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
16fe990e56102a355f1e77aca93bf8c79d7b9eb2 18-Jul-2009 Chris Lattner <sabre@nondot.org> remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76246 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8d971615480493288cf6f7365e9b1ce35708c36c 17-Jul-2009 Chris Lattner <sabre@nondot.org> Use more terse and precise linkage checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76237 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
3e0f60be46cb5363d4375f26a5e27d1dcd9867fb 17-Jul-2009 Chris Lattner <sabre@nondot.org> Use more terse and precise linkage checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76237 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
269e9519269b3f3fd5a43e4a1ac957f841901eb6 17-Jul-2009 Chris Lattner <sabre@nondot.org> these two pieces of code are the same because we always
emit the EHFrame label next to the section_eh_frame and
eh_frame_common labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76234 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
a4ff5e48fc6a4718d3a2af8654cfc06a17310aed 17-Jul-2009 Chris Lattner <sabre@nondot.org> these two pieces of code are the same because we always
emit the EHFrame label next to the section_eh_frame and
eh_frame_common labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76234 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
5c3475ecd4d91b986d1d5b2facbf6618d2fd795a 17-Jul-2009 Chris Lattner <sabre@nondot.org> Untangle a snarl that I discovered when updating the mangler,
starting in getCurrentFunctionEHName. Among other problems,
we would try to privative a "foo.eh" label, but end up emitting
the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really
bad, and the linker has always tolerated these labels existing.
For now, just emit them as _foo.eh.

This patch also fixes problems with ".eh" labels on unnamed
functions and eliminates two strangely defined TargetAsmInfo
hooks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76231 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
e2cf37b88c089a71727b3ecd466856f0cd638813 17-Jul-2009 Chris Lattner <sabre@nondot.org> Untangle a snarl that I discovered when updating the mangler,
starting in getCurrentFunctionEHName. Among other problems,
we would try to privative a "foo.eh" label, but end up emitting
the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really
bad, and the linker has always tolerated these labels existing.
For now, just emit them as _foo.eh.

This patch also fixes problems with ".eh" labels on unnamed
functions and eliminates two strangely defined TargetAsmInfo
hooks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76231 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfException.cpp
3d8214accfbf38af576dbfe4fe624ac3f22e5d59 17-Jul-2009 Chris Lattner <sabre@nondot.org> fix include guard.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76228 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.h
6f37f8f9c3174f7a09344ed25e095b1d6b1ff024 17-Jul-2009 Chris Lattner <sabre@nondot.org> fix include guard.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76228 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.h
4a37a69ef65bf725dd9a434b070d6f3b45fed42d 17-Jul-2009 David Greene <greened@obbligato.org> Emit line numbers in asm comments when available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76117 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3ac1ab835caacdeebbd0d7b4d69160f283928d21 17-Jul-2009 David Greene <greened@obbligato.org> Emit line numbers in asm comments when available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76117 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
76031e84c67ec56a651dd274d2ac197eb03e41df 16-Jul-2009 Devang Patel <dpatel@apple.com> Skip special LLVM prefix '1' while emitting linknage name.
This prefix is used by LLVM to inform the asm printer to not emit usual global symbol prefix before the symbol name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75875 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
53cb17dfbcf314e434e2826c8076a013f8f799b3 16-Jul-2009 Devang Patel <dpatel@apple.com> Skip special LLVM prefix '1' while emitting linknage name.
This prefix is used by LLVM to inform the asm printer to not emit usual global symbol prefix before the symbol name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75875 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1ad1c1d327aa47a077ece9c0f49fc59200872b63 15-Jul-2009 Chris Lattner <sabre@nondot.org> remove printSuffixedName.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75742 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f1cfea2dbfd6ebc0008ecd2d37a1c91058bbfdd1 15-Jul-2009 Chris Lattner <sabre@nondot.org> remove printSuffixedName.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75742 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
302008dbeae03364ffffc1bcf77d2eb28897d98a 14-Jul-2009 David Greene <greened@obbligato.org> Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75670 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
71847813bc419f7a0667468136a07429c6d9f164 14-Jul-2009 David Greene <greened@obbligato.org> Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75670 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b3cdde6d77eadb722aff894b1d90498ce70babc2 14-Jul-2009 Chris Lattner <sabre@nondot.org> Reapply my previous asmprinter changes now with more testing and two
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b8158acc23f5f0bf235fb1c6a8182a38ec9b00b2 14-Jul-2009 Chris Lattner <sabre@nondot.org> Reapply my previous asmprinter changes now with more testing and two
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bd448e3ca993226084d7f53445388fcd8e46b996 14-Jul-2009 Edwin Török <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfPrinter.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfPrinter.cpp
aa2b53498c12c3972f87733108465b59f7cd02a5 14-Jul-2009 Daniel Dunbar <daniel@zuster.org> Revert r7561{9,8,7,6}, which depend on r75610.

--- Reverse-merging r75619 into '.':
U lib/Target/DarwinTargetAsmInfo.cpp
U lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U lib/CodeGen/ELFWriter.cpp
U lib/CodeGen/MachOCodeEmitter.cpp
U lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U tools/bugpoint/Miscompilation.cpp
U tools/lto/LTOCodeGenerator.cpp
U tools/lto/LTOModule.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1f316e321a8f2fa0e193c5444584a67a8aabe9a8 14-Jul-2009 Daniel Dunbar <daniel@zuster.org> Revert r7561{9,8,7,6}, which depend on r75610.

--- Reverse-merging r75619 into '.':
U lib/Target/DarwinTargetAsmInfo.cpp
U lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U lib/CodeGen/ELFWriter.cpp
U lib/CodeGen/MachOCodeEmitter.cpp
U lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U tools/bugpoint/Miscompilation.cpp
U tools/lto/LTOCodeGenerator.cpp
U tools/lto/LTOModule.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75638 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d045bb4d1884b06db3d5421872eca83ac09e2ca5 14-Jul-2009 Chris Lattner <sabre@nondot.org> rename getValueName -> getMangledName. These two files have very
dubious looking things that I need to investigate in more detail.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75619 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5dc72d2c9f759bf9aa901c1901da8d942a32e254 14-Jul-2009 Chris Lattner <sabre@nondot.org> rename getValueName -> getMangledName. These two files have very
dubious looking things that I need to investigate in more detail.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75619 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
37db402da9462e27c0cd2704a11d8c0f28c52e8d 14-Jul-2009 Chris Lattner <sabre@nondot.org> Change the internal interface to makeNameProper to take a bool that
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75607 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
1cda87c3a07dc097f27e365f7f3ff4bcb31f5699 14-Jul-2009 Chris Lattner <sabre@nondot.org> Change the internal interface to makeNameProper to take a bool that
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75607 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfDebug.cpp
bd760a50153e3f543e5ccf0d5d6a34e3a33bd88e 14-Jul-2009 Devang Patel <dpatel@apple.com> Do not use Mangler to remove '1' from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75574 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1a8d2d2d4f9c019e3ace0053ce3f33449cf85c44 14-Jul-2009 Devang Patel <dpatel@apple.com> Do not use Mangler to remove '1' from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75574 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1aad0d13d1c136923a2b32648108753faa620a18 14-Jul-2009 Devang Patel <dpatel@apple.com> Use assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75540 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
d84b41615e8a9844d0cc26527ec9ef316fdddb84 14-Jul-2009 Devang Patel <dpatel@apple.com> Use assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75540 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
03cc004a76b1504ea0b11feaab1e026e77eaaf55 13-Jul-2009 Devang Patel <dpatel@apple.com> Use AsmPrinter's Mangler to remove leading '1' from linkage names.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75515 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
87370b8301fa39ee54bdcaae0618fd565e808466 13-Jul-2009 Devang Patel <dpatel@apple.com> Use AsmPrinter's Mangler to remove leading '1' from linkage names.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75515 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
714dd9b716dfb8625bd7f2ecb18c6c9660374b9e 13-Jul-2009 Devang Patel <dpatel@apple.com> revert rev. 75503 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75507 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
43da8fbe524f4f1921209e6280678173393fb461 13-Jul-2009 Devang Patel <dpatel@apple.com> revert rev. 75503 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75507 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
aa219559b8feecd575d706a3c7ef6308f08b68af 13-Jul-2009 Devang Patel <dpatel@apple.com> Use Mangler to remove leading '1' from linkage names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75503 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
7597a6252b29f76c7e65351ef85918d1769713bb 13-Jul-2009 Devang Patel <dpatel@apple.com> Use Mangler to remove leading '1' from linkage names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75503 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
634861206ef715b330251026657b4261326007d9 13-Jul-2009 David Greene <greened@obbligato.org> Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate. It also add parameters to
TargetAsmInfo to control comment layout.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75490 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
014700c1a8cba203fd21ff129426ba8a426ab244 13-Jul-2009 David Greene <greened@obbligato.org> Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate. It also add parameters to
TargetAsmInfo to control comment layout.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75490 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
675d56222b6b98d2c22a17aaf69a036e57d5426a 11-Jul-2009 Edwin Török <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfPrinter.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
IE.cpp
warfPrinter.cpp
ced9ff8ea2fac344da91d925294817ad51f51e06 11-Jul-2009 Edwin Török <edwintorok@gmail.com> Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
and abort()/exit() -> llvm_report_error().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
7d696d80409aad20bb5da0fc4eccab941dd371d4 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
and abort()/exit() -> llvm_report_error().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75363 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
2eebf84c4a52ccf30e7328c9638e3f1fe6af826d 07-Jul-2009 Devang Patel <dpatel@apple.com> Accidently dropped this while removing dead code in previous commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74953 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
261cc194d7bf391913ea75617f19d7ad4880d7d2 07-Jul-2009 Devang Patel <dpatel@apple.com> Accidently dropped this while removing dead code in previous commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74953 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b862f9d56e463e48c206dfe83b7873f2c499dd0f 07-Jul-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74949 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0a4afb6caf08d38130bb867be2c455ffdc54f3ca 07-Jul-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74949 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b10d22209eac7e43d917ef2194e7a159b9b1c689 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove unused AsmPrinter OptLevel argument, and propogate.
- This more or less amounts to a revert of r65379. I'm curious to know what
happened that caused this variable to become unused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5bcc8bd0c60cfe583ee47852950aad9e532c932e 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove unused AsmPrinter OptLevel argument, and propogate.
- This more or less amounts to a revert of r65379. I'm curious to know what
happened that caused this variable to become unused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
20683bf7d820c16f1d1b7b384a8fcd8cb5ca7884 30-Jun-2009 Devang Patel <dpatel@apple.com> Struct types are described using field types only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74477 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
93a65b2fe1cef7eac1473b6f47ddbfdc4a362616 30-Jun-2009 Devang Patel <dpatel@apple.com> Struct types are described using field types only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74477 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
5a3d37fcb637e71373beb16f1d35e76612a5815b 29-Jun-2009 Devang Patel <dpatel@apple.com> s/MainCU/ModuleCU/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74452 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1dbc771a837818ee077a7c287ef8cdd254b13d3c 29-Jun-2009 Devang Patel <dpatel@apple.com> s/MainCU/ModuleCU/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74452 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f97a05a660127943c74fa508a1acda357bb20cec 29-Jun-2009 Devang Patel <dpatel@apple.com> Multiple DW_TAG_compile_unit is not used, afaict, on any target.

Update dwarf writer to only emit one DW_TAG_compile_unit per .o file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74449 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
70f44267501412662ca8fb716812df0f3d48191d 29-Jun-2009 Devang Patel <dpatel@apple.com> Multiple DW_TAG_compile_unit is not used, afaict, on any target.

Update dwarf writer to only emit one DW_TAG_compile_unit per .o file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74449 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
166f843a9f6913e1699b343b8adeecce568274d7 26-Jun-2009 Devang Patel <dpatel@apple.com> Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms
and llvm.dbg.global_variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74251 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
13e16b65ddd679d6edb5f182d683701fdea37b85 26-Jun-2009 Devang Patel <dpatel@apple.com> Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms
and llvm.dbg.global_variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74251 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
59a1d424d0bda8d6355ef1036136e26542abc390 26-Jun-2009 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74215 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.h
warfWriter.cpp
208622db8a3f1d796bfaf61f8d4f41b6613a71bd 26-Jun-2009 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74215 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
warfException.h
warfWriter.cpp
c82bd82aed933fa52a52b3b5d440fdf49fc85d88 25-Jun-2009 Owen Anderson <resistor@mac.com> Privatize some more debug-related static data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74179 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a8dbf36f3f88917b101d7ab9d253ba2fe6e396b4 25-Jun-2009 Owen Anderson <resistor@mac.com> Privatize some more debug-related static data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74179 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9f765d178aec597dce6cc16b0d08db159498c87e 25-Jun-2009 Owen Anderson <resistor@mac.com> Down with _even more_ statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74137 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
d5509f2e027a4bc97b84a8ff5d706b4d6f4ba8a0 25-Jun-2009 Owen Anderson <resistor@mac.com> Down with _even more_ statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74137 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
696d486e629cb3747d0641d03fd63dbf37a0b18f 25-Jun-2009 Owen Anderson <resistor@mac.com> Down with statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
04c05f7630f33e092ae268a19de1b1a76d31785f 25-Jun-2009 Owen Anderson <resistor@mac.com> Down with statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74134 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
da3388bae6b9085bfa0c04e039b5d35b32f60047 25-Jun-2009 Owen Anderson <resistor@mac.com> Move local statics to per-instance variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74132 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bd58edf59128d2acb5ae48c76ef8a108fd587db2 25-Jun-2009 Owen Anderson <resistor@mac.com> Move local statics to per-instance variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74132 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2424eace0a0ac7914790d00dc28a8841ec673edc 24-Jun-2009 Chris Lattner <sabre@nondot.org> sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74101 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0de1fc4f416b3e94749ca84cdaede55b040a8b60 24-Jun-2009 Chris Lattner <sabre@nondot.org> sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74101 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e1225cc5cd22b797c702bcdf4663c6a7bad707b9 24-Jun-2009 Chris Lattner <sabre@nondot.org> sink dwarf finalization out of each target into AsmPrinter::doFinalization


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74097 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1f522feabf25134249bc7894e04f5b89fa071b7f 24-Jun-2009 Chris Lattner <sabre@nondot.org> sink dwarf finalization out of each target into AsmPrinter::doFinalization


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74097 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
db191f09eb4c5cc1e8b38a377896750cc6361e83 24-Jun-2009 Chris Lattner <sabre@nondot.org> eliminate the ExtWeakSymbols set from AsmPrinter. This eliminates
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74096 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0a7befa8bd56621f51eaf9196417b866962bf7b1 24-Jun-2009 Chris Lattner <sabre@nondot.org> eliminate the ExtWeakSymbols set from AsmPrinter. This eliminates
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74096 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
017511b99fcd1c192b62e45f3166f83b6466f063 24-Jun-2009 Chris Lattner <sabre@nondot.org> remove dead makefile flags.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
929a49356e2b95ac5a054bb53697e67f2a0bc43e 24-Jun-2009 Chris Lattner <sabre@nondot.org> remove dead makefile flags.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
1a45484151060a9c0190e5d1674709eab72cbd14 19-Jun-2009 Devang Patel <dpatel@apple.com> Move up dwarf writer initialization in common AsmPrinter class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73784 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
14a55d952cf238fff42da53a75f39cf06dab184b 19-Jun-2009 Devang Patel <dpatel@apple.com> Move up dwarf writer initialization in common AsmPrinter class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73784 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
690b02cc2be75f878ab189295690484f25e98b26 19-Jun-2009 Chris Lattner <sabre@nondot.org> move mangler quote handling from asm printers to TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73738 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a93ca92379129e87e0130609ac78422fcf6dd21e 19-Jun-2009 Chris Lattner <sabre@nondot.org> move mangler quote handling from asm printers to TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73738 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ecbf73b8ff55100f416aabbb19000b7e5f647b5a 19-Jun-2009 Chris Lattner <sabre@nondot.org> simplify macro debug info directive handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73736 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
b839c3f577e03467bce8904eb2a02b124ec19ec8 19-Jun-2009 Chris Lattner <sabre@nondot.org> simplify macro debug info directive handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73736 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
ccca6f7493b4a8db815cc2746ea50152ddc97c25 18-Jun-2009 Evan Cheng <evan.cheng@apple.com> On Darwin, ams printer should output a second label before a jump table so the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73720 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b13bafe5c12dd908b55c559c93adaeb1627ed096 18-Jun-2009 Evan Cheng <evan.cheng@apple.com> On Darwin, ams printer should output a second label before a jump table so the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73720 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
41fea9c87a7b5dcb35f0ea318d3695e41c443f70 16-Jun-2009 Bill Wendling <isanbard@gmail.com> Fix typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73464 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
05b5e03ec8526e95c2a7059aef1d2cf8f87d5c1d 16-Jun-2009 Bill Wendling <isanbard@gmail.com> Fix typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73464 91177308-0d34-0410-b5e6-96231b3b80d8
warfPrinter.cpp
330856b3e250da95e328092f04b3ee186429a3e3 16-Jun-2009 Devang Patel <dpatel@apple.com> Use MainCU if it is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73457 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c2230821a6ad04ab2c1c1c71212d99b56b783fa8 16-Jun-2009 Devang Patel <dpatel@apple.com> Use MainCU if it is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73457 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
e0406af64fb0083eedff8f208b20d5e67d9c2879 15-Jun-2009 Devang Patel <dpatel@apple.com> Gracefully handle imbalanced inline function begin and end markers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73426 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
11a407f43fc0fb21df3156350175eaeeffaf7085 15-Jun-2009 Devang Patel <dpatel@apple.com> Gracefully handle imbalanced inline function begin and end markers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73426 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9e1657f79a7cf86a12be2c0a2b4ae4a2600266c6 15-Jun-2009 Dan Gohman <gohman@apple.com> Fix old-style type names in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73362 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a119de86a064414622562cfe32953de7f9b0ee40 15-Jun-2009 Dan Gohman <gohman@apple.com> Fix old-style type names in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73362 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a17c65ba24aa8ffb248751ddea9795342d63801c 13-Jun-2009 Devang Patel <dpatel@apple.com> llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics.
Apply defensive patch to preserve at least one lexical scope till the end of function.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73282 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
daf9e02893e7e17ca2267ffd5e994f824adbb624 13-Jun-2009 Devang Patel <dpatel@apple.com> llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics.
Apply defensive patch to preserve at least one lexical scope till the end of function.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73282 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
03bf53d5c787142c004bf237b52f1bbaf71345c9 12-Jun-2009 Devang Patel <dpatel@apple.com> Clear AbstractInstanceRootMap at the end of the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73244 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
9217f793bf5d1fa0900f87ba96348da093409106 12-Jun-2009 Devang Patel <dpatel@apple.com> Clear AbstractInstanceRootMap at the end of the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73244 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
27c2daf02027f431d63995f947294e71b9ba384b 05-Jun-2009 Dan Gohman <gohman@apple.com> Remove some unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72948 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
c965ee223c6077250525048106726e12b59072ac 05-Jun-2009 Dan Gohman <gohman@apple.com> Remove some unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72948 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfPrinter.cpp
caa5a11d3ed679347488cdcd4ed9be5c65d9b671 01-Jun-2009 Bill Wendling <isanbard@gmail.com> Accidental commit. This isn't ready for prime time just yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72699 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8fff19ba556b8a61545fa52fdac9f04fbbe74e11 01-Jun-2009 Bill Wendling <isanbard@gmail.com> Accidental commit. This isn't ready for prime time just yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72699 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
c19467424889a76b42eb17134180e42ff528c55b 30-May-2009 Bill Wendling <isanbard@gmail.com> Untabification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72604 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
51b16f473759c1546acbf308a5d3f3e7bf3ea23c 30-May-2009 Bill Wendling <isanbard@gmail.com> Untabification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72604 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
bc121cc257b82165c7e476cd627e6236375f4dc9 21-May-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert r72191. It was causing an assert during llvm-gcc
bootstrapping.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72200 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
df7d5d317096c342ee1c459139914965008fbcd7 21-May-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert r72191. It was causing an assert during llvm-gcc
bootstrapping.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72200 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4ca8dfde22e09e0ce39c6625f3da3e3241911ae9 21-May-2009 Bill Wendling <isanbard@gmail.com> Minor code cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72198 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
39dd6962821ee48c334ac1240ecb231c18c17e40 21-May-2009 Bill Wendling <isanbard@gmail.com> Minor code cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72198 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
065d8473bc3b511dd90e8f551d9ffe6a14dfd9e2 21-May-2009 Bill Wendling <isanbard@gmail.com> Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72197 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
1795616930543c8156b2414482b2f811c87bb375 21-May-2009 Bill Wendling <isanbard@gmail.com> Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72197 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0d3db8b07e2638cb8a0e005ff08dd824e851d1c7 21-May-2009 Bill Wendling <isanbard@gmail.com> Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72196 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
995f80ad5fa835b51f0db4566b7edc3d5b126625 21-May-2009 Bill Wendling <isanbard@gmail.com> Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72196 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
e1a5bbb8a43196d3eb44e943bef4ea0d268dd253 21-May-2009 Bill Wendling <isanbard@gmail.com> Add comment for emit section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72195 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
829e67b5ec955760733e67dc6d41a09cd73a084f 21-May-2009 Bill Wendling <isanbard@gmail.com> Add comment for emit section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72195 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
55fccda5744a6362673dbbf5de184b91a88ab93f 21-May-2009 Bill Wendling <isanbard@gmail.com> Move 'Emit' methods down to their own place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72194 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
94d04b8f808bc3ea9de0120c3a7da593771a438a 21-May-2009 Bill Wendling <isanbard@gmail.com> Move 'Emit' methods down to their own place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72194 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
f5839195e511f635057cd92dbb09b5ecbb078fe9 21-May-2009 Bill Wendling <isanbard@gmail.com> Revert r72192. It was causing a build failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72193 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
f0fb987903d0885e7da456e3d6f4a094efaccdc2 21-May-2009 Bill Wendling <isanbard@gmail.com> Revert r72192. It was causing a build failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72193 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
53f5ba4a7a80b2a36984be67fd146eb819b14dff 21-May-2009 Bill Wendling <isanbard@gmail.com> Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with
the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72192 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
63ad10c004a559dce2dd3179fb851ad5fa6fbbe9 21-May-2009 Bill Wendling <isanbard@gmail.com> Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with
the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72192 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
0c41264d8ca7e8bd4bab0413891e7fb1aa22d864 21-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Introduce DebugScope which gets embedded into the machine instructions' DebugLoc.
DebugScope refers to a debug region, function or block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72191 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a3437647dc6996499db4823c31242184c93e6e2e 21-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Introduce DebugScope which gets embedded into the machine instructions' DebugLoc.
DebugScope refers to a debug region, function or block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72191 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
128f89418404c66ea5e2481baba36c48204f89f0 19-May-2009 Mike Stump <mrs@apple.com> Fix cmake builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72078 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
1d4c73860339f8eccf876635a0409e01e7062d8c 19-May-2009 Mike Stump <mrs@apple.com> Fix cmake builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72078 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
5221372e265d4c911707589c8967d2b8e1880aa1 19-May-2009 Bill Wendling <isanbard@gmail.com> Don't set the "location" information for inlined functions' variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72064 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
1180c7899ca101bdb96cf36a0101bf161e510fcb 19-May-2009 Bill Wendling <isanbard@gmail.com> Don't set the "location" information for inlined functions' variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72064 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
35d02263362b2a3e7188a75bc7ae8c327ba48ffb 19-May-2009 Bill Wendling <isanbard@gmail.com> Small code cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72057 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
cde5d63d909c2c3b9c2a30cef107f77a7a556deb 19-May-2009 Bill Wendling <isanbard@gmail.com> Small code cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72057 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
8730786d9d61ca07337168703d6d489bcccfceca 19-May-2009 Bill Wendling <isanbard@gmail.com> RecordVariable is called each time a DECLARE node is encountered. For an inlined
function, this could be many, many times. We don't want to re-add variables to
that DIE for each time. We just want to add them once. Check to make sure that
we haven't added them already.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72047 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
6679ee4e805f606264ed4e03449b957c9212cfb6 19-May-2009 Bill Wendling <isanbard@gmail.com> RecordVariable is called each time a DECLARE node is encountered. For an inlined
function, this could be many, many times. We don't want to re-add variables to
that DIE for each time. We just want to add them once. Check to make sure that
we haven't added them already.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72047 91177308-0d34-0410-b5e6-96231b3b80d8
warfDebug.cpp
warfDebug.h
b12b3d77fc304842357a7fa909d8bf553e8f9674 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the DwarfDebug module from the DwarfWriter module.

Again, no intendtional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71854 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
warfException.h
warfLabel.h
warfPrinter.h
warfWriter.cpp
0310d768a1e267935729fdeee0d677ebf7095cb3 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the DwarfDebug module from the DwarfWriter module.

Again, no intendtional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71854 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
warfDebug.cpp
warfDebug.h
warfException.h
warfLabel.h
warfPrinter.h
warfWriter.cpp
a8990a148db19a4d8aab0f3f03515f9159e98666 15-May-2009 Bill Wendling <isanbard@gmail.com> Mark class as hidden.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71850 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
e428e21033e7a5d9b88c5607c77583ca7a4e2b3d 15-May-2009 Bill Wendling <isanbard@gmail.com> Mark class as hidden.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71850 91177308-0d34-0410-b5e6-96231b3b80d8
IE.h
0530f42b442cdcca775f7163b95b5b0d99a4a9b4 15-May-2009 Bill Wendling <isanbard@gmail.com> Move c'tor/d'tor to top of file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71828 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
bc0d23afae781c45f92865c1c27bed0ce51fe545 15-May-2009 Bill Wendling <isanbard@gmail.com> Move c'tor/d'tor to top of file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71828 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
1b43db78c5c5354f666bce235202615398cd49d0 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the DwarfException class into its own file. No functionality change,
though the classes have been marked with "VISIBILITY_HIDDEN".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71827 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfWriter.cpp
eb9072195ca7d777a71194dcaaaa369d82f24f53 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the DwarfException class into its own file. No functionality change,
though the classes have been marked with "VISIBILITY_HIDDEN".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71827 91177308-0d34-0410-b5e6-96231b3b80d8
warfException.cpp
warfException.h
warfWriter.cpp
bbee8c925518db5831184ea13fa5abb7b4292561 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the Dwarf writer stuff into separate files. This is a much more
logical/sane approach to organizing all of the stuff that goes into writing out
DWARF information. Honestly? even this is too complex for what it's supposed to
be doing.

Trivia: It *looks* like there would be functionality changes, however there aren't!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71821 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
88423eecd0f16d3cfa89bdf92abdb72a5dc0616a 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the Dwarf writer stuff into separate files. This is a much more
logical/sane approach to organizing all of the stuff that goes into writing out
DWARF information. Honestly? even this is too complex for what it's supposed to
be doing.

Trivia: It *looks* like there would be functionality changes, however there aren't!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71821 91177308-0d34-0410-b5e6-96231b3b80d8
IE.cpp
IE.h
warfLabel.cpp
warfLabel.h
warfPrinter.cpp
warfPrinter.h
warfWriter.cpp
ae6cc68b932414b5f2cbe054fe4b04f5fe71e271 14-May-2009 Mike Stump <mrs@apple.com> Tag blocks with DW_AT_APPLE_block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71784 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a681515ee695b9209f49998588e27a33f40a8881 14-May-2009 Mike Stump <mrs@apple.com> Tag blocks with DW_AT_APPLE_block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71784 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
66e789edc2eba97b56b7f7c13b38f09f617e4c1b 14-May-2009 Bill Wendling <isanbard@gmail.com> There's yet more ugliness (surprise!) in DebugInfo. This needs major reworking.

Basically, there was a situation where it was getting an empty vector and doing
a .back() on that. Which isn't cool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71746 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f59d10f1bc7167db39b65ecf6eee95a1ca7562e4 14-May-2009 Bill Wendling <isanbard@gmail.com> There's yet more ugliness (surprise!) in DebugInfo. This needs major reworking.

Basically, there was a situation where it was getting an empty vector and doing
a .back() on that. Which isn't cool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71746 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
496eea903bf7d198e5bb676f8c60d1c24b2bacdb 13-May-2009 Bill Wendling <isanbard@gmail.com> Move the bookkeeping of the debug scopes back to the place where it
belonged. The variable declaration stuff wasn't happy with it where it
was. Sorry that the testcase is so big. Bugpoint wasn't able to reduce it
successfully.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f3cc96e1f3645aa4c4cae37f87d2ece3b9d35f80 13-May-2009 Bill Wendling <isanbard@gmail.com> Move the bookkeeping of the debug scopes back to the place where it
belonged. The variable declaration stuff wasn't happy with it where it
was. Sorry that the testcase is so big. Bugpoint wasn't able to reduce it
successfully.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
dea0ec265e17840423c49ee1608bc8d9d3205037 12-May-2009 Bill Wendling <isanbard@gmail.com> - Record that the debug info is actually used so that the label folder doesn't
blast it away.
- Move InlineInfo bookkeeping to bookkeep the correct debug info object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71519 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bc12c2be1822af07c1737cdb1c2dc9b117bb6a28 12-May-2009 Bill Wendling <isanbard@gmail.com> - Record that the debug info is actually used so that the label folder doesn't
blast it away.
- Move InlineInfo bookkeeping to bookkeep the correct debug info object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71519 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a89e67d2c564284dd49e806956d424db15a1e576 11-May-2009 Bill Wendling <isanbard@gmail.com> This is a large rewrite of how Dwarf info for inlined functions is handled.

The DwarfWriter expects DbgScopes and DIEs to behave themselves according to
DwarfWriter's rules. However, inlined functions violate these rules. There are
two different types of DIEs associated with an inlined function: an abstract
instance, which has information about the original source code for the function
being inlined; and concrete instances, which are created for each place the
function was inlined and point back to the abstract instance.

This patch tries to stay true to this schema. It bypasses how regular DbgScopes
and DIEs are created and used when necessary. It provides special handling for
DIEs of abstract and concrete instances.

This doesn't take care of all of the problems with debug info for inlined
functions, but it's a step in the right direction. For one thing, llvm-gcc
generates wrong IR (it's missing some llvm.dbg intrinsics at the point where the
function's inlined) for this example:

#include <stdio.h>
static __inline__ __attribute__((always_inline)) int bar(int x) { return 4; }
void foo() {
long long b = 1;
int Y = bar(4);
printf("%d\n", Y);
}

while clang generates correct IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71410 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a5c8a4e4e6b2478675bf55007a3adc34dceb74ea 11-May-2009 Bill Wendling <isanbard@gmail.com> This is a large rewrite of how Dwarf info for inlined functions is handled.

The DwarfWriter expects DbgScopes and DIEs to behave themselves according to
DwarfWriter's rules. However, inlined functions violate these rules. There are
two different types of DIEs associated with an inlined function: an abstract
instance, which has information about the original source code for the function
being inlined; and concrete instances, which are created for each place the
function was inlined and point back to the abstract instance.

This patch tries to stay true to this schema. It bypasses how regular DbgScopes
and DIEs are created and used when necessary. It provides special handling for
DIEs of abstract and concrete instances.

This doesn't take care of all of the problems with debug info for inlined
functions, but it's a step in the right direction. For one thing, llvm-gcc
generates wrong IR (it's missing some llvm.dbg intrinsics at the point where the
function's inlined) for this example:

#include <stdio.h>
static __inline__ __attribute__((always_inline)) int bar(int x) { return 4; }
void foo() {
long long b = 1;
int Y = bar(4);
printf("%d\n", Y);
}

while clang generates correct IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71410 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ec4f97dd91023f63e05e94a333cdd2d4c57efedf 09-May-2009 Duncan Sands <baldrick@free.fr> Rename PaddedSize to AllocSize, in the hope that this
will make it more obvious what it represents, and stop
it being confused with the StoreSize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71349 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
777d2306b36816a53bc1ae1244c0dc7d998ae691 09-May-2009 Duncan Sands <baldrick@free.fr> Rename PaddedSize to AllocSize, in the hope that this
will make it more obvious what it represents, and stop
it being confused with the StoreSize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71349 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f7e625587a1af7c6d27133644fa80e205473d41e 08-May-2009 Bill Wendling <isanbard@gmail.com> Compute the offsets of the compile units. We need this so that when we emit a
concrete instance of an inlined function, we can get the actual address of the
abstract instance inside of the compile unit.

This isn't currently used, but will be by a future check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71263 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e688fafd3802aabab827293a520f18ec27d00fd7 08-May-2009 Bill Wendling <isanbard@gmail.com> Compute the offsets of the compile units. We need this so that when we emit a
concrete instance of an inlined function, we can get the actual address of the
abstract instance inside of the compile unit.

This isn't currently used, but will be by a future check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71263 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c2f701adef998a9673140708a1b9525cc9e676f8 08-May-2009 Bill Wendling <isanbard@gmail.com> Minor clean ups. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71256 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a9519579b7134343b9b9520f8b1862baf8d872d5 08-May-2009 Bill Wendling <isanbard@gmail.com> Minor clean ups. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71256 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d46dc02a07aa1fe353174d8b73aa1541bb0c1ec6 07-May-2009 Dan Gohman <gohman@apple.com> Revert 71165. It did more than just revert 71158 and it introduced
several regressions. The problem due to 71158 is now fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71176 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9a38e3e3991ea443e555d8060f91202a786acdd4 07-May-2009 Dan Gohman <gohman@apple.com> Revert 71165. It did more than just revert 71158 and it introduced
several regressions. The problem due to 71158 is now fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71176 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d32c972780409e0415302847e3969acbb9ed9ad9 07-May-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert r71158. It was causing a failure during a full bootstrap:

checking for bcopy... no
checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decUtility.o] Error 1
make[4]: *** Waiting for unfinished jobs....
Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decNumber.o] Error 1
make[3]: *** [all-stage2-libdecnumber] Error 2
make[3]: *** Waiting for unfinished jobs....



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71165 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5b8479c38532a28d86dea8ded09a30ff68f26912 07-May-2009 Bill Wendling <isanbard@gmail.com> Temporarily revert r71158. It was causing a failure during a full bootstrap:

checking for bcopy... no
checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decUtility.o] Error 1
make[4]: *** Waiting for unfinished jobs....
Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [decNumber.o] Error 1
make[3]: *** [all-stage2-libdecnumber] Error 2
make[3]: *** Waiting for unfinished jobs....



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71165 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3f997f8f132bb391d17ac2bf2db4009338783c07 07-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Move the tablegen-produced DebugLoc handling into a AsmWriter::processDebugLoc function.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71156 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cd76240f3d0f6c5f8c80e4762a8fe3a4de22e059 07-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Move the tablegen-produced DebugLoc handling into a AsmWriter::processDebugLoc function.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71156 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f4510c09b01ed377583bd9ce57756f5a45fba00b 07-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Make DwarfWriter::RecordInlinedFnStart more like the other DwarfWriter's methods:
-Have it return a label ID
-Remove the unused Instruction parameter

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71132 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
116b27444a206a2831d88fea5ce34ced8184ceca 07-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make DwarfWriter::RecordInlinedFnStart more like the other DwarfWriter's methods:
-Have it return a label ID
-Remove the unused Instruction parameter

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71132 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
74940d1b6928655713f4b56f33e682b950eaf81e 06-May-2009 Bill Wendling <isanbard@gmail.com> - Move some debug fields to coincide with how GCC emits them. No functionality
change.
- Reformatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71118 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3f500d935884332f23e9a1a10689aef12e332f9e 06-May-2009 Bill Wendling <isanbard@gmail.com> - Move some debug fields to coincide with how GCC emits them. No functionality
change.
- Reformatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71118 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
88ab97408d8c4041d8bf4a2a5a8c10cae0cd565c 05-May-2009 Chris Lattner <sabre@nondot.org> Do not require variable debug info nodes to have a compile unit.
For implicit decls like "self" and "_cmd" in ObjC, these decls
should not have a location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70964 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e3f6cea9e9fc65e3429a28812460841c93fd75a5 05-May-2009 Chris Lattner <sabre@nondot.org> Do not require variable debug info nodes to have a compile unit.
For implicit decls like "self" and "_cmd" in ObjC, these decls
should not have a location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70964 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
8cac493bc70438232671b5821e31aa0f086af8b9 04-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Restore a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70900 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
28f1412c97fc0740d6743c5226a4ddd65b72c891 04-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Restore a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70900 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7a969d8c47d8916099ff7a2dcb87cf42137e03c4 04-May-2009 asl <asl@91177308-0d34-0410-b5e6-96231b3b80d8> Fix code emission for conditional branches.
Patch by Collin Winter!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70898 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
fe095f39e7009c51d1c86769792ccbcad8cdd2ec 04-May-2009 Mike Stump <mrs@apple.com> Restore minor deletion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5e3ef11e85fa7208d4b08dea296680f93a46fbe0 04-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Revert r70803 for now, it causes a regression.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70811 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1d783f9f34d2bef7772a07fe69e6d65e49182a7e 04-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> -Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors.
-Depend on DebugLocs for source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70803 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
77eaa6880b8209acc05de733ebaba5d146c321a0 03-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> -Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo
-Create DebugLocs without the need to have a DwarfWriter around


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70682 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2565734a60b19b69d83ca44e4a07d14e9ecb59b7 03-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> -Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo
-Create DebugLocs without the need to have a DwarfWriter around


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70682 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d5a6381195c392d41bf8084213f8fe6b308a00b6 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify more code and add timer stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70539 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b183d0c46a9ed38cf6e7ebf608492b7c35f9ae84 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify more code and add timer stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70539 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ff86ef33e215e833efbdb04858b716e61020cb17 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify more code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70537 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
86c053ca375fb4ee8d60983fccb37cbf37af7601 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify more code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70537 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ef956fc784dc43ba58c8d68df64c9f68e662a22e 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70534 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
0cfbd9b927ac4d133bbc092e28a141a844c59138 01-May-2009 Bill Wendling <isanbard@gmail.com> Simplify some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70534 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7fa8162f08e299744c2fc381eb83465d21b9cf69 01-May-2009 Bill Wendling <isanbard@gmail.com> Fix whitespace. It was confusing me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70533 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
821048d4c31954e832de1eecbfe70569f65e07e9 01-May-2009 Bill Wendling <isanbard@gmail.com> Fix whitespace. It was confusing me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70533 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a26eae64ddf607549f9e47046d46ea5b9ec648b4 01-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make DebugLoc independent of DwarfWriter.

-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix callsites, etc.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70520 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5b02f4c65921e7f0f0cc997aa6f0b614259e4aea 01-May-2009 Argiris Kirtzidis <akyrtzi@gmail.com> Make DebugLoc independent of DwarfWriter.

-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix callsites, etc.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70520 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
98a366d547772010e94609e4584489b3e5ce0043 30-Apr-2009 Bill Wendling <isanbard@gmail.com> Instead of passing in an unsigned value for the optimization level, use an enum,
which better identifies what the optimization is doing. And is more flexible for
future uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
5ed22ac54c2530a1d0d140d259f881f3b2040e56 30-Apr-2009 Bill Wendling <isanbard@gmail.com> Instead of passing in an unsigned value for the optimization level, use an enum,
which better identifies what the optimization is doing. And is more flexible for
future uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70440 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
be8cc2a3dedeb7685f07e68cdc4b9502eb97eb2b 29-Apr-2009 Bill Wendling <isanbard@gmail.com> Second attempt:

Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.

Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
58ed5d27258df9688ac2694cf5e3d31f7dbdeef6 29-Apr-2009 Bill Wendling <isanbard@gmail.com> Second attempt:

Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.

Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
d3d965714b89c5d5aeb65fb5ce06e081f0b3c049 28-Apr-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Initialized arrays can be in any address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70297 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c1f8d9caa22135f3f56b2dd4a6e76fcc88f83b42 28-Apr-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Initialized arrays can be in any address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70297 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c69d56f1154342a57c9bdd4c17a10333e3520127 28-Apr-2009 Bill Wendling <isanbard@gmail.com> r70270 isn't ready yet. Back this out. Sorry for the noise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70275 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
f4d0c73cc3d9ae305b162f336dc14fbe7972e2e8 28-Apr-2009 Bill Wendling <isanbard@gmail.com> r70270 isn't ready yet. Back this out. Sorry for the noise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70275 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
2e9d5f912a9841d3685ba0241abe1131943fed29 28-Apr-2009 Bill Wendling <isanbard@gmail.com> Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.

Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70270 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
11a01bfa097cfe006de022154709b545ee125523 28-Apr-2009 Bill Wendling <isanbard@gmail.com> Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.

Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70270 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
3e3702d00b2ce4c9c1fed41c05f9968414ff5819 21-Apr-2009 Devang Patel <dpatel@apple.com> Fix Visual Studio 2008 build failure.
Patch by Marius Wachtler



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69637 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
da96ca5d8a194b702da0e44ddfa80c654048c122 21-Apr-2009 Devang Patel <dpatel@apple.com> Fix Visual Studio 2008 build failure.
Patch by Marius Wachtler



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69637 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7d2f972f596b671586365d17cdadb44e5eb03574 15-Apr-2009 Devang Patel <dpatel@apple.com> s/RootDbgScope/FunctionDbgScope/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69216 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7b60d5545d671ec46bf6419762520e3659fb1c45 15-Apr-2009 Devang Patel <dpatel@apple.com> s/RootDbgScope/FunctionDbgScope/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69216 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c782ad055e7d1ed11bf0b7cbd17b5a8b6efdde7e 15-Apr-2009 Devang Patel <dpatel@apple.com> Check isInlinedSubroutine() before creating DW_TAG_inlined_subroutine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69202 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
88bcc9edae209d39c4ca646406af5c5879d729c0 15-Apr-2009 Devang Patel <dpatel@apple.com> Check isInlinedSubroutine() before creating DW_TAG_inlined_subroutine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69202 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1be3eccecbd2fa50ed9008ffee01f6351df5d8f7 15-Apr-2009 Devang Patel <dpatel@apple.com> Construct and emit DW_TAG_inlined_subroutine DIEs for inlined subroutine scopes (only in FastISel mode).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69116 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
8a9a7dc7ad2516b37f9d947a6b97ad62c24ff9b5 15-Apr-2009 Devang Patel <dpatel@apple.com> Construct and emit DW_TAG_inlined_subroutine DIEs for inlined subroutine scopes (only in FastISel mode).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69116 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
48c7fa21a3b5e491bdf0ffc41fe7aa9687450c5f 13-Apr-2009 Devang Patel <dpatel@apple.com> Right now, Debugging information to encode scopes (DW_TAG_lexical_block) relies on DBG_LABEL. Unfortunately this intefers with the quality of optimized code.
This patch updates dwarf writer to encode scoping information in DWARF only in FastISel mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68973 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1899292055e88f11ae05c2e22e01b1b9e1485bf9 13-Apr-2009 Devang Patel <dpatel@apple.com> Right now, Debugging information to encode scopes (DW_TAG_lexical_block) relies on DBG_LABEL. Unfortunately this intefers with the quality of optimized code.
This patch updates dwarf writer to encode scoping information in DWARF only in FastISel mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68973 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
0f7fef3872a37d09c806f52f1d03d74ebc73c171 13-Apr-2009 Devang Patel <dpatel@apple.com> Reapply 68847.
Now debug_inlined section is covered by TAI->doesDwarfUsesInlineInfoSection(), which is false by default.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68964 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
88bf96e5db9d7fa999ad190277610595540dc3e0 13-Apr-2009 Devang Patel <dpatel@apple.com> Reapply 68847.
Now debug_inlined section is covered by TAI->doesDwarfUsesInlineInfoSection(), which is false by default.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68964 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
266c7bbbbcc4b326dea82e577de1a415d6acc23e 13-Apr-2009 Chris Lattner <sabre@nondot.org> Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
6843344e1399eee254f39c3660e2b227c2511a9e 13-Apr-2009 Chris Lattner <sabre@nondot.org> Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
c6fa3ff0bddca92e443ef9ff454d2a74cac867bd 11-Apr-2009 Dan Gohman <gohman@apple.com> Revert r68847. It breaks the build on non-Darwin targets, with this message
from the assembler:

Error: unknown pseudo-op: `.debug_inlined'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68863 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a82ffb5c9866520ace26792d8d15094c3ea520e9 11-Apr-2009 Dan Gohman <gohman@apple.com> Revert r68847. It breaks the build on non-Darwin targets, with this message
from the assembler:

Error: unknown pseudo-op: `.debug_inlined'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68863 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2057532679fc1045cfeb38b477ac9e749e6b1dd8 11-Apr-2009 Devang Patel <dpatel@apple.com> Keep track of inlined functions and their locations. This information is collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.)

Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68847 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
962aaafe60b3a60b3bd5b97a82a48da0fe4d41b9 11-Apr-2009 Devang Patel <dpatel@apple.com> Keep track of inlined functions and their locations. This information is collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.)

Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68847 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7d16e85bfc2c6423c81ce87a177bf3b1b1012a04 10-Apr-2009 Bill Wendling <isanbard@gmail.com> Pass in the std::string parameter instead of returning it by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68747 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
26a8ab932b9a48bf21af71cabbfe695d1554f1e4 10-Apr-2009 Bill Wendling <isanbard@gmail.com> Pass in the std::string parameter instead of returning it by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68747 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
a6f02fbb7523535da75d27c113a0e308cb05ac8c 10-Apr-2009 Bill Wendling <isanbard@gmail.com> Constify getter methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68745 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
4226f4f0f9da548c575e6b7a423429627262529f 10-Apr-2009 Bill Wendling <isanbard@gmail.com> Constify getter methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68745 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
f34be827ac3bb257939e31575fcfc9ef27b94306 10-Apr-2009 Bill Wendling <isanbard@gmail.com> StringMap<DIE*>::iterator::first() returns a pointer to the first character of
the key. This will cause it to create a new std::string, which isn't
wanted. Instead, pass back the "const char*". Modify the EmitString() method to
take a "const char*".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68741 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
3f94b4106c44640306f2448ffad7a69aea665734 10-Apr-2009 Bill Wendling <isanbard@gmail.com> StringMap<DIE*>::iterator::first() returns a pointer to the first character of
the key. This will cause it to create a new std::string, which isn't
wanted. Instead, pass back the "const char*". Modify the EmitString() method to
take a "const char*".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68741 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
972bbac789d1ca00c39b258a6262286a3551da13 09-Apr-2009 Bill Wendling <isanbard@gmail.com> Use a StringMap instead of std::map for storing std::string->DIE* maps. This
gives a micro speedup in the Dwarf writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68728 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e06da4494b282d63bb488d83443a6628e1dd567d 09-Apr-2009 Bill Wendling <isanbard@gmail.com> Use a StringMap instead of std::map for storing std::string->DIE* maps. This
gives a micro speedup in the Dwarf writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68728 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
75b2738d7397639490e6dca231335925f74b8fac 09-Apr-2009 Devang Patel <dpatel@apple.com> If subprogram type is not tagged as DW_TAG_subroutine_type then use it directly as a return value type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68647 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6e199966ef24f2e79a85572b91303a371c76f071 09-Apr-2009 Devang Patel <dpatel@apple.com> If subprogram type is not tagged as DW_TAG_subroutine_type then use it directly as a return value type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68647 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a118c2ee89842346ef2fd332c0fea6b931d79483 08-Apr-2009 Chris Lattner <sabre@nondot.org> change printStringChar to emit characters as unsigned char instead of char,
avoiding sign extension for the top octet. For "negative" chars, we'd print
stuff like:

.asciz "\702...
now we print:
.asciz "\302...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68577 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e2d4bf7738f0b4af58de7283543f600d1ca8bfc3 08-Apr-2009 Chris Lattner <sabre@nondot.org> change printStringChar to emit characters as unsigned char instead of char,
avoiding sign extension for the top octet. For "negative" chars, we'd print
stuff like:

.asciz "\702...
now we print:
.asciz "\302...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68577 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
42bf74be1402df7409efbea089310d4c276fde37 25-Mar-2009 Evan Cheng <evan.cheng@apple.com> CodeGen still defaults to non-verbose asm, but llc now overrides it and default to verbose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67668 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
42ceb47150b2d423f9668c7b128b90927ac22cb0 25-Mar-2009 Evan Cheng <evan.cheng@apple.com> CodeGen still defaults to non-verbose asm, but llc now overrides it and default to verbose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67668 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
86bda4174a90eff1305e51b0407a47a8dcecbe7b 25-Mar-2009 Devang Patel <dpatel@apple.com> Do not ignore DW_TAG_class_type!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67661 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
093536027f0958cae15fde9db70042826cb6f718 25-Mar-2009 Devang Patel <dpatel@apple.com> Do not ignore DW_TAG_class_type!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67661 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f1c0ae9de5365a578fbdfebe4625fb281b0be592 24-Mar-2009 Evan Cheng <evan.cheng@apple.com> Do not emit comments unless -asm-verbose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67580 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
11db8142e9de9bec53cf8dda1a2ac5eb85796805 24-Mar-2009 Evan Cheng <evan.cheng@apple.com> Do not emit comments unless -asm-verbose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67580 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1b25cb2416c46a6cebf2a6c52235e9fe46a10d11 23-Mar-2009 Dale Johannesen <dalej@apple.com> Fix internal representation of fp80 to be the
same as a normal i80 {low64, high16} rather
than its own {high64, low16}. A depressing number
of places know about this; I think I got them all.
Bitcode readers and writers convert back to the old
form to avoid breaking compatibility.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67562 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0a92eac9ca4726f6abae09da011f6b6c708efb42 23-Mar-2009 Dale Johannesen <dalej@apple.com> Fix internal representation of fp80 to be the
same as a normal i80 {low64, high16} rather
than its own {high64, low16}. A depressing number
of places know about this; I think I got them all.
Bitcode readers and writers convert back to the old
form to avoid breaking compatibility.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67562 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
697cbbfb00c318f98d6eb51945f077e2bfe8781e 20-Mar-2009 Evan Cheng <evan.cheng@apple.com> For inline asm output operand that matches an input. Encode the input operand index in the high bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67387 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9216740fcc17e9442241a19034e9c1ad9cd65bc2 20-Mar-2009 Evan Cheng <evan.cheng@apple.com> For inline asm output operand that matches an input. Encode the input operand index in the high bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67387 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1606e8e4cd937e6de6681f686c266cf61722d972 13-Mar-2009 Evan Cheng <evan.cheng@apple.com> Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections), and potentially other issues.

1. ConstantPoolSDNode alignment field is log2 value of the alignment requirement. This is not consistent with other SDNode variants.
2. MachineConstantPool alignment field is also a log2 value.
3. However, some places are creating ConstantPoolSDNode with alignment value rather than log2 values. This creates entries with artificially large alignments, e.g. 256 for SSE vector values.
4. Constant pool entry offsets are computed when they are created. However, asm printer group them by sections. That means the offsets are no longer valid. However, asm printer uses them to determine size of padding between entries.
5. Asm printer uses expensive data structure multimap to track constant pool entries by sections.
6. Asm printer iterate over SmallPtrSet when it's emitting constant pool entries. This is non-deterministic.


Solutions:
1. ConstantPoolSDNode alignment field is changed to keep non-log2 value.
2. MachineConstantPool alignment field is also changed to keep non-log2 value.
3. Functions that create ConstantPool nodes are passing in non-log2 alignments.
4. MachineConstantPoolEntry no longer keeps an offset field. It's replaced with an alignment field. Offsets are not computed when constant pool entries are created. They are computed on the fly in asm printer and JIT.
5. Asm printer uses cheaper data structure to group constant pool entries.
6. Asm printer compute entry offsets after grouping is done.
7. Change JIT code to compute entry offsets on the fly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66875 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
68c1868c4bdc04cd319ea92662aa5aaccf6ac378 13-Mar-2009 Evan Cheng <evan.cheng@apple.com> Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections), and potentially other issues.

1. ConstantPoolSDNode alignment field is log2 value of the alignment requirement. This is not consistent with other SDNode variants.
2. MachineConstantPool alignment field is also a log2 value.
3. However, some places are creating ConstantPoolSDNode with alignment value rather than log2 values. This creates entries with artificially large alignments, e.g. 256 for SSE vector values.
4. Constant pool entry offsets are computed when they are created. However, asm printer group them by sections. That means the offsets are no longer valid. However, asm printer uses them to determine size of padding between entries.
5. Asm printer uses expensive data structure multimap to track constant pool entries by sections.
6. Asm printer iterate over SmallPtrSet when it's emitting constant pool entries. This is non-deterministic.


Solutions:
1. ConstantPoolSDNode alignment field is changed to keep non-log2 value.
2. MachineConstantPool alignment field is also changed to keep non-log2 value.
3. Functions that create ConstantPool nodes are passing in non-log2 alignments.
4. MachineConstantPoolEntry no longer keeps an offset field. It's replaced with an alignment field. Offsets are not computed when constant pool entries are created. They are computed on the fly in asm printer and JIT.
5. Asm printer uses cheaper data structure to group constant pool entries.
6. Asm printer compute entry offsets after grouping is done.
7. Change JIT code to compute entry offsets on the fly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66875 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0582ae99ba75a556d6ff63b254da327d32ba036f 13-Mar-2009 Bill Wendling <isanbard@gmail.com> Oops...I committed too much.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66867 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f3f16e873f4ab3369a996f2c07c84df94dca2d82 13-Mar-2009 Bill Wendling <isanbard@gmail.com> Oops...I committed too much.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66867 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c7a09ab3110b9462ad9646cb60c22c8527491ad9 13-Mar-2009 Bill Wendling <isanbard@gmail.com> Temporarily XFAIL this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ec6ffc713f5f6e584debda7c55e1b37652e63617 13-Mar-2009 Bill Wendling <isanbard@gmail.com> Temporarily XFAIL this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1362f97018a81f169f7b3a78236c0da6700bdbba 11-Mar-2009 Bill Wendling <isanbard@gmail.com> Put the assignment back at the top of this method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66611 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c1d211d9a99f24a7b810af03cbaf1cef9196e302 11-Mar-2009 Bill Wendling <isanbard@gmail.com> Put the assignment back at the top of this method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66611 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
dd446324982c1b54d6ecc756d2eff9ce37e6e5c1 11-Mar-2009 Bill Wendling <isanbard@gmail.com> Make ivars private. Other cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66607 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
15afa0070717e7319d7e5eaf246bf7bfca5baf90 11-Mar-2009 Bill Wendling <isanbard@gmail.com> Make ivars private. Other cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66607 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
68edf5f68a9e25120f06ab30e064a869eb83018e 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66591 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
148ecc436873b2226d15f5a51a2428819c0f65d4 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66591 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
fc232b08f348f778e34e98e70168cf2dd1074f63 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Don't put static functions in anonymous namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66589 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e0e2df4cc3f9f31920640c6992396b7296bc2fa6 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Don't put static functions in anonymous namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66589 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7b69720ff42cad9b3eabe273a21948d23e220caf 10-Mar-2009 Bill Wendling <isanbard@gmail.com> These should *stop* the timer, not start it again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66586 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
0be24759002b31127bd7a6004d2275925cad28c9 10-Mar-2009 Bill Wendling <isanbard@gmail.com> These should *stop* the timer, not start it again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66586 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e9e960ff55594d503d59b3ccc002d2cd5e4ffa67 10-Mar-2009 Bill Wendling <isanbard@gmail.com> - Fix misspelled method name.
- Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66585 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
df25fd6da2e09fd625995ac4cb912e04485b8a9c 10-Mar-2009 Bill Wendling <isanbard@gmail.com> - Fix misspelled method name.
- Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66585 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c8615e4d3955dc14f78fc426dbfe3e9e9dc8c009 10-Mar-2009 Bill Wendling <isanbard@gmail.com> - Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls
GetOrCreateSourceID, of course.

- Move some methods into the "private" section. Constify at least one method.

- General clean-ups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66582 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
278a392595eebca8a7252e52bf771eb443bd2f6a 10-Mar-2009 Bill Wendling <isanbard@gmail.com> - Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls
GetOrCreateSourceID, of course.

- Move some methods into the "private" section. Constify at least one method.

- General clean-ups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66582 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
163ba3fa39f015b694f43915e829df7c03fe9a5c 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Refine the Dwarf writer timers so that they measure exception writing and debug
writing individually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66577 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d9308a66615a9d3f2a1cc829885f8fb31493a19e 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Refine the Dwarf writer timers so that they measure exception writing and debug
writing individually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66577 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
91b8b8010a55ca2969f379e6a110420afbbac12e 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Add a timer to the DwarfWriter pass that measures the total time it takes to
emit exception and debug Dwarf info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66571 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
cb3661fd9d448bfd7b7e7e10a8cd01d3acf8c2a7 10-Mar-2009 Bill Wendling <isanbard@gmail.com> Add a timer to the DwarfWriter pass that measures the total time it takes to
emit exception and debug Dwarf info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66571 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3e0cc2634e861b789850b5103efcc8898bf14c4c 10-Mar-2009 Chris Lattner <sabre@nondot.org> wire up support for emitting "special" values from inline asm
format strings with the standard ${:foo} syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66527 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6af4803b03c1af7c326678d4af641f76a4ffbed6 10-Mar-2009 Chris Lattner <sabre@nondot.org> wire up support for emitting "special" values from inline asm
format strings with the standard ${:foo} syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66527 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ea3a9ff53d699bc22fcff52dbbce8aab6578a020 09-Mar-2009 Chris Lattner <sabre@nondot.org> just remove the use_empty() check entirely, the only reason it
existed was for llvm-gcc 3.4 (which used the __main hack) which
is really really long dead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66417 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1e0e4896a635b3a82eab996f58e77e0a5ba537bd 09-Mar-2009 Chris Lattner <sabre@nondot.org> just remove the use_empty() check entirely, the only reason it
existed was for llvm-gcc 3.4 (which used the __main hack) which
is really really long dead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66417 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
f231c07228deb75b6cd5ae7c9c057bc8303c6998 09-Mar-2009 Chris Lattner <sabre@nondot.org> Make the code generator rip of dead constant expr uses before deciding
whether a global is dead or not. This should fix PR3749 - linker adds
spurious use to appending globals. I can't reasonably add a testcase
for this, because the bc writer/reader strip dead constant users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66404 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0c433e93020a7c1ab9edfcae3073a9322daa7225 09-Mar-2009 Chris Lattner <sabre@nondot.org> Make the code generator rip of dead constant expr uses before deciding
whether a global is dead or not. This should fix PR3749 - linker adds
spurious use to appending globals. I can't reasonably add a testcase
for this, because the bc writer/reader strip dead constant users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66404 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ccbdc7ab82792ac5d7863ef086f11fb010d88073 09-Mar-2009 Bill Wendling <isanbard@gmail.com> Pass in a std::string when getting the names of debugging things. This cuts down
on the number of times a std::string is created and copied.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66396 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1c5842ba9921d6e1360ad6c859da81186545473a 09-Mar-2009 Bill Wendling <isanbard@gmail.com> Pass in a std::string when getting the names of debugging things. This cuts down
on the number of times a std::string is created and copied.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66396 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 07-Mar-2009 Duncan Sands <baldrick@free.fr> Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
19d161f714b83cd850fe489aa3fdaa3d3744157b 07-Mar-2009 Duncan Sands <baldrick@free.fr> Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9ac08d6a67a66c4f5deea23f152629756defcaf1 27-Feb-2009 Devang Patel <dpatel@apple.com> It is possible that subprgoram definition is only encoding return value directly, instsad of an DIArray of all argument types.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65643 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
688a19fa3d7f9b5d746d402408a97de51af00b27 27-Feb-2009 Devang Patel <dpatel@apple.com> It is possible that subprgoram definition is only encoding return value directly, instsad of an DIArray of all argument types.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65643 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
053372dc3c25c5442b7349c612104e15c41233e8 25-Feb-2009 Devang Patel <dpatel@apple.com> Print variable's display name in dwarf DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65468 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
906baaff77cc9fe453b986d63887a308f322fc24 25-Feb-2009 Devang Patel <dpatel@apple.com> Print variable's display name in dwarf DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65468 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e3d423244ae288b2c9021dbb3cd7fb973d1cfc31 25-Feb-2009 Evan Cheng <evan.cheng@apple.com> Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior.

This is a very minor compile time win.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65438 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3e2889135e4b11ec59744f6aae9d8f4ed64a28bb 25-Feb-2009 Evan Cheng <evan.cheng@apple.com> Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior.

This is a very minor compile time win.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65438 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
57f0db833dc30404f1f5d28b23df326e520698ec 24-Feb-2009 Bill Wendling <isanbard@gmail.com> Overhaul my earlier submission due to feedback. It's a large patch, but most of
them are generic changes.

- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.

- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4f40531823c2b995149ff3a1b721171ad6942363 24-Feb-2009 Bill Wendling <isanbard@gmail.com> Overhaul my earlier submission due to feedback. It's a large patch, but most of
them are generic changes.

- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.

- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65379 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
002ec1482c83003c6aef841395271aa5993d916a 24-Feb-2009 Devang Patel <dpatel@apple.com> gdb uses DW_AT_prototyped to identify K&R style in C based languages.
This fixes objc.dg/dwarf-prototypes.m scan-assembler DW_AT_prototyped from llvmgcc42 test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65357 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e075e070412587f083cdca3cb2708a61ab87eaa5 24-Feb-2009 Devang Patel <dpatel@apple.com> gdb uses DW_AT_prototyped to identify K&R style in C based languages.
This fixes objc.dg/dwarf-prototypes.m scan-assembler DW_AT_prototyped from llvmgcc42 test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65357 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
53cac18cca61265304056de670cea39870f28315 24-Feb-2009 Devang Patel <dpatel@apple.com> If there is not any debug info available for any global variables and any subprograms then there is not any debug info to emit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65352 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a9169c3c829dbafa8fe0a95efafa9e26791f3e57 24-Feb-2009 Devang Patel <dpatel@apple.com> If there is not any debug info available for any global variables and any subprograms then there is not any debug info to emit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65352 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b5bd026a756d8650f2a94607c9b1dc34cf1c024a 21-Feb-2009 Anton Korobeynikov <asl@math.spbu.ru> Drop bunch of half-working stuff in the ext_weak linkage support.
Now we're using one gross, but quite robust hack :) (previous ones
did not work, for example, when ext_weak symbol was used deep inside
constant expression in the initializer).

The proper fix of this problem will require some quite huge asmprinter
changes and that's why was postponed. This fixes PR3629 by the way :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65230 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
480218b6bdd0a22638a7ff7d9db757753f1c2dc4 21-Feb-2009 Anton Korobeynikov <asl@math.spbu.ru> Drop bunch of half-working stuff in the ext_weak linkage support.
Now we're using one gross, but quite robust hack :) (previous ones
did not work, for example, when ext_weak symbol was used deep inside
constant expression in the initializer).

The proper fix of this problem will require some quite huge asmprinter
changes and that's why was postponed. This fixes PR3629 by the way :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65230 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9a65cfe7dd7662558b45bcba46b11ee52c4bbf6c 20-Feb-2009 Bill Wendling <isanbard@gmail.com> - Early exit a nested block.
- Correct comment.
- Whitespace changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65149 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e0f3a26a0e0ada020daa3eab30022116d96c691e 20-Feb-2009 Bill Wendling <isanbard@gmail.com> - Early exit a nested block.
- Correct comment.
- Whitespace changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65149 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4ed0c5fb07a2a4db3dd1e6a266ba961429aba2ec 20-Feb-2009 Bill Wendling <isanbard@gmail.com> Add an accessor method to DwarfWriter to tell of debugging info should be emitted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65092 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
50db0795c6592773206fbbda4d8cd73f7ecd9eb7 20-Feb-2009 Bill Wendling <isanbard@gmail.com> Add an accessor method to DwarfWriter to tell of debugging info should be emitted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65092 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f2ec7e4a20c1d3b0cd84943f1b37af196f15667b 18-Feb-2009 Devang Patel <dpatel@apple.com> The subprogram die may not exist while creating "default" scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64920 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7f3f1983980c71b854821c3f27cf8e71eb3a2810 18-Feb-2009 Devang Patel <dpatel@apple.com> The subprogram die may not exist while creating "default" scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64920 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
13319ceffdd99d153e62011c5dda08b95e3279e3 17-Feb-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
74193d7985574276506f66644ae06ab2f8db1484 17-Feb-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
36375ee7a584343fabaf20630326f1848263bce6 17-Feb-2009 Devang Patel <dpatel@apple.com> Emit debug info for bitfields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64815 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f1f30d4f47a32392c93f4d00e47af7519f331fa7 17-Feb-2009 Devang Patel <dpatel@apple.com> Emit debug info for bitfields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64815 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2303df96b05077b085db64274cd0e3ade452e715 10-Feb-2009 Devang Patel <dpatel@apple.com> Validate file id.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64204 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d94b693c76dfd3c6815a6bef51748f645098650d 10-Feb-2009 Devang Patel <dpatel@apple.com> Validate file id.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64204 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4798bbeaf5a76a83f2aa923b0abc792e01ac3be7 05-Feb-2009 Chris Lattner <sabre@nondot.org> if we have a large GEP offset on a 32-bit or other target, make
sure to print the value properly sext'd to the right pointer size.
This fixes PR3481.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63843 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
911129a738ab05b01cdd058b1f7e3c162a172251 05-Feb-2009 Chris Lattner <sabre@nondot.org> if we have a large GEP offset on a 32-bit or other target, make
sure to print the value properly sext'd to the right pointer size.
This fixes PR3481.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63843 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ef7e18e60ca10d63ce64bfc9aba918d35717926b 03-Feb-2009 Bill Wendling <isanbard@gmail.com> More whitespace fixin'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63663 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6baa18d426d0cea4dd9f722d903289a72f541041 03-Feb-2009 Bill Wendling <isanbard@gmail.com> More whitespace fixin'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63663 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b9dcef2a00f1ac35442393c951c21272527c8625 03-Feb-2009 Bill Wendling <isanbard@gmail.com> Whitespace and comment changes. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63660 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
824a8bfab684b9d7579d10d9478afaf69399a075 03-Feb-2009 Bill Wendling <isanbard@gmail.com> Whitespace and comment changes. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63660 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d5863dd9a806300bd020b80de3067fd36ac213c6 02-Feb-2009 Devang Patel <dpatel@apple.com> Do not add redundant arguments in a method definition DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63527 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ace2cf616a50de819a4f16e1b438e723ab9feee2 02-Feb-2009 Devang Patel <dpatel@apple.com> Do not add redundant arguments in a method definition DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63527 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
dd9db6688283639a0c95f8ed67beb1bd54b5fff4 30-Jan-2009 Devang Patel <dpatel@apple.com> Each input file is encoded as a separate compile unit in LLVM debugging
information output. However, many target specific tool chains prefer to encode
only one compile unit in an object file. In this situation, the LLVM code
generator will include debugging information entities in the compile unit
that is marked as main compile unit. The code generator accepts maximum one main
compile unit per module. If a module does not contain any main compile unit
then the code generator will emit multiple compile units in the output object
file.

[Part 1]

Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit to mark the unit as "main" unit. By defaults all units are considered non-main. Update SourceLevelDebugging.html to document "main" compile unit.

Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here.

Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit.

[Part 2]

Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs.

---

This is Part 1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2ae1db58fa5fe9e7e76809e2038188f90d1421bf 30-Jan-2009 Devang Patel <dpatel@apple.com> Each input file is encoded as a separate compile unit in LLVM debugging
information output. However, many target specific tool chains prefer to encode
only one compile unit in an object file. In this situation, the LLVM code
generator will include debugging information entities in the compile unit
that is marked as main compile unit. The code generator accepts maximum one main
compile unit per module. If a module does not contain any main compile unit
then the code generator will emit multiple compile units in the output object
file.

[Part 1]

Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit to mark the unit as "main" unit. By defaults all units are considered non-main. Update SourceLevelDebugging.html to document "main" compile unit.

Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here.

Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit.

[Part 2]

Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs.

---

This is Part 1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c8d7bc850ddf5a5df503a173b0bc0f8c03ffec96 30-Jan-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Enable emitting of constant values in non-default address space as well. The APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dc2943d9f6c2f65a39d9d71c12f09f7c49d59839 30-Jan-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Enable emitting of constant values in non-default address space as well. The APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63377 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6360089d632fcb90c001b81f4735364c36848246 30-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code, again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63358 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
003ccbd68e5ab92944fcaba4c0fb4f536ba73e3e 30-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code, again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63358 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
425b64ecef77ff30154aeea9a8be14938be5f6a6 30-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63357 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
24f9fb268b6d3e547812c1c23ee11778c812a15c 30-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63357 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d234e59e577ef93fc52492b92f613898a96d9f24 30-Jan-2009 Devang Patel <dpatel@apple.com> Add DW_AT_declaration for class methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63356 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
922d159cbd130103ab085ed469e680aa93ec1bfc 30-Jan-2009 Devang Patel <dpatel@apple.com> Add DW_AT_declaration for class methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63356 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f9235748567e065b3b3c3bd48c3d4dfe1d664e8b 28-Jan-2009 Devang Patel <dpatel@apple.com> Do not forget to derived type while constructing an array type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63233 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6ab30e5d7b61abcbf12520db6fc3a59cd38fbff4 28-Jan-2009 Devang Patel <dpatel@apple.com> Do not forget to derived type while constructing an array type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63233 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
1465d61bdd36cfd6021036a527895f0dd358e97d 28-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getAnalysisToUpdate to getAnalysisIfAvailable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4e0d6a7d48464188a1a25b544a6355326d3fd3bf 28-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getAnalysisToUpdate to getAnalysisIfAvailable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7009d24e8157dbe3689f7f44b64cedf6e1371b84 28-Jan-2009 Devang Patel <dpatel@apple.com> Add type DIE into appropriate context DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63154 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b0cb07ce1d39aaf9253b1d35dc442a6ea895bce3 28-Jan-2009 Devang Patel <dpatel@apple.com> Add type DIE into appropriate context DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63154 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ad165bec1d9c685b21abbc9a7f9b217a748528dd 27-Jan-2009 Devang Patel <dpatel@apple.com> Assorted debug info fixes.
- DW_AT_bit_size is only suitable for bitfields.
- Encode source location info for derived types.
- Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63077 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e34e08820dead3fe7f94fd98c41c3e3ea6995e6b 27-Jan-2009 Devang Patel <dpatel@apple.com> Assorted debug info fixes.
- DW_AT_bit_size is only suitable for bitfields.
- Encode source location info for derived types.
- Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63077 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
210de72cd7b139378f48dafbdac3d3379dd93c56 26-Jan-2009 Scott Michel <scottm@aero.org> Make the Dwarf macro information section optional; CellSPU's assembler
doesn't support it. The default is set to 'true', so this should not
impact any other target backends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63058 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
79f01f5229a51c64b92e8ee56f9a1d8edf95ee57 26-Jan-2009 Scott Michel <scottm@aero.org> Make the Dwarf macro information section optional; CellSPU's assembler
doesn't support it. The default is set to 'true', so this should not
impact any other target backends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63058 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3b64c6bc2916bc62a99ef8a2995a426d994e1a04 23-Jan-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
a880b1e4f308b64f45997f6eb5f8cd64a88d7a96 23-Jan-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
80303aade2b473004bde914db6c368a77af0f8a8 23-Jan-2009 Devang Patel <dpatel@apple.com> Empty DIType represents void. In this case no need to construct any type DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62861 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
165ed51875baf34e005543dfeabb6816685a0cfc 23-Jan-2009 Devang Patel <dpatel@apple.com> Empty DIType represents void. In this case no need to construct any type DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62861 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a608687f3ebaec77250efd1bff645e1b1b274b99 23-Jan-2009 Devang Patel <dpatel@apple.com> Code did not follow associated comment. not a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62828 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b80597aae8896dbe1a7a90d58611b27e9076e3f6 23-Jan-2009 Devang Patel <dpatel@apple.com> Code did not follow associated comment. not a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62828 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
49f38cb32ff49ae165a97e3e71ac7e941231e251 23-Jan-2009 Devang Patel <dpatel@apple.com> Set appropriate tag for the composite type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62827 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
8050bd7227a0b9717fe2cc42128de806efeedbba 23-Jan-2009 Devang Patel <dpatel@apple.com> Set appropriate tag for the composite type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62827 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bbfa244b2fa986c53a1bcf38b6dd0fea082afaaa 23-Jan-2009 Chris Lattner <sabre@nondot.org> do not sign extend characters input to isprint. This improves
compatibility with VC++. Patch by Max Burke!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62813 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
07ec1469b9a4dc1fef0a4bd92f49a417f8eb9a54 23-Jan-2009 Chris Lattner <sabre@nondot.org> do not sign extend characters input to isprint. This improves
compatibility with VC++. Patch by Max Burke!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62813 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
fcc6f1556efb386af47293d9f8599bab2b34321c 22-Jan-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Few targets like the tiny little PIC16 have only 16-bit pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62763 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8a44cfbae54d9a0e8e42c292c4f995d60bb65a97 22-Jan-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Few targets like the tiny little PIC16 have only 16-bit pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62763 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
476615934a74a313a691413230d249889cfaa2f8 21-Jan-2009 Devang Patel <dpatel@apple.com> Encode member accessibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62638 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2e7ee195f48ab055a04ad0aa4b4bee9d45fbcddc 21-Jan-2009 Devang Patel <dpatel@apple.com> Encode member accessibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62638 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2a574669f3aed5951dcd62fa14c25dcde4d1a754 20-Jan-2009 Devang Patel <dpatel@apple.com> Appropriately mark fowrad decls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62625 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
30b75bbb1415450452300a984467b71bf9a2ba1e 20-Jan-2009 Devang Patel <dpatel@apple.com> Appropriately mark fowrad decls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62625 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2be5893a0417313813739940b0347755234d2cc3 20-Jan-2009 Devang Patel <dpatel@apple.com> Fix struct member's debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62610 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5c64389e78bafc0f3cd2b2e1163f87a29d223565 20-Jan-2009 Devang Patel <dpatel@apple.com> Fix struct member's debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62610 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6906ba52f050a6608502987e754a622f5c5111a6 20-Jan-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
b49710a37d1ac49ede305158ac5e1a2b094d8218 20-Jan-2009 Devang Patel <dpatel@apple.com> 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
warfWriter.cpp
9ec50ab3f88f512739b383a13c739f77567c9dbe 20-Jan-2009 Devang Patel <dpatel@apple.com> Fix global variable's address in a DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62596 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2072db8bcaacab45e3b8661b498d2e4d07640add 20-Jan-2009 Devang Patel <dpatel@apple.com> Fix global variable's address in a DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62596 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
eab4a2e8ac909b0ca420380634403616566d63fa 20-Jan-2009 Devang Patel <dpatel@apple.com> Enable debug info for enums.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62594 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3798f49090a9413c112e3e67586effc8e8193443 20-Jan-2009 Devang Patel <dpatel@apple.com> Enable debug info for enums.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62594 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ce31b027e7891da951f1036465e8d82dd0bd3297 20-Jan-2009 Devang Patel <dpatel@apple.com> Enable debug info for composite types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62589 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
08f0de37af9e3d85aced21234ebb637cdb20e818 20-Jan-2009 Devang Patel <dpatel@apple.com> Enable debug info for composite types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62589 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c2997f4a34eb544ca6ec85a5c9190feb998fc7a8 20-Jan-2009 Devang Patel <dpatel@apple.com> Do not use DenseMap because the iterator is invalidated while constructing types. After all there was a reason why std::map was used initially!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62555 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
56b1d1384e645593e99bfe15ef08b802f5bf2b00 20-Jan-2009 Devang Patel <dpatel@apple.com> Do not use DenseMap because the iterator is invalidated while constructing types. After all there was a reason why std::map was used initially!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62555 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b79b5359fbe44bc82bedff2c081ed1db787f8d49 20-Jan-2009 Devang Patel <dpatel@apple.com> Verify debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62545 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
208098ba9cdd450ea53c98a66e174ffaa210fd2e 20-Jan-2009 Devang Patel <dpatel@apple.com> Verify debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62545 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2d1768ca523dca409bab70ce29955875f58dddb8 17-Jan-2009 Devang Patel <dpatel@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62423 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
245446cbbce0ae340c9f562fab60c1ff5979584b 17-Jan-2009 Devang Patel <dpatel@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62423 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5aac3d3707adef14df2a59a80f622c2896927d2b 17-Jan-2009 Devang Patel <dpatel@apple.com> Refactor code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62421 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b28de84fcc7c6ebed91f35ac035d4bd4d7c77a93 17-Jan-2009 Devang Patel <dpatel@apple.com> Refactor code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62421 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7ab24506746a25959b67caffa4b18d5fb62a60d2 17-Jan-2009 Devang Patel <dpatel@apple.com> Assign argument type to appropriate DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62412 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d40a7e5afb414c1892c4b8cccd79702c84e19946 17-Jan-2009 Devang Patel <dpatel@apple.com> Assign argument type to appropriate DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62412 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7e55b3a6638682a62f95bbcbf4ac94b8120b2988 17-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62410 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5302e67b2739b0cd1d171d445723fbfab982f44e 17-Jan-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62410 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2d91d18ba1c815c18ba7bd4ed9e3045eb40d0f76 17-Jan-2009 Devang Patel <dpatel@apple.com> Disable composite type debug info for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62406 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
79faa60cf1b5a7f30c885c35343a9d5b7ee5ff72 17-Jan-2009 Devang Patel <dpatel@apple.com> Disable composite type debug info for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62406 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
07354e532b0df9b2a6ec6fd7321614d7132437ee 16-Jan-2009 Devang Patel <dpatel@apple.com> Fix comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62358 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9b82945fd1cc03480cd0c976ef13144100cf5a3b 16-Jan-2009 Devang Patel <dpatel@apple.com> Fix comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62358 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
99ec3538b8ab8f599610d72e9c472de516d975e5 16-Jan-2009 Devang Patel <dpatel@apple.com> Use lightweight DebugInfo objects directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62341 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7c8a2776a7886662c6489d6c1b2c736905cc9282 16-Jan-2009 Devang Patel <dpatel@apple.com> Use lightweight DebugInfo objects directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62341 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7103c6a993af878ebd9767e344a33919dc2c4342 16-Jan-2009 Devang Patel <dpatel@apple.com> Align source code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62328 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
49a3bd96ee6d2222b84cfbacb515c7805fddcbe3 16-Jan-2009 Devang Patel <dpatel@apple.com> Align source code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62328 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2388a588bdf32610e18a66c0c6ef248087fd1cdc 16-Jan-2009 Mikhail Glushenkov <foldr@codedgers.com> 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
camlGCPrinter.cpp
61fc6c80cf9d50c19fe46decedc592251918d78d 16-Jan-2009 Mikhail Glushenkov <foldr@codedgers.com> 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
camlGCPrinter.cpp
5c1799b29375fcd899f67a31fb4dda4ef3e2127f 16-Jan-2009 Mikhail Glushenkov <foldr@codedgers.com> Delete trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62307 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
26e9aed70cc520d39e32813513217163ff254e72 16-Jan-2009 Mikhail Glushenkov <foldr@codedgers.com> Delete trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62307 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
5be935536f490003ecc8f93525063a859c7caf63 16-Jan-2009 Devang Patel <dpatel@apple.com> Validate debug info values only if DwarfDebug is initialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62298 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
943af62b037eb32943a3fe166e680d5623dd0a23 16-Jan-2009 Devang Patel <dpatel@apple.com> Validate debug info values only if DwarfDebug is initialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62298 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
61c6bf37ef7d6066d12efa40639d67e7caf14b2d 16-Jan-2009 Devang Patel <dpatel@apple.com> Any debug info symbol is only valid if atleast one compile unit is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62294 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4d92dded2f5b2820ff44b947fd74483bc85abe5a 16-Jan-2009 Devang Patel <dpatel@apple.com> Any debug info symbol is only valid if atleast one compile unit is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62294 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
153745cc1f82fdfc66b5e68c9146d3339cbebf73 16-Jan-2009 Devang Patel <dpatel@apple.com> Do not stumble over forward declared struct member.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62288 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
cf7acb10bcb056c56da28e70879eb8444e2d949f 16-Jan-2009 Devang Patel <dpatel@apple.com> Do not stumble over forward declared struct member.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62288 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
cf3a4487c0627d15d03fb6fedc10b58f6e2c9ebe 16-Jan-2009 Devang Patel <dpatel@apple.com> Validate dbg_* intrinsics before lowering them.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62286 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2da0cc4c377b09f2d52689a5095f0960750e30c4 16-Jan-2009 Devang Patel <dpatel@apple.com> Validate dbg_* intrinsics before lowering them.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62286 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bb46f52027416598a662dc1c58f48d9d56b1a65b 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com> Add the private linkage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
a168fc98dedfc8cac01c34f84b699fe5f48ad76d 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com> Add the private linkage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
f193ff05909c2de373032f773e76804474b1ef4e 15-Jan-2009 Devang Patel <dpatel@apple.com> Use lightweight DebugInfo objects directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62276 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ef4bf3b063ea20732c4647c6f2d5d77caf907578 15-Jan-2009 Devang Patel <dpatel@apple.com> Use lightweight DebugInfo objects directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62276 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
0e5200f3fd4c884e41f003cd57e75f6aca625cbd 15-Jan-2009 Devang Patel <dpatel@apple.com> Use variable's context to identify respective DbgScope.
Use light weight DebugInfo object directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62269 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2560d923c0b48c202d430f8bc6b094f2952894d2 15-Jan-2009 Devang Patel <dpatel@apple.com> Use variable's context to identify respective DbgScope.
Use light weight DebugInfo object directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62269 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4548d973998ceb254a6f69836d64210449dfaec7 14-Jan-2009 Devang Patel <dpatel@apple.com> Do not construct debug scope if RootScope *is* null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62209 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d8423f651381e16b77897ba417222819b883bc6a 14-Jan-2009 Devang Patel <dpatel@apple.com> Do not construct debug scope if RootScope *is* null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62209 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bbdc8207d587026212e176026d3e37ae043a6661 14-Jan-2009 Devang Patel <dpatel@apple.com> Removoe MachineModuleInfo methods (and related DebugInfoDesc class hierarchy) that were used to handle debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62199 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
42f6bed060d1c8b242acf605cf1ecd8ce05f04a3 14-Jan-2009 Devang Patel <dpatel@apple.com> Removoe MachineModuleInfo methods (and related DebugInfoDesc class hierarchy) that were used to handle debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62199 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e2051627b81c713fd29f61ce6d4424d0388cc37d 14-Jan-2009 Devang Patel <dpatel@apple.com> Keep "has debug info" big in MachineModuleInfo to avoid circular dependency between AsmPrinter and CodeGen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62191 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
86cfa40b308ff5bf55d77fa946f7294572d7ccaf 14-Jan-2009 Devang Patel <dpatel@apple.com> Keep "has debug info" big in MachineModuleInfo to avoid circular dependency between AsmPrinter and CodeGen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62191 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
35fe7344aedec52c3fa048237e8554f97dff9182 13-Jan-2009 Devang Patel <dpatel@apple.com> Undo previous checkin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62190 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
fb3a488e60c23d05db946b900e2184332e9d62bb 13-Jan-2009 Devang Patel <dpatel@apple.com> Undo previous checkin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62190 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c48c550e1322aebfbe35c7570891619db43bdb9b 13-Jan-2009 Devang Patel <dpatel@apple.com> Use DwarfWriter to record dbg variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62185 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
fe359e7dc51edffc6045beb6a8d4cefd2d4daae1 13-Jan-2009 Devang Patel <dpatel@apple.com> Use DwarfWriter to record dbg variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62185 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
bb8c5959c83504fbc438e6efade30fa4b70a25b6 13-Jan-2009 Devang Patel <dpatel@apple.com> Use dwarf writer to decide whether the module has debug info or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62184 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
70190877b7aff395f931cc568f376a07d0ba416e 13-Jan-2009 Devang Patel <dpatel@apple.com> Use dwarf writer to decide whether the module has debug info or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62184 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7bb89ed33c590717b509e700180baa9fdbbd0a93 13-Jan-2009 Devang Patel <dpatel@apple.com> Start using DebugInfo API to emit debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62125 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6ccd57e4a1793a91a32362fb55c3fa72f54e20c7 13-Jan-2009 Devang Patel <dpatel@apple.com> Start using DebugInfo API to emit debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62125 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
3f7833a27364f112d7d54fd3b98517cd82433415 13-Jan-2009 Devang Patel <dpatel@apple.com> Emit debug info, only if at least one compile unit is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62118 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
91d27b09b7ed922f52d79ed69513debc258cd7ea 13-Jan-2009 Devang Patel <dpatel@apple.com> Emit debug info, only if at least one compile unit is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62118 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
72b663575f670050f329b78ac0de34476fbae66f 13-Jan-2009 Devang Patel <dpatel@apple.com> If multiple compile units are seen then emit them independently. In other words, do not force all DIEs into first, whatever it is, compile unit.

Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62116 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6eae283d4962b1c38d3c6fa0100c0d605f6f4100 13-Jan-2009 Devang Patel <dpatel@apple.com> If multiple compile units are seen then emit them independently. In other words, do not force all DIEs into first, whatever it is, compile unit.

Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62116 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f6bac3e4bd9502266dab49eef26266a092e8c85b 12-Jan-2009 Devang Patel <dpatel@apple.com> Avoid cast<>, use light weith wrapper directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62115 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
57ec9acc70150b4e8f652179287fc51077c3691d 12-Jan-2009 Devang Patel <dpatel@apple.com> Avoid cast<>, use light weith wrapper directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62115 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f3ee51441909cf1accfcce4c9b5b9f851e2c07b6 12-Jan-2009 Devang Patel <dpatel@apple.com> Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62114 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
35a078f525bc41276f479a0c0014e0a30b690569 12-Jan-2009 Devang Patel <dpatel@apple.com> Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62114 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ceb4d1aecb9deffe59b3dcdc9a783ffde8477be9 12-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getABITypeSize to getTypePaddedSize, as
suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d68f13bf716faa496767a21140fab558adddc19a 12-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getABITypeSize to getTypePaddedSize, as
suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ccca7fe6a30ec536de3823c0867806c1f86b2212 12-Jan-2009 Devang Patel <dpatel@apple.com> Add DwarfWriter interface to mainipulate source location info.
( May be this info should be directly handled by the dwarf writer ? )


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62096 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
cb59fd4ca7f3e796a6186fb7585c67234254bc67 12-Jan-2009 Devang Patel <dpatel@apple.com> Add DwarfWriter interface to mainipulate source location info.
( May be this info should be directly handled by the dwarf writer ? )


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62096 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
481ff5be9d88c057874d087244a6352af2597867 12-Jan-2009 Devang Patel <dpatel@apple.com> Clear debug info at the end of function processing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62092 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a416295a223c1b4d84646fec2751da32a4bf6428 12-Jan-2009 Devang Patel <dpatel@apple.com> Clear debug info at the end of function processing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62092 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e9bfb0feca1720d2f97911805fdb8582c8941ae2 12-Jan-2009 Devang Patel <dpatel@apple.com> There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62090 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b92249232c7e9033efbb3cef5c122f57c61d5751 12-Jan-2009 Devang Patel <dpatel@apple.com> There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62090 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9795da5aa84ffcfa37cfa5b711dcc216e96d9194 10-Jan-2009 Devang Patel <dpatel@apple.com> Reduce initial small vector sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62023 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
63c22f404d7bfa72bd33547997139dff93e42fe6 10-Jan-2009 Devang Patel <dpatel@apple.com> Reduce initial small vector sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62023 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
0dc969e1ab03925bfc5e5f4d9dda0dc5f93cfa1a 10-Jan-2009 Devang Patel <dpatel@apple.com> Fix thinko. Create parent scope if parent descriptor is *not* null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62022 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
dd49fbbc311d13edacba6593f16cc3254e01c45c 10-Jan-2009 Devang Patel <dpatel@apple.com> Fix thinko. Create parent scope if parent descriptor is *not* null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62022 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9b8f542e2746b28721b3ec603c3aaaa10ea708fc 09-Jan-2009 Misha Brukman <brukman+llvm@gmail.com> Removed trailing whitespace from Makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61991 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
e025bcca322301af5c4a5178b1a64080cb900ec1 09-Jan-2009 Misha Brukman <brukman+llvm@gmail.com> Removed trailing whitespace from Makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61991 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
eb3fc289141ad44883acbb91e839ab1b9a0f2025 09-Jan-2009 Devang Patel <dpatel@apple.com> Convert DwarfWriter into a pass.
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61955 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
aa1e84356d47c78a270b0ebceb434a401e59a5b5 09-Jan-2009 Devang Patel <dpatel@apple.com> Convert DwarfWriter into a pass.
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61955 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9f8fcfc0184cdf7154f6e57b0b7edca9abca7eca 08-Jan-2009 Devang Patel <dpatel@apple.com> Add DebugInfo based APIs to record source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61928 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7dd15a9a913053c217b0673388616d2ea0265a9b 08-Jan-2009 Devang Patel <dpatel@apple.com> Add DebugInfo based APIs to record source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61928 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
2ec78c4a63c47e24c0e7e280b65368af931e8ad5 08-Jan-2009 Devang Patel <dpatel@apple.com> Add APIs to record regions and variables.
Again, shamelessly copied from MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61912 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
100ca32730f4e25dbd8ea989a660f7dbda0c06ee 08-Jan-2009 Devang Patel <dpatel@apple.com> Add APIs to record regions and variables.
Again, shamelessly copied from MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61912 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
7a6e5a35317018be8b0c8b46cf7b85b79b8f7102 08-Jan-2009 Devang Patel <dpatel@apple.com> Add APIs to manage scope using DebugInfo interface.
This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61908 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4d1709e8c65aaaa96eb30db18a6cf27caedadd73 08-Jan-2009 Devang Patel <dpatel@apple.com> Add APIs to manage scope using DebugInfo interface.
This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61908 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5d315989542ffe720d9a835010bd7be957e6a830 06-Jan-2009 Devang Patel <dpatel@apple.com> Set up DwarfDebug using DebugInfo API.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61822 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9304b385967eaa8ba09ac9d59a0cdd17f4483d43 06-Jan-2009 Devang Patel <dpatel@apple.com> Set up DwarfDebug using DebugInfo API.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61822 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5fe1fac1ddcdc7cfd3f22550527afffce704b443 06-Jan-2009 Bill Wendling <isanbard@gmail.com> Forgot that this was needed for Linux. This should fix the builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61819 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
dd9127da4af6f9e068c264ea886b3baf514392b2 06-Jan-2009 Bill Wendling <isanbard@gmail.com> Forgot that this was needed for Linux. This should fix the builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61819 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
78eb6ad6333ba19d8f5ece81f8b3ac57e6747dfc 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct subprogram DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61772 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e6caf011f1697b144b681fa0719d50f6acbe38de 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct subprogram DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61772 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c452324f60561bdc1a3f90b8f7d085beb9487f36 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct global variable DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61771 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
289f236251065219fbc99b0665b8db9430faa7a2 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct global variable DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61771 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d1ca925093b410a60e84cff2ceda7101ba4a1ce7 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct compile unit dies using DebugInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61768 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b3907daf71048e903bfb941df5119f5e66f0e282 06-Jan-2009 Devang Patel <dpatel@apple.com> Construct compile unit dies using DebugInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61768 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d60de5187833d7d818edaab6351244255e1a1007 05-Jan-2009 Bill Wendling <isanbard@gmail.com> Revert r61415 and r61484. Duncan was correct that these weren't needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61765 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
edc2dbef351a9e55014e92bca487dd73647ccf6b 05-Jan-2009 Bill Wendling <isanbard@gmail.com> Revert r61415 and r61484. Duncan was correct that these weren't needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61765 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
8526cc03a51347ab29737d1e5682aa6a7d095b9b 05-Jan-2009 Devang Patel <dpatel@apple.com> Extract source location info from DebugInfo.
Add methods to add source location info in a DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61761 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
5f244e30f2c0e468ab91b12ad6a7706b1023b0fb 05-Jan-2009 Devang Patel <dpatel@apple.com> Extract source location info from DebugInfo.
Add methods to add source location info in a DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61761 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
48d190f4d79a578749839b6132a84728c3a060c5 05-Jan-2009 Devang Patel <dpatel@apple.com> Add type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61757 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
4a4cbe74b60cfe7e88a24dc64ee27a41e2dd740a 05-Jan-2009 Devang Patel <dpatel@apple.com> Add type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61757 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f42153366176779c79b4351c467712041a8af5f9 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct composite type DIE using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61741 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
30c0137caf449dbe78a539c4cb204713bbceef01 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct composite type DIE using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61741 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
e520273172b530dbf3beca445d3a7577262b9361 05-Jan-2009 Devang Patel <dpatel@apple.com> s/ConstructType/ConstructTypeDIE/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61731 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
46d1375df4a44ff23f20ff583c7c4e3e7c417dec 05-Jan-2009 Devang Patel <dpatel@apple.com> s/ConstructType/ConstructTypeDIE/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61731 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
86ae142c51fc29ab870ebf42f6bf8699bca81512 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct stuct field DIEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61729 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
526b01d8501bcdf8434aa2cde410aeff962f56d1 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct stuct field DIEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61729 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c69bf2c832386140d6606eef3febf2d3aa7a64f0 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct enumerator DIE using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61726 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
a566e818c5d4de47684cd5368ac6cea931d8a4a8 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct enumerator DIE using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61726 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
68afdc3ab08975569e59cc8c04c2db9e9478a996 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct array/vector type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61724 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6fb54136d719ee9f225cb7f09cb314b35c91c814 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct array/vector type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61724 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
08f053f5d1df120dc8389a3ec8947ab16b1ccc53 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct basic and derived type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
fc187160d216bb1adca9e8f622c7d2ff9301a6f6 05-Jan-2009 Devang Patel <dpatel@apple.com> Construct basic and derived type DIEs using DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ca03c2705ef6fc2df7c7206e1b5c0e6f69c12c04 05-Jan-2009 Devang Patel <dpatel@apple.com> subsume ConstructPointerType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61711 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bbca50bc7b115d6de34d231faecffe4126e3c658 05-Jan-2009 Devang Patel <dpatel@apple.com> subsume ConstructPointerType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61711 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
9ede3f2f29a44f7b4a46eb453a7fa61985b99cdb 05-Jan-2009 Devang Patel <dpatel@apple.com> subsume ConstructBasicType().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61709 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f49e13de2d369e2e6822e9465abaead9795a4301 05-Jan-2009 Devang Patel <dpatel@apple.com> subsume ConstructBasicType().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61709 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
998dee96d3ca506cf73a617c0b7fc7f0e467a127 29-Dec-2008 Bill Wendling <isanbard@gmail.com> Linux wants the FDE initial location and address range to be forced to 32-bit.
Darwin doesn't. Make this optional for platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61484 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
eeef8b24da1bd1fedef857097f4103057806a035 29-Dec-2008 Bill Wendling <isanbard@gmail.com> Linux wants the FDE initial location and address range to be forced to 32-bit.
Darwin doesn't. Make this optional for platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61484 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
bce452815cffacb7bbccf994ae9d4defeb4af922 29-Dec-2008 Bill Wendling <isanbard@gmail.com> The FDE initial location and address range data should be free to be 64-bit
(quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61483 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
26efcebd4fa6b1289563422369db19e10f608373 29-Dec-2008 Bill Wendling <isanbard@gmail.com> The FDE initial location and address range data should be free to be 64-bit
(quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61483 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
722f5f1cfb9a5e59a4c00986d81b04b0c015703d 24-Dec-2008 Bill Wendling <isanbard@gmail.com> Darwin likes for the EH frame to be non-local.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61420 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
189bde7860b44b8e161b8c47b63478f667f3c05e 24-Dec-2008 Bill Wendling <isanbard@gmail.com> Darwin likes for the EH frame to be non-local.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61420 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d4121bef3cf3af51b80c2d499085a96aca5982ed 24-Dec-2008 Bill Wendling <isanbard@gmail.com> GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
about other platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61415 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6bd1b7965ee376c3f3f56c8fece9005abbc7d057 24-Dec-2008 Bill Wendling <isanbard@gmail.com> GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
about other platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61415 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d0935c3f43aaff478ac55526f2614dd8abe23c8d 23-Dec-2008 Devang Patel <dpatel@apple.com> Fix typo.
Silence unused variable warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61391 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
105a08ab44990946c7f31e884e2363fc6cac87b6 23-Dec-2008 Devang Patel <dpatel@apple.com> Fix typo.
Silence unused variable warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61391 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
00d448a341175556ebd86af68219f5b90b7145a3 22-Dec-2008 Dan Gohman <gohman@apple.com> Refactor a bunch of code out of AsmPrinter::EmitGlobalConstant into separate
functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61345 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
e78b0c73aef0867341782c6d9f2907da3f8a209d 22-Dec-2008 Dan Gohman <gohman@apple.com> Refactor a bunch of code out of AsmPrinter::EmitGlobalConstant into separate
functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61345 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2f6fea90a54787d873cfc25f33668cb4cc7d6e1e 19-Dec-2008 Rafael Espindola <rafael.espindola@gmail.com> Fix bug 3202.
The EH_frame and .eh symbols are now private, except for darwin9 and earlier.
The patch also fixes the definition of PrivateGlobalPrefix on pcc linux.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61242 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
1a93184e2d9beb24b0b9a7c24d5e7c7b51d8ee10 19-Dec-2008 Rafael Espindola <rafael.espindola@gmail.com> Fix bug 3202.
The EH_frame and .eh symbols are now private, except for darwin9 and earlier.
The patch also fixes the definition of PrivateGlobalPrefix on pcc linux.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61242 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
8358099bcb85077e3ad65f1f15a9c60a9f18922d 12-Dec-2008 Devang Patel <dpatel@apple.com> Do not print empty DW_AT_comp_dir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60965 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
6bcf98220e670ed0d6f73f5d3018b51ed4daed30 12-Dec-2008 Devang Patel <dpatel@apple.com> Do not print empty DW_AT_comp_dir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60965 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
94ea5be39fe379cda3ff144a99b6a1a69a9fe2e2 10-Dec-2008 Evan Cheng <evan.cheng@apple.com> Fix a couple of Dwarf bugs.
- Emit DW_AT_byte_size for struct and union of size zero.
- Emit DW_AT_declaration for forward type declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60812 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b2fc7112835530a49848ccc1dd53273b6feaa20d 10-Dec-2008 Evan Cheng <evan.cheng@apple.com> Fix a couple of Dwarf bugs.
- Emit DW_AT_byte_size for struct and union of size zero.
- Emit DW_AT_declaration for forward type declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60812 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
f84802880c5ae7aed88f9aac27ec66a1d017707f 09-Dec-2008 Evan Cheng <evan.cheng@apple.com> Cosmetic changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60771 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
c7efea3b49e3d1c5e5cbfa6dab0eb4fbad067112 09-Dec-2008 Evan Cheng <evan.cheng@apple.com> Cosmetic changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60771 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
952b839ce9bc0c6d605d8b202c9cd76f7f05a77d 03-Dec-2008 Rafael Espindola <rafael.espindola@gmail.com> Fix bug 3140.
Print a single parameter .file directive if we have an ELF target.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60480 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
5cf2e553e3a6376051ae18f4eccd605a5703b8cd 03-Dec-2008 Rafael Espindola <rafael.espindola@gmail.com> Fix bug 3140.
Print a single parameter .file directive if we have an ELF target.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60480 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7751ad92daeea5a3502fbc266ae814baec5c03e6 22-Nov-2008 Anton Korobeynikov <asl@math.spbu.ru> Make a convenient helper for printing offsets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59872 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
440f23db20a6c802d407e4f92a541648aaa6d492 22-Nov-2008 Anton Korobeynikov <asl@math.spbu.ru> Make a convenient helper for printing offsets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59872 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a64f463fb90c66406033e3fd1dc912b648bad328 10-Nov-2008 Chris Lattner <sabre@nondot.org> eliminate a couple more uses of utohexstr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58963 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
83b7a2ce11a71372f6e14b0f7fd96a3ec7e67d55 10-Nov-2008 Chris Lattner <sabre@nondot.org> eliminate a couple more uses of utohexstr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58963 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c6a1346d7c6bb761f9e6c2c85b53febba1cb15db 10-Nov-2008 Chris Lattner <sabre@nondot.org> Use utohex_buffer instead of utohexstr to avoid creating a temporary
string in the .ll and .s printers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
da2047ee487e8342040019bd836e63e436f6b04a 10-Nov-2008 Chris Lattner <sabre@nondot.org> Use utohex_buffer instead of utohexstr to avoid creating a temporary
string in the .ll and .s printers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0b45c9957fb7ad47e653fb43d455f6727170dad0 09-Nov-2008 Anton Korobeynikov <asl@math.spbu.ru> Temporary revert my last commit: it seems it's triggering some subtle bug in backend
and breaks llvm-gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58926 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a0880c082b31450617b7089c362ffaaf9b490a8d 09-Nov-2008 asl <asl@91177308-0d34-0410-b5e6-96231b3b80d8> Temporary revert my last commit: it seems it's triggering some subtle bug in backend
and breaks llvm-gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58926 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0f569535676325a94981881eba6f8c7e61630992 08-Nov-2008 Anton Korobeynikov <asl@math.spbu.ru> Factor out offset printing code into generic AsmPrinter.
FIXME: it seems, that most of targets don't support
offsets wrt CPI/GlobalAddress', was it intentional?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58917 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
dbe42758a93dd74acd64dc5c88f7fc0708740143 08-Nov-2008 Anton Korobeynikov <asl@math.spbu.ru> Factor out offset printing code into generic AsmPrinter.
FIXME: it seems, that most of targets don't support
offsets wrt CPI/GlobalAddress', was it intentional?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58917 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a9f0cc4ced61589c5a045016dc51061af54bac20 17-Oct-2008 Bill Wendling <isanbard@gmail.com> The Dwarf writer was comparing mangled and unmangled names for C++ code when we
have an unreachable block in a function. This was triggering the assert. This is
a horrid hack to cover this up.

Oh! for a good debug info architecture!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
ae6b98cd73e13829e9796d87cf4120bebba93770 17-Oct-2008 Bill Wendling <isanbard@gmail.com> The Dwarf writer was comparing mangled and unmangled names for C++ code when we
have an unreachable block in a function. This was triggering the assert. This is
a horrid hack to cover this up.

Oh! for a good debug info architecture!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57714 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
8b1e0549389e4c360ac95f50da95d5009553b447 10-Oct-2008 Dale Johannesen <dalej@apple.com> Remove some overzealous checks that were rejecting
valid comments in inline assembly.
gcc.target/i386/20011009-1.c



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57365 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
8b0e117a9da2c201d6fe994c010f24d4ea5f0ff3 10-Oct-2008 Dale Johannesen <dalej@apple.com> Remove some overzealous checks that were rejecting
valid comments in inline assembly.
gcc.target/i386/20011009-1.c



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57365 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
23a98551ab65eeb8fe5019df8b7db4891582a4bd 10-Oct-2008 Dale Johannesen <dalej@apple.com> Add a "loses information" return value to APFloat::convert
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57329 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
6e547b4aeea29737f4aecad5b2cdaccb86989c20 10-Oct-2008 Dale Johannesen <dalej@apple.com> Add a "loses information" return value to APFloat::convert
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57329 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
7111b02c734c992b8c97d9918118768026dad79e 09-Oct-2008 Dale Johannesen <dalej@apple.com> Rename APFloat::convertToAPInt to bitcastToAPInt to
make it clearer what the function does. No functional
change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57325 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
49cc7cec5d3bb722e7bad032233e6d763fba494f 09-Oct-2008 Dale Johannesen <dalej@apple.com> Rename APFloat::convertToAPInt to bitcastToAPInt to
make it clearer what the function does. No functional
change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57325 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d65b26495df824717760099e0294db8f2a4662db 08-Oct-2008 Dale Johannesen <dalej@apple.com> Align EH tables before label is emitted, not after,
thus aligning the label.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57310 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
841e4984da61e6f5cc91971dfd4eb2dc3fa2e06a 08-Oct-2008 Dale Johannesen <dalej@apple.com> Align EH tables before label is emitted, not after,
thus aligning the label.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57310 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
d735b8019b0f297d7c14b55adcd887af24d8e602 03-Oct-2008 Dan Gohman <gohman@apple.com> Switch the MachineOperand accessors back to the short names like
isReg, etc., from isRegister, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
b9f4fa7b400836808bc3beab96482418f418f246 03-Oct-2008 Dan Gohman <gohman@apple.com> Switch the MachineOperand accessors back to the short names like
isReg, etc., from isRegister, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
d751c64a679148bfe111bbba47f4a344ba813df9 26-Sep-2008 Bill Wendling <isanbard@gmail.com> If we have a function with an unreachable statement such that the ending debug
information is in an unreachable block, then it's possible that the high/low pc
values won't be set for the dwarf information. E.g., this function:

void abort(void) __attribute__((__noreturn__));
void dead_beef(void) __attribute__ ((noreturn));

int *b;

void dead_beef(void) {
*b=0xdeadbeef;
abort();
}

has a call to "@llvm.dbg.region.end" only in the unreachable block:

define void @dead_beef() noreturn nounwind {
entry:
call void @llvm.dbg.func.start(...)
call void @llvm.dbg.stoppoint(...)
...
call void @abort( ) noreturn nounwind
unreachable

return: ; No predecessors!
call void @llvm.dbg.stoppoint(...)
call void @llvm.dbg.region.end(...)
ret void
}

The dwarf information emitted is something like:

0x00000084: TAG_subprogram [5]
AT_name( "dead_beef" )
AT_external( 0x01 )
AT_prototyped( 0x01 )
AT_decl_file( 0x01 )
AT_decl_line( 0x08 )

Note that this is *not* the best fix for this problem, but a band-aid for an
gaping wound. This code needs to be changed when we revamp our debugging
information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56628 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
b22ae7d4a92e11264dbfc798a512a5ce66ec24ab 26-Sep-2008 Bill Wendling <isanbard@gmail.com> If we have a function with an unreachable statement such that the ending debug
information is in an unreachable block, then it's possible that the high/low pc
values won't be set for the dwarf information. E.g., this function:

void abort(void) __attribute__((__noreturn__));
void dead_beef(void) __attribute__ ((noreturn));

int *b;

void dead_beef(void) {
*b=0xdeadbeef;
abort();
}

has a call to "@llvm.dbg.region.end" only in the unreachable block:

define void @dead_beef() noreturn nounwind {
entry:
call void @llvm.dbg.func.start(...)
call void @llvm.dbg.stoppoint(...)
...
call void @abort( ) noreturn nounwind
unreachable

return: ; No predecessors!
call void @llvm.dbg.stoppoint(...)
call void @llvm.dbg.region.end(...)
ret void
}

The dwarf information emitted is something like:

0x00000084: TAG_subprogram [5]
AT_name( "dead_beef" )
AT_external( 0x01 )
AT_prototyped( 0x01 )
AT_decl_file( 0x01 )
AT_decl_line( 0x08 )

Note that this is *not* the best fix for this problem, but a band-aid for an
gaping wound. This code needs to be changed when we revamp our debugging
information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56628 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
541af7f769c89de8a7f52d563cf317ad7a86c245 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Use helper

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56584 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b191f5c0f2244f65efccca3a5986a4e2aa706d67 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Use helper

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56584 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4cad98a0bb3c0c10a53b7f3c373be7af32788f51 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> SmallPtrSet will be better

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56583 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
96df425d01400afddde470e4e868a4008d0d801a 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> SmallPtrSet will be better

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56583 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
088ae8393f124564ca9ab70654645aa656e5646f 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Use generic section-handling stuff to emit constant pool entries

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b866b259e562f1eafa7475694a4076372f55eaf2 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Use generic section-handling stuff to emit constant pool entries

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56579 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
315690ec2a99e1c0867853955f81d99f548178be 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Get rid of duplicate char*/Section* DataSection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56575 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
camlGCPrinter.cpp
cca60fa0d98abdf7dbe69a4ef15c539d80f6e9bf 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Get rid of duplicate char*/Section* DataSection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56575 91177308-0d34-0410-b5e6-96231b3b80d8
warfWriter.cpp
camlGCPrinter.cpp
d7ca416d6c9ae1966e0df8193112e3c5f430a053 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Get rid of duplicate char*/Section* TextSection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56574 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
camlGCPrinter.cpp
55b94965b25917c590987db1b92b730b64f17c0c 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Get rid of duplicate char*/Section* TextSection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56574 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
camlGCPrinter.cpp
c25e1ea5e9aa54952b6736a9579e25a5c2d8139f 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56573 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1a9edae76b2e7cf15c5f7c36928b3701ac2ef47b 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56573 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
0c8e80607bc3296a4775f05c02f0d11df8e5cb04 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Drop obsolete hook and change all usage to new interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56572 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cf87a3dd015c7e2acfc0b4feff48fc7fc2a16f01 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Drop obsolete hook and change all usage to new interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56572 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b5a32e2e8ce2f3de3a340c5a2dfcd3a159968466 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Provide direct function to switch to Section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56571 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
801e0fd4ead5fe89dc7ced7f7d6c4278a607f580 25-Sep-2008 Anton Korobeynikov <asl@math.spbu.ru> Provide direct function to switch to Section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56571 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
86b49f8e2de796cb46c7c8b6a4c4900533fd53f4 24-Sep-2008 Dale Johannesen <dalej@apple.com> Next round of earlyclobber handling. Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits and their handling from
live internals.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56539 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
9446407963005f3edfa8ac70e265c81839a416c9 24-Sep-2008 Dale Johannesen <dalej@apple.com> Next round of earlyclobber handling. Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits and their handling from
live internals.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56539 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
3d01fc7de86c75926e4e5ac7cc49f0116018893d 22-Sep-2008 Oscar Fuentes <ofv@wanadoo.es> Initial support for the CMake build system.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
00905d5339fd277781c7393112f80febe86b2945 22-Sep-2008 Oscar Fuentes <ofv@wanadoo.es> Initial support for the CMake build system.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
91aac1015e6714d959801dd8d60f55a72827dc4d 17-Sep-2008 Dale Johannesen <dalej@apple.com> Add a bit to mark operands of asm's that conflict
with an earlyclobber operand elsewhere. Propagate
this bit and the earlyclobber bit through SDISel.
Change linear-scan RA not to allocate regs in a way
that conflicts with an earlyclobber. See also comments.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
bac3c81377340735d0674a0529dba69ef20e679b 17-Sep-2008 Dale Johannesen <dalej@apple.com> Add a bit to mark operands of asm's that conflict
with an earlyclobber operand elsewhere. Propagate
this bit and the earlyclobber bit through SDISel.
Change linear-scan RA not to allocate regs in a way
that conflicts with an earlyclobber. See also comments.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56290 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
d2e51af0358b571367a9f1e5175b87e9dd72edf8 10-Sep-2008 Dale Johannesen <dalej@apple.com> Move the uglier parts of deciding not to emit a
UsedDirective for some symbols in llvm.used into
Darwin-specific code. I've decided LessPrivateGlobal
is potentially a useful abstraction and left it in
the target-independent area, with improved comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56024 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
60567624019d288f4fc733d44e7205c463a9bd75 10-Sep-2008 Dale Johannesen <dalej@apple.com> Move the uglier parts of deciding not to emit a
UsedDirective for some symbols in llvm.used into
Darwin-specific code. I've decided LessPrivateGlobal
is potentially a useful abstraction and left it in
the target-independent area, with improved comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56024 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
b2dfb89e0e7f1ee3e4fe4a3a1b3af148f0aec34f 09-Sep-2008 Dale Johannesen <dalej@apple.com> Fix logic for not emitting no-dead-strip for some
objects in llvm.used (thanks Anton). Makes visible
the magic 'l' prefix for symbols on Darwin which are
to be passed through the assembler, then removed at
linktime (previously all references to this had been
hidden in the ObjC FE code, oh well).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55973 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2d34f9f9db93f596ea731c546d833ab5d6bb5735 09-Sep-2008 Dale Johannesen <dalej@apple.com> Fix logic for not emitting no-dead-strip for some
objects in llvm.used (thanks Anton). Makes visible
the magic 'l' prefix for symbols on Darwin which are
to be passed through the assembler, then removed at
linktime (previously all references to this had been
hidden in the ObjC FE code, oh well).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55973 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
14b0a2b13705d47916b6ea7e2d7c0db898a0fb81 08-Sep-2008 Dale Johannesen <dalej@apple.com> Don't suppress no-dead-strip for used static functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
1e1f6c65f20b51c9f609a9aeb7ecdac19c542f98 08-Sep-2008 Dale Johannesen <dalej@apple.com> Don't suppress no-dead-strip for used static functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55962 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
82f94f1ad98fdcc90e44053437fa555d339a4449 08-Sep-2008 Dan Gohman <gohman@apple.com> Add AsmPrinter support for i128 and larger static initializer data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55919 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
07a91ea6453f89a1828751fde0dd1fb9790575c3 08-Sep-2008 Dan Gohman <gohman@apple.com> Add AsmPrinter support for i128 and larger static initializer data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55919 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
ae73dc1448d25b02cabc7c64c86c64371453dda8 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
26f8c27c34b44f7d87de74d1de2128c1a02855bf 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
61e6093dc8d92def3dfe0b379df83f70b0558247 03-Sep-2008 Dale Johannesen <dalej@apple.com> Do not emit a UsedDirective for things in the llvm.used
list that have internal linkage; the linker doesn't need
or want this. (These objects must still be preserved
at compile time, so just removing them from the llvm.used
list doesn't work.) Should affect only Darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55722 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
4911fb83d8a8357f67d01620b4b8979df15aa52c 03-Sep-2008 Dale Johannesen <dalej@apple.com> Do not emit a UsedDirective for things in the llvm.used
list that have internal linkage; the linker doesn't need
or want this. (These objects must still be preserved
at compile time, so just removing them from the llvm.used
list doesn't work.) Should affect only Darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55722 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
c8d3a620921740175f500311edeb75ea8666cf27 21-Aug-2008 Owen Anderson <resistor@mac.com> Remove unneeded #include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55134 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
02d56e123fc3098e559dac247bfe69183dd8baa7 21-Aug-2008 Owen Anderson <resistor@mac.com> Remove unneeded #include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55134 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
cb3718832375a581c5ea23f15918f3ea447a446c 21-Aug-2008 Owen Anderson <resistor@mac.com> Use raw_ostream throughout the AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
camlGCPrinter.cpp
847b99b2df4534498b514c439324e7c60de5c3b7 21-Aug-2008 Owen Anderson <resistor@mac.com> Use raw_ostream throughout the AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
camlGCPrinter.cpp
65a7bd8b8e111c51a51278ab46f1a1c91744441b 19-Aug-2008 Chris Lattner <sabre@nondot.org> don't use the result of WriteTypeSymbolic or WriteAsOperand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54978 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
2e5c7aee6f777d1350944efd4a83a73788889223 19-Aug-2008 Chris Lattner <sabre@nondot.org> don't use the result of WriteTypeSymbolic or WriteAsOperand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54978 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
a08f5186b0687d1110af5d669a84d59e6413aa68 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Drop an unnecessary include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54901 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
a069940d5217d56525dbb76188a8fa4a8c1f85c4 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Drop an unnecessary include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54901 91177308-0d34-0410-b5e6-96231b3b80d8
camlGCPrinter.cpp
5eca075b74d62c621b160aa216b4cd50829a2cc7 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
1aed599aac357d2aaf0df6f4683d59f6455bae0d 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCPrinter.cpp
4a8978b61c0536d57bfa32bc5c590fdb6d0113a4 17-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Fix merge error

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54891 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCMetadataPrinter.cpp
camlGCPrinter.cpp
7800a19b18ec441d907773591adf895801a2d38b 17-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Fix merge error

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54891 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
camlGCMetadataPrinter.cpp
camlGCPrinter.cpp
abb247fc036d55d06b06853cae66ab055269d605 17-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Move all assembler printing related stuff into new libAsmPrinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54885 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
akefile
camlGCMetadataPrinter.cpp
eb7f720c42be56b140c4e02cbd699cb082e5b0c9 17-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Move all assembler printing related stuff into new libAsmPrinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54885 91177308-0d34-0410-b5e6-96231b3b80d8
smPrinter.cpp
warfWriter.cpp
akefile
camlGCMetadataPrinter.cpp