- Mar 25, 2014
-
-
David Blaikie authored
Implement debug_loc.dwo, as well as llvm-dwarfdump support for dumping this section. Outlined in the DWARF5 spec and http://gcc.gnu.org/wiki/DebugFission the debug_loc.dwo section has more variation than the standard debug_loc, allowing 3 different forms of entry (plus the end of list entry). GCC seems to, and Clang certainly, only use one form, so I've just implemented dumping support for that for now. It wasn't immediately obvious that there was a good refactoring to share the implementation of dumping support between debug_loc and debug_loc.dwo, so they're separate for now - ideas welcome or I may come back to it at some point. As per a comment in the code, we could choose different forms that may reduce the number of debug_addr entries we emit, but that will require further study. llvm-svn: 204697
-
David Blaikie authored
This seems excessive - switching section isn't expensive (or if it is we're already being wasteful, since we emitted the debug_loc section symbol earlier anyway) and otherwise there's no work that happens in this function when the list is empty. llvm-svn: 204696
-
Richard Smith authored
deserialization. llvm-svn: 204695
-
Richard Smith authored
an out-of-date external decls list). This happens if we declare some names, force the lookup table for the decl context to be built, import a module that adds more decls for the name, then write out our module without looking up the name. llvm-svn: 204694
-
Justin Bogner authored
This adds a function to Endian.h that reads from and updates a pointer into a buffer with endian specific data. This is more convenient for stream-like reading of data than endian::read. llvm-svn: 204693
-
Richard Smith authored
If a DeclContext's lookups need to be reconciled, and we're given external declarations for a name, reconcile first. Otherwise, when we come to reconcile, we'll ask for external declarations for that name again. No functionality change intended. llvm-svn: 204692
-
Richard Smith authored
lookups for a DeclContext. llvm-svn: 204691
-
Manman Ren authored
When register allocator's stage is RS_Spill, we choose spill over using the CSR for the first time, if the spill cost is lower than CSRCost. When register allocator's stage is < RS_Split, we choose pre-splitting over using the CSR for the first time, if the cost of splitting is lower than CSRCost. CSRCost is set with command-line option "regalloc-csr-first-time-cost". The default value is 0 to generate the same codes as before this commit. With a value of 15 (1 << 14 is the entry frequency), I measured performance gain of 3% on 253.perlbmk and 1.7% on 197.parser, with instrumented PGO, on an arm device. rdar://16162005 llvm-svn: 204690
-
Jim Ingham authored
Make "disassemble -a" work when the target is not running yet. It will dump all the functions matching that address, just like "disassemble -n" does before running. <rdar://problem/16406570> llvm-svn: 204689
-
Jim Ingham authored
llvm-svn: 204688
-
Kevin Enderby authored
for Mach-O object files by generating an error instead. rdar://16335232 llvm-svn: 204687
-
Richard Smith authored
specialization would make us think it might have a key function. llvm-svn: 204686
-
Greg Clayton authored
llvm-svn: 204685
-
Manman Ren authored
Factor out two functions calculateRegionSplitCost and doRegionSplit from tryRegionSplit. These two functions will be used in coming patches. rdar://16162005 llvm-svn: 204684
-
Greg Clayton authored
llvm-svn: 204683
-
Greg Clayton authored
(lldb) b puts (lldb) expr -g -i0 -- (int)puts("hello") First we will stop at the entry point of the expression before it runs, then we can step over a few times and hit the breakpoint in "puts", then we can continue and finishing stepping and fininsh the expression. Main features: - New ObjectFileJIT class that can be easily created for JIT functions - debug info can now be enabled when parsing expressions - source for any function that is run throught the JIT is now saved in LLDB process specific temp directory and cleaned up on exit - "expr -g --" allows you to single step through your expression function with source code <rdar://problem/16382881> llvm-svn: 204682
-
Greg Clayton authored
Add a "--threads N" option instead of having to use an environment variable. It also now defaults to running with the number of CPUs on the machine. llvm-svn: 204681
-
- Mar 24, 2014
-
-
David Blaikie authored
Rather than using a flat list with "empty" entries (ala the actual on-disk format), keep separate lists for each variable. llvm-svn: 204680
-
David Blaikie authored
No functional change intended. Merging up-front rather than delaying this task until later. This just seems simpler and more efficient (avoiding growing the debug loc list only to have to skip over those post-merged entries, etc). llvm-svn: 204679
-
Marshall Clow authored
Add a test to make sure we're doing the right thing for throwing exceptions from deferred functions. This is LWG issue #2186. No change to the library needed. llvm-svn: 204678
-
Eli Bendersky authored
Similar to the implementation for globals in r157167. Patch by Jingyue Wu. llvm-svn: 204677
-
Duncan P. N. Exon Smith authored
Change the name of the default profile dumped by compiler-rt to default.profraw. This distinguishes it more clearly from the (incompatible) format output by llvm-profdata that is read by clang -fprofile-instr-use. llvm-svn: 204676
-
David Majnemer authored
COFF doesn't have mergeable sections so LLVM/clang's normal tactics for string deduplication will not have any effect. To remedy this we place each string inside it's own section and mark the section as IMAGE_COMDAT_SELECT_ANY. However, we can only do this if the string has an external name that we can generate from it's contents. To be compatible with MSVC, we must use their scheme. Otherwise identical strings in translation units from clang may not be deduplicated with translation units in MSVC. This fixes PR18248. N.B. We will not attempt to do anything with a string literal which is not of type 'char' or 'wchar_t' because their compiler does not support unicode string literals as of this date. Further, we avoid doing this if either -fwritable-strings or -fsanitize=address are present. This reverts commit r204596. llvm-svn: 204675
-
Warren Hunt authored
As of cl.exe version 18, the special layout rules for structs with alignment 16 or greater has been dropped. This patch drops the behavior from clang. This patch also updates the lit tests to reflect the change. llvm-svn: 204674
-
Adrian Prantl authored
llvm-svn: 204673
-
David Blaikie authored
This is used to avoid relocations in the dwo file by allowing DW_AT_ranges specified in debug_info.dwo to be relative to this base address. (r204667 implements the base-relative DW_AT_ranges side of this) llvm-svn: 204672
-
Justin Bogner authored
llvm-svn: 204671
-
Adrian Prantl authored
plain old CHECKs. Follow-up to r204633. llvm-svn: 204670
-
Will Schmidt authored
Update the powerpc64le check to include CALL_ELF=2 check. This is a testcase follow-up to r204627. (see also r204614 for CALL_ELF usage). llvm-svn: 204669
-
David Blaikie authored
This removes the debug_ranges relocations from debug_info.dwo (but doesn't implement the DW_AT_GNU_ranges_base which is also necessary for correct functioning) llvm-svn: 204668
-
David Blaikie authored
llvm-svn: 204667
-
Tom Stellard authored
v2: - Use a hexadecimal constant. v3: - Use a hexadecimal constant in floating-point notation. llvm-svn: 204666
-
David Blaikie authored
llvm-svn: 204665
-
Matt Arsenault authored
Having these popping up every time you use -debug is really irritating. llvm-svn: 204664
-
David Blaikie authored
llvm-svn: 204663
-
Matt Arsenault authored
Check the register class of each operand individually to avoid an extra copy to a vgpr. llvm-svn: 204662
-
Matt Arsenault authored
No longer asserts, but now you get moves loading legal immediates into the split 32-bit operations. llvm-svn: 204661
-
Matt Arsenault authored
Try to match scalar and first like the other instructions. Expand 64-bit ands to a pair of 32-bit ands since that is not available on the VALU. llvm-svn: 204660
-
Yaron Keren authored
never returns, which is true by design. Initially assumed that the reason is llvm_unreachable being dependent on NDEBUG. However, even if llvm_unreachable is replaced by __assume(false), VC still warns in Release modes but not in Debug modes... The real reason turned out to be optimization flags. With /Od in Debug modes the warning is not issued whereas with /O1 it is. I could not find any documentation to this effect, but it is reproducable: Try compiling http://msdn.microsoft.com/en-us/library/khwfyc5d(v=vs.90).aspx with /O1 and then with /Od. llvm-svn: 204659
-
Matt Arsenault authored
llvm-svn: 204658
-