|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 163401 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - 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).
llvm-svn: 163395 | 
| | 
| 
| 
| | llvm-svn: 163273 | 
| | 
| 
| 
| | llvm-svn: 163194 | 
| | 
| 
| 
| | llvm-svn: 162848 | 
| | 
| 
| 
| 
| 
| | Reviewed offline by chandlerc.
llvm-svn: 162623 | 
| | 
| 
| 
| 
| 
| 
| 
| | not in darwin gdb compat mode.
Fixes rdar://10975088
llvm-svn: 162526 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 162493 | 
| | 
| 
| 
| 
| 
| | turned on and off separate from the platform if you're on darwin.
llvm-svn: 162487 | 
| | 
| 
| 
| 
| 
| | we're using the darwin old gdb compat mode for emitting dwarf.
llvm-svn: 162486 | 
| | 
| 
| 
| | llvm-svn: 162438 | 
| | 
| 
| 
| 
| 
| 
| 
| | with older gdbs on darwin.
rdar://10975874
llvm-svn: 162436 | 
| | 
| 
| 
| 
| 
| | rdar://10393214
llvm-svn: 162434 | 
| | 
| 
| 
| | llvm-svn: 162432 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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>
llvm-svn: 162114 | 
| | 
| 
| 
| | llvm-svn: 161851 | 
| | 
| 
| 
| 
| 
| | failures in the debug testsuite and possibly PR13486.
llvm-svn: 161121 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | all tests accordingly.
Fixes PR13351.
Patch by shinichiro hamaji!
llvm-svn: 160899 | 
| | 
| 
| 
| 
| 
| | clang's -Wunused-private-field.
llvm-svn: 160583 | 
| | 
| 
| 
| 
| 
| 
| 
| | Fixes PR13303.
Patch by Paul Robinson!
llvm-svn: 160148 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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.
llvm-svn: 159811 | 
| | 
| 
| 
| | llvm-svn: 159701 | 
| | 
| 
| 
| | llvm-svn: 159433 | 
| | 
| 
| 
| 
| 
| 
| | (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
instead.
llvm-svn: 159414 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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.
llvm-svn: 159312 | 
| | 
| 
| 
| 
| 
| | knows dwarf or not.
llvm-svn: 158993 | 
| | 
| 
| 
| 
| 
| | DwarfUsesRelocationsAcrossSections.
llvm-svn: 158992 | 
| | 
| 
| 
| 
| 
| | a recommit of r127757. Fixes PR9493. Patch by Paul Robinson!
llvm-svn: 158957 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 158939 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 158925 | 
| | 
| 
| 
| 
| 
| | BumpPtrAllocator.
llvm-svn: 158265 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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).
llvm-svn: 157854 | 
| | 
| 
| 
| 
| 
| | Part of rdar://11570854
llvm-svn: 157786 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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.
llvm-svn: 157541 | 
| | 
| 
| 
| 
| 
| | Part of rdar://11496790
llvm-svn: 157303 | 
| | 
| 
| 
| | llvm-svn: 157274 | 
| | 
| 
| 
| | llvm-svn: 157273 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 157062 | 
| | 
| 
| 
| | llvm-svn: 157060 | 
| | 
| 
| 
| 
| 
| | Part of rdar://11352000 and should bring the buildbots back.
llvm-svn: 156421 | 
| | 
| 
| 
| 
| 
| | Patch by Jack Carter.
llvm-svn: 156409 | 
| | 
| 
| 
| 
| 
| | Part of rdar://11352000
llvm-svn: 156405 | 
| | 
| 
| 
| | llvm-svn: 154878 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | - 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.
llvm-svn: 154694 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | This enables debuggers to see what are interesting lines for a
breakpoint rather than any line that starts a function.
rdar://9852092
llvm-svn: 154120 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | might have more than 19 operands. Add a testcase to make sure I
never screw that up again.
Part of rdar://11026482
llvm-svn: 153961 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 153916 | 
| | 
| 
| 
| | llvm-svn: 153880 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | http://llvm.org/docs/SourceLevelDebugging.html#objcproperty
including type and DECL. Expand the metadata needed accordingly.
rdar://11144023
llvm-svn: 153639 | 
| | 
| 
| 
| 
| 
| 
| 
| | and not the rest of the member tag.
Fixes PR11695
llvm-svn: 153570 |