1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

15844 Commits

Author SHA1 Message Date
Andrew Trick
6bd4b82476 comment typo and reformat
llvm-svn: 196513
2013-12-05 17:55:47 +00:00
David Blaikie
042cd582a0 DwarfDebug/DwarfUnit: Push abbreviation structures down into DwarfUnits to reduce duplication
llvm-svn: 196479
2013-12-05 07:43:55 +00:00
Alp Toker
e845f8af67 Correct word hyphenations
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities and contractions in nearby lines.

llvm-svn: 196471
2013-12-05 05:44:44 +00:00
Rafael Espindola
6963247d3a Try harder to get a consistent floating point results.
This just extends the existing hack. It should be enough to get a reproducible bootstrap
on 32 bits.

I will open a bug to track getting a real fix for this.

llvm-svn: 196462
2013-12-05 04:14:33 +00:00
David Blaikie
5e586ea3ed DwarfDebug: Avoid unnecessary abbreviation lookup when emitting DIEs
DIEs already contain references directly to their DIEAbbrev, use that
instead of looking it up based on index.

llvm-svn: 196446
2013-12-05 01:01:41 +00:00
David Blaikie
a2745869cd DwarfDebug: Remove trivial function wrapper
llvm-svn: 196445
2013-12-05 01:01:37 +00:00
Eric Christopher
b81841285f 80-column.
llvm-svn: 196442
2013-12-05 00:36:21 +00:00
Eric Christopher
2d6d0fc3f2 Remove special handling for DW_AT_ranges support by constructing the
values with the correct behavior.

llvm-svn: 196441
2013-12-05 00:36:17 +00:00
Eric Christopher
d051658b5c Fix comment.
llvm-svn: 196437
2013-12-05 00:13:15 +00:00
David Blaikie
561838d222 DwarfUnit: Correct comment by generalizing over all units, not just compilation units.
Code review feedback on r196394 by Paul Robinson.

llvm-svn: 196433
2013-12-04 23:39:02 +00:00
Eric Christopher
f46aa7d453 Update comment.
llvm-svn: 196431
2013-12-04 23:24:38 +00:00
Eric Christopher
a054e191ad Update comment.
llvm-svn: 196430
2013-12-04 23:24:28 +00:00
Eric Christopher
435de44e9d Remove incorrect comment and pointless cast.
llvm-svn: 196427
2013-12-04 23:05:21 +00:00
Eric Christopher
f8ead1f600 const on its own line is confusing.
llvm-svn: 196426
2013-12-04 22:54:45 +00:00
Eric Christopher
1d7adf97f3 Simplify check.
llvm-svn: 196422
2013-12-04 22:29:02 +00:00
Eric Christopher
b46f56f8d6 Reformat slightly.
llvm-svn: 196421
2013-12-04 22:26:43 +00:00
Eric Christopher
5d21b8449e Make RangeSpanList take a symbol for the beginning of the range
rather than magically making the names match.

llvm-svn: 196419
2013-12-04 22:04:50 +00:00
David Blaikie
cd548dcc12 DwarfDebug: Unconditionalize trivial asm comments
While we still have a few (~4) non-trivial comments with string
concatenation, etc that should remain conditionalized, these trivial
literal comments can be simplified.

llvm-svn: 196416
2013-12-04 21:51:05 +00:00
David Blaikie
7ce191027c DwarfDebug: Reduce code duplication for sec offset emission
llvm-svn: 196414
2013-12-04 21:31:26 +00:00
Eric Christopher
522b2d4cf3 Couple of small logical cleanups to use !empty rather than other
checks. No functional change.

llvm-svn: 196412
2013-12-04 21:20:15 +00:00
Eric Christopher
93cee79b17 Use move and stack allocation for RangeSpanLists. As a result make
a few things more const as well because we're now using const
references to refer to iterators.

llvm-svn: 196398
2013-12-04 19:06:58 +00:00
David Blaikie
f92edbcbd0 DebugInfo: Remove unused start/end labels for the debug_abbrevs section
Since we always emit only one abbrevation section (shared by all the
compilation units in this module) there's no need for a separate label
at the start of each one (and we weren't using the CU ID anyway, so
there really was only one label). Use the section label instead and drop
the wholely unused debug_abbrev_end label.

llvm-svn: 196394
2013-12-04 18:12:28 +00:00
David Blaikie
1ca7b250be DebugInfo: Avoid recreating matching labels in disparate places.
Instead, reuse the same MCSymbol - this should make the code easier to
follow by avoiding hard to trace dependencies between different bits of
code.

llvm-svn: 196392
2013-12-04 17:55:41 +00:00
Eric Christopher
907181fbbb Update comment grammar and contents.
llvm-svn: 196323
2013-12-03 22:05:55 +00:00
Michael Gottesman
7f9ded48f1 Fixed various whitespace/spelling/80+ issues.
llvm-svn: 196310
2013-12-03 20:21:17 +00:00
Timur Iskhodzhanov
8deac270cf Fix a typo in a comment
llvm-svn: 196304
2013-12-03 18:57:43 +00:00
Timur Iskhodzhanov
2340a0ee1c Reland 196270 "Generalize debug info / EH emission in AsmPrinter"
Addressing the existense AMDGPUAsmPrinter and other subclasses of AsmPrinter

llvm-svn: 196288
2013-12-03 15:10:23 +00:00
NAKAMURA Takumi
c0b01ff922 Revert r196270, "Generalize debug info / EH emission in AsmPrinter"
It broke CodeGen/R600 tests with +Asserts.

llvm-svn: 196272
2013-12-03 13:15:54 +00:00
Timur Iskhodzhanov
8ce8c7a5d7 Generalize debug info / EH emission in AsmPrinter
llvm-svn: 196270
2013-12-03 12:05:18 +00:00
Michael Gottesman
576426afb7 Added MachineBlockFrequencyInfo::view for displaying the block frequency propagation graph via graphviz.
This is useful for debugging issues in the BlockFrequency implementation
since one can easily visualize where probability mass and other errors
occur in the propagation.

This is the MI version of r194654.

llvm-svn: 196183
2013-12-03 00:49:33 +00:00
Eric Christopher
9cdc5dc3f1 Refactor the handling of lexical block and inline scope ranges
into a single function. No functional change.

llvm-svn: 196181
2013-12-03 00:45:59 +00:00
Eric Christopher
05bec0f59b Update doxygen tags.
llvm-svn: 196180
2013-12-03 00:45:56 +00:00
Eric Christopher
e4a344abbf Reorder member function declarations to match source order.
llvm-svn: 196179
2013-12-03 00:45:54 +00:00
Eric Christopher
6532a47d78 Make ranges and range lists be a discrete entity that can be located
and emitted per function and CU. Begins coalescing ranges as a first
class entity through debug info. No functional change.

llvm-svn: 196178
2013-12-03 00:45:45 +00:00
Rafael Espindola
d41a7b228c Convert two char* that are only ever used as booleans to bool.
llvm-svn: 196168
2013-12-02 23:04:51 +00:00
David Blaikie
85fdef8bea Remove unnecessary/commented-out header inclusion.
Review feedback from Eric Christopher on r196140

llvm-svn: 196160
2013-12-02 22:11:08 +00:00
David Blaikie
8e02b3d92e DebugInfo: Rename generic unit references to "TheU" instead of TheCU now that they might be type units instead of compile units.
CR feedback from Eric Christopher on r196139.

llvm-svn: 196159
2013-12-02 22:09:48 +00:00
David Blaikie
c06b6fc581 DebugInfo: Rename DwarfCompileUnit.* to DwarfUnit.* to match their contents.
llvm-svn: 196140
2013-12-02 19:33:15 +00:00
David Blaikie
8f5d7bdcbe DebugInfo: Refactor CompileUnit into a Unit baseclass and CompileUnit/TypeUnit derived classes.
Header/cpp file rename to follow immediately - just splitting out the
commits for ease of review/reading to demonstrate that the renaming
changes are entirely mechanical.

llvm-svn: 196139
2013-12-02 19:33:10 +00:00
David Blaikie
74530dc54e DebugInfo: Type Units: Propagate the correct DW_AT_language into type units.
llvm-svn: 196130
2013-12-02 18:44:29 +00:00
Rafael Espindola
c36d63a948 Move getSymbolWithGlobalValueBase to TargetLoweringObjectFile.
This allows it to be used in TargetLoweringObjectFileImpl.cpp.

llvm-svn: 196117
2013-12-02 16:25:47 +00:00
Andrew Trick
b7e697ed41 Reverse the order of eviction checks for possible compile time savings. No functionality.
llvm-svn: 195969
2013-11-29 23:49:38 +00:00
Lang Hames
7883c4d5ae Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range
constraints on their frame offsets.

llvm-svn: 195950
2013-11-29 06:35:30 +00:00
Lang Hames
82e8d4faa9 Remove unused variable from r195944.
llvm-svn: 195945
2013-11-29 03:36:53 +00:00
Lang Hames
067c025250 Refactor a lot of patchpoint/stackmap related code to simplify and make it
target independent.

Most of the x86 specific stackmap/patchpoint handling was necessitated by the
use of the native address-mode format for frame index operands. PEI has now
been modified to treat stackmap/patchpoint similarly to DEBUG_INFO, allowing
us to use a simple, platform independent register/offset pair for frame
indexes on stackmap/patchpoints.

Notes:
  - Folding is now platform independent and automatically supported.
  - Emiting patchpoints with direct memory references now just involves calling
    the TargetLoweringBase::emitPatchPoint utility method from the target's
    XXXTargetLowering::EmitInstrWithCustomInserter method. (See
    X86TargetLowering for an example).
  - No more ugly platform-specific operand parsers.

This patch shouldn't change the generated output for X86. 

llvm-svn: 195944
2013-11-29 03:07:54 +00:00
Rafael Espindola
7e7db10302 Remove an always true parameter.
llvm-svn: 195931
2013-11-28 19:35:07 +00:00
David Blaikie
91268863a6 DebugInfo: Do not include variables only referenced by templates in aranges.
ARanges included even extern variables referenced by pointer non-type
template parameters even though that variable isn't part of this
compilation unit.

llvm-svn: 195895
2013-11-27 23:53:52 +00:00
Lang Hames
cf7d9a9193 Show stackmap entry encodings in stackmap debug logs. This makes it easier to
cross-reference debug output with encoded stack-maps, and to create stackmap
test-cases. 

llvm-svn: 195874
2013-11-27 20:10:16 +00:00
Rafael Espindola
c099bf8035 Use the same tls section name as msvc.
We currently error in clang with:
"error: thread-local storage is unsupported for the current target", but we
can start to get the llvm level ready.

When compiling

template<typename T>
struct foo {
  static __declspec(thread) int bar;
};
template<typename T>
__declspec(therad) int foo<T>::bar;
template struct foo<int>;

msvc produces

SECTION HEADER #3
   .tls$ name
       0 physical address
       0 virtual address
       4 size of raw data
     12F file pointer to raw data (0000012F to 00000132)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
C0301040 flags
         Initialized Data
         COMDAT; sym= "public: static int foo<int>::bar" (?bar@?$foo@H@@2HA)
         4 byte align
         Read Write

gcc produces a ".data$__emutls_v.<symbol>" for the testcase with
__declspec(thread) replaced with thread_local.

llvm-svn: 195849
2013-11-27 15:52:11 +00:00
Rafael Espindola
3ceb67b21b Use simple section names for COMDAT sections on COFF.
With this patch we use simple names for COMDAT sections (like .text or .bss).
This matches the MSVC behavior.

When merging it is the COMDAT symbol that is used to decide if two sections
should be merged, so there is no point in building a fancy name.

This survived a bootstrap on mingw32.

llvm-svn: 195798
2013-11-27 01:18:37 +00:00