Micah Villmow
bf3eeb2dfc
Add some cleanup to the DataLayout changes requested by Chandler.
...
llvm-svn: 166607
2012-10-24 18:36:13 +00:00
Micah Villmow
12d9127833
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.
llvm-svn: 166578
2012-10-24 15:52:52 +00:00
Micah Villmow
4bb926d91d
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.
...
llvm-svn: 165941
2012-10-15 16:24:29 +00:00
Sean Silva
506a1c5a58
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.
llvm-svn: 165767
2012-10-11 23:30:49 +00:00
Micah Villmow
0c61134d8d
Revert 165732 for further review.
...
llvm-svn: 165747
2012-10-11 21:27:41 +00:00
Micah Villmow
083189730e
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.
...
llvm-svn: 165726
2012-10-11 17:21:41 +00:00
Eric Christopher
286113687a
Fix up comment to be more clear.
...
llvm-svn: 165463
2012-10-08 23:53:45 +00:00
Eric Christopher
cc10d20a17
Fixup comment.
...
llvm-svn: 165427
2012-10-08 20:48:54 +00:00
Eric Christopher
85a495e9a7
Fixup comments.
...
llvm-svn: 165426
2012-10-08 20:48:49 +00:00
Micah Villmow
cdfe20b97f
Move TargetData to DataLayout.
...
llvm-svn: 165402
2012-10-08 16:38:25 +00:00
Eric Christopher
13319578ea
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.
llvm-svn: 165250
2012-10-04 20:46:14 +00:00
Eric Christopher
d7e9a450eb
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.
llvm-svn: 165071
2012-10-02 23:43:11 +00:00
Eric Christopher
a55b1d5b99
80-col.
...
llvm-svn: 165054
2012-10-02 21:44:12 +00:00
Eric Christopher
f01b02b7cf
Don't use a debug location for frame setup instructions in the
...
prologue. Also skip frame setup instructions when looking for the
first location.
llvm-svn: 165052
2012-10-02 21:17:00 +00:00
Jim Grosbach
361ca34270
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
llvm-svn: 164571
2012-09-24 23:06:27 +00:00
Eric Christopher
c1c8a1bb6a
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
llvm-svn: 164419
2012-09-21 22:18:52 +00:00
Eric Christopher
3a3d529e0d
Only emit DW_AT_object_pointer if this is a definition.
...
llvm-svn: 164326
2012-09-20 22:51:57 +00:00
Craig Topper
a60c0f1163
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.
...
llvm-svn: 163974
2012-09-15 17:09:36 +00:00
Eric Christopher
e341776c1e
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.
llvm-svn: 163754
2012-09-12 23:36:19 +00:00
Eric Christopher
c44e973a36
Revert "Add some support for dealing with an object pointer on arguments."
...
This should be done on the subprogram, not the variable itself.
llvm-svn: 163734
2012-09-12 18:42:31 +00:00
Eric Christopher
97c0fdd116
Add some support for dealing with an object pointer on arguments.
...
Part of rdar://9797999
llvm-svn: 163667
2012-09-12 00:26:55 +00:00
Chad Rosier
1778831a3d
[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.
llvm-svn: 163645
2012-09-11 19:09:56 +00:00
Eric Christopher
9fd70c8fb3
Revert r160148 it seems to cause more problems than it should
...
right now. We'll fix PR13303 a different way.
llvm-svn: 163570
2012-09-10 23:34:06 +00:00
Eric Christopher
e8a7b1b741
80-col fixup.
...
llvm-svn: 163569
2012-09-10 23:34:03 +00:00
Eric Christopher
abb4d9ed34
80-col fixup.
...
llvm-svn: 163568
2012-09-10 23:34:00 +00:00
Eric Christopher
a47d096125
No reason to construct this twice.
...
llvm-svn: 163567
2012-09-10 23:33:57 +00:00
Chad Rosier
7641f58784
[ms-inline asm] Properly emit the asm directives when the AsmPrinterVariant
...
and InlineAsmVariant don't match.
llvm-svn: 163550
2012-09-10 21:36:05 +00:00
Chad Rosier
db20a41d99
[ms-inline asm] Pass the correct AsmVariant to the PrintAsmOperand() function
...
and update the printOperand() function accordingly.
llvm-svn: 163544
2012-09-10 21:10:49 +00:00
Benjamin Kramer
68b9f0583f
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.
llvm-svn: 163420
2012-09-07 21:08:01 +00:00
Chad Rosier
1f57bcb1a0
Fix indent.
...
llvm-svn: 163416
2012-09-07 20:23:29 +00:00
Chad Rosier
b759ede963
Update function names to conform to guidelines. No functional change intended.
...
llvm-svn: 163401
2012-09-07 18:16:38 +00:00
Benjamin Kramer
47f9ec92cb
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).
llvm-svn: 163395
2012-09-07 17:25:13 +00:00
Chad Rosier
f24ae7b084
[ms-inline asm] Use the asm dialect from the MI to set the parser dialect.
...
llvm-svn: 163273
2012-09-05 23:57:37 +00:00
Logan Chien
1b170de77a
Reorder the comments of EmitExceptionTable.
...
llvm-svn: 163194
2012-09-05 06:28:26 +00:00
Eric Christopher
2a4e616df6
Clean this up slightly, doesn't really fall through.
...
llvm-svn: 162848
2012-08-29 17:59:32 +00:00
Richard Smith
228e6d4cf3
Fix integer undefined behavior due to signed left shift overflow in LLVM.
...
Reviewed offline by chandlerc.
llvm-svn: 162623
2012-08-24 23:29:28 +00:00
Eric Christopher
bb69a27dbc
Use DW_FORM_flag_present to save space in debug information if we're
...
not in darwin gdb compat mode.
Fixes rdar://10975088
llvm-svn: 162526
2012-08-24 01:14:27 +00:00
Eric Christopher
acb7115bde
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
llvm-svn: 162493
2012-08-23 22:52:55 +00:00
Eric Christopher
20b76a77c3
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.
llvm-svn: 162487
2012-08-23 22:36:40 +00:00
Eric Christopher
4977f214d7
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.
llvm-svn: 162486
2012-08-23 22:36:36 +00:00
Eric Christopher
a876b8243e
Typo.
...
llvm-svn: 162438
2012-08-23 07:32:06 +00:00
Eric Christopher
3a47c3e3cd
Only emit the __debug_inlined section if we're trying to be compatible
...
with older gdbs on darwin.
rdar://10975874
llvm-svn: 162436
2012-08-23 07:32:02 +00:00
Eric Christopher
7782618271
Emit pubtypes only when going for darwin gdb compatibility.
...
rdar://10393214
llvm-svn: 162434
2012-08-23 07:10:56 +00:00
Eric Christopher
978fbff11b
Add an option for darwin gdb compatibility.
...
llvm-svn: 162432
2012-08-23 07:10:46 +00:00
Bill Wendling
34bc34ecae
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>
llvm-svn: 162114
2012-08-17 18:33:14 +00:00
Eric Christopher
160522c25a
Grammar.
...
llvm-svn: 161851
2012-08-14 05:13:29 +00:00
Eric Christopher
b1b9451337
Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causing
...
failures in the debug testsuite and possibly PR13486.
llvm-svn: 161121
2012-08-01 18:19:01 +00:00
Eric Christopher
86ca9f9e11
Add a DW_AT_high_pc for CUs that are a single address range. Update
...
all tests accordingly.
Fixes PR13351.
Patch by shinichiro hamaji!
llvm-svn: 160899
2012-07-27 22:00:05 +00:00
Benjamin Kramer
5be8f60126
Remove unused private member variables uncovered by the recent changes to clang's -Wunused-private-field.
...
llvm-svn: 160583
2012-07-20 22:05:57 +00:00
Eric Christopher
bf57091f8b
The end of the prologue should be marked with is_stmt.
...
Fixes PR13303.
Patch by Paul Robinson!
llvm-svn: 160148
2012-07-12 23:30:25 +00:00