| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 163974
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 163754
|
| |
|
|
|
|
| |
This should be done on the subprogram, not the variable itself.
llvm-svn: 163734
|
| |
|
|
|
|
| |
Part of rdar://9797999
llvm-svn: 163667
|
| |
|
|
|
|
| |
Add support in the EmitMSInlineAsmStr() function for handling integer consts.
llvm-svn: 163645
|
| |
|
|
|
|
| |
right now. We'll fix PR13303 a different way.
llvm-svn: 163570
|
| |
|
|
| |
llvm-svn: 163569
|
| |
|
|
| |
llvm-svn: 163568
|
| |
|
|
| |
llvm-svn: 163567
|
| |
|
|
|
|
| |
and InlineAsmVariant don't match.
llvm-svn: 163550
|
| |
|
|
|
|
| |
and update the printOperand() function accordingly.
llvm-svn: 163544
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 163420
|
| |
|
|
| |
llvm-svn: 163416
|
| |
|
|
| |
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
|