Commit Graph

197 Commits

Author SHA1 Message Date
Adrian Prantl
3db3eab09c Debug info: Cleanup: use a single catch-all for all internal opaque types.
Swift SVN r16132
2014-04-09 22:09:03 +00:00
Adrian Prantl
8d0e1d3376 [PLEASE UPDATE LLVM/CLANG] Debug info: Rebase DWARF output for imported
modules on LLVM/trunk.
This should fix most open module related bugs and in a way that is
compatible with upstream LLVM.

<rdar://problem/16539726> Fix debug info for modules after LLVM r205685
<rdar://problem/16504765> Emit DW_TAG_namespace entry for the current module into DWARF

Swift SVN r16086
2014-04-09 00:11:02 +00:00
Greg Parker
a11eff260f Adapt to header file changes in llvm r203038 and r203046.
Swift SVN r14716
2014-03-06 02:04:32 +00:00
Dmitri Hrybenko
a39d5b4f42 Track LLVM ToT header file name changes
This should unbreak the buildbot.


Swift SVN r14642
2014-03-04 13:11:01 +00:00
Adrian Prantl
8948375658 Debug Info: Cleanup: Remove debug scope from DebugTypeInfo.
Swift SVN r14548
2014-03-01 00:50:50 +00:00
Adrian Prantl
c1eda9c7e7 Debug info: do not emit linetable info for ObjC thunks and other auto_gen
code.
<rdar://problem/15975329> Don't emit line numbers for Thunks

Swift SVN r13872
2014-02-13 20:33:33 +00:00
Adrian Prantl
7468054191 Debug info: Emit O0 shadow copies more consistently for (most) debuggable
values.

Swift SVN r12803
2014-01-22 22:42:07 +00:00
Adrian Prantl
03bb47e017 Debug info: Emit "global" variables in the top level module as static
variables of SWIFT_ENTRY_POINT_FUNCTION.
<rdar://problem/15805751> Emit top-level variables as DWARF

Swift SVN r12362
2014-01-15 23:56:27 +00:00
Adrian Prantl
395bd1eede Debug info: record the module name in DWARF. For the time being this is
done via an DW_TAG_imported_module.
rdar://problem/15711613.

Swift SVN r12035
2014-01-08 02:34:29 +00:00
Adrian Prantl
baa048e89a Remove functions from the debug info generator's internal data structures
prior to erasing them from the module. This should fix
<rdar://problem/15700509> ASan reports a use-after-free in IRGen

Swift SVN r11479
2013-12-19 19:37:56 +00:00
Connor Wakamo
59f18f9fc0 Renamed irgen::Options and irgen::OutputKind to IRGenOptions and IRGenOutputKind, and move both out of the irgen namespace now that they're in swiftAST.
Swift SVN r11405
2013-12-18 01:17:09 +00:00
Adrian Prantl
1bcbaedcd0 Debug info: get rid of intrinsickind.
Swift SVN r11101
2013-12-10 23:53:18 +00:00
Adrian Prantl
e385446593 Debug info: Get the storage size of basic types from llvm::DataLayout.
Swift SVN r10925
2013-12-06 18:15:39 +00:00
Adrian Prantl
2055386e0c Debug Info: Move the argument ordering logic into IRGenSILFunction and
get rid of the hack that used to be in IRGenDebugInfo.
This commit also adds a bunch of interesting testcases for function args.
Fixes <rdar://problem/15464454> Arguments sometimes go missing.

Swift SVN r10873
2013-12-05 18:51:07 +00:00
Adrian Prantl
41e92af7ae Mangler: Add a DWARF-only mangling for type aliases that includes the
decl context of the type alias.
This implements <rdar://problem/15290346> "typealias sugar needs to be
mangled into debug info mangled type names".

Swift SVN r10749
2013-12-03 17:15:18 +00:00
Adrian Prantl
b0276bda79 Debug info: Emit the names of struct members when emitting their types.
I'm somewhat surprised no one complained about this before.

Swift SVN r10666
2013-11-22 22:17:43 +00:00
Adrian Prantl
7fca2d8142 Debug info: Encode the provenance of types imported from Objective-C in
the debug info.
<rdar://problem/15414884> Debug information must indicate location of Objective-C types

Swift SVN r10580
2013-11-20 03:38:21 +00:00
John McCall
f2edd610cb Don't give IRGenDebugInfo privileged access to the TypeConverter.
Now that it's using the public routines for getting a TypeInfo,
make sure it's actually lowering types appropriately.

Swift SVN r10571
2013-11-20 00:14:19 +00:00
John McCall
20e58dcf93 Change the type of function values in SIL to SILFunctionType.
Perform major abstraction remappings in SILGen.  Introduce
thunking functions as necessary to map between abstraction
patterns.

Swift SVN r10562
2013-11-19 22:55:09 +00:00
Adrian Prantl
459db73092 Debug info: Move the logic for emitting type metadata arguments to
GenProto, and emit both the mangled name and the type variable used by the
programmer for archetypes.
Fixes <rdar://problem/15346134> The $swift.type metadata arguments do not show up anymore

Swift SVN r9844
2013-10-31 04:50:33 +00:00
Adrian Prantl
ebeeebf116 Debug info: Reset the debug location after emitting the initial phi-node
locations for a more coherent line table. Relax testcase.

Swift SVN r9745
2013-10-28 23:14:45 +00:00
Adrian Prantl
5bbe0afb9f Debug info: Properly handle the function prologue in the line table.
Introduces a new flag in SILLocation: InPrologue to mark instructions
that setup the stack and allocate storage for local variables/arguments.

Fixes rdar://problem/15290023: Breakpoint set on prologue - crash ensues.

Swift SVN r9686
2013-10-26 00:12:20 +00:00
Adrian Prantl
29ae59ee1c Debug info: some refactoring to make emitVariableDeclaration more flexible.
Swift SVN r9608
2013-10-23 00:38:57 +00:00
Adrian Prantl
37a0827386 Debug info: fix a bug with indirect values by using enums for type-safety.
rdar://problem/15248201

Swift SVN r9463
2013-10-17 21:16:42 +00:00
Adrian Prantl
65dc82d530 Debug info: emit Archetypes and their conforming protocols.
Fixes rdar://problem/15209779 and rdar://problem/15211793.

Swift SVN r9422
2013-10-16 22:14:37 +00:00
Adrian Prantl
88e5426c71 Debug info: Line table: Calls to swift_releases should not jump to the
point where that memory was retained/allocated.
rdar://problem/15204469

Swift SVN r9235
2013-10-11 23:37:40 +00:00
Adrian Prantl
adc913b73c Debug info: The end of the prologue should point to the opening brace.
Some refactoring the separate the needs of the line table versus decls.
rdar://problem/15204469

Swift SVN r9224
2013-10-11 22:15:10 +00:00
Adrian Prantl
c0df8ffecf Bring swift up to sync with ToT LLVM. Please *upgrade both*.
Lookup types using a DITypeIdentifierMap.

Swift SVN r9175
2013-10-10 21:42:55 +00:00
Adrian Prantl
84f439735a Make BumpAllocatedString a member of IRGenDebugInfo.
Swift SVN r9159
2013-10-10 18:47:03 +00:00
Adrian Prantl
41c63e2ebf Debug info: Emit swift.type as a name alias $swift.type so the data
formatters can recognize is easily.

Swift SVN r9118
2013-10-10 00:47:00 +00:00
Adrian Prantl
23ca48185a Debug info: Emit an artificial variable to describe type parameters.
Implements rdar://problem/14978875

Swift SVN r9097
2013-10-09 22:23:09 +00:00
John McCall
b880e60100 Remove SILFunctionTypeInfo in favor of SILFunctionType.
We still don't actually use this as a type, however.

Swift SVN r9091
2013-10-09 20:55:55 +00:00
Adrian Prantl
8808d48578 Debug info: emit captured variables in closures. rdar://problem/15035486
Swift SVN r8859
2013-10-02 22:46:03 +00:00
Adrian Prantl
61b5d055ef Debug info: allow for boxed arguments. rdar://problem/15035486
Swift SVN r8713
2013-09-27 00:31:20 +00:00
Adrian Prantl
6009987432 Debug info: implement support for shadow-copied [byref] arguments.
This patch has a negative line balance -- those are my favorite!

Swift SVN r8655
2013-09-25 20:17:21 +00:00
Joe Groff
e109124186 Replace 'union' keyword with 'enum'.
This only touches the compiler and tests. Doc updates to follow.

Swift SVN r8478
2013-09-20 01:33:14 +00:00
Adrian Prantl
4b24197392 Reorganize includes.
Swift SVN r8450
2013-09-19 18:04:47 +00:00
Adrian Prantl
021bdd70d0 Debug info: emit the return type for main().
Lldb gets really confused otherwise.

Swift SVN r8430
2013-09-18 23:49:09 +00:00
Adrian Prantl
247b925ded Debug info: Implement bound generic unions properly.
Swift SVN r8363
2013-09-17 22:53:31 +00:00
Adrian Prantl
b80840dc97 Debug info: Implement function pointers. rdar://problem/14960518
Swift SVN r8267
2013-09-15 02:57:25 +00:00
Adrian Prantl
950f819603 Debug info: support protocol function arguments. rdar://problem/14978875
Swift SVN r8261
2013-09-15 01:26:17 +00:00
Adrian Prantl
5f7ea89fb1 Debug info: Boxed values need an extra deref.
Swift SVN r8226
2013-09-13 23:31:12 +00:00
Adrian Prantl
6fb78ed5e5 Debug info: Add initial support for boxed values on the heap.
Swift SVN r8221
2013-09-13 23:14:52 +00:00
Adrian Prantl
ba105c5705 Debug info: Emit byref parameter types as reference types.
Also scan store instructions for byref arguments.

Swift SVN r8209
2013-09-13 20:58:23 +00:00
Adrian Prantl
25f3bfe202 Debug info: Implement [byref] function arguments. rdar://problem/14949469
Swift SVN r8197
2013-09-13 16:03:45 +00:00
Adrian Prantl
46caf67a2d More cleanups: Someone implemented Size and Alignment while I wasn't looking :-)
Swift SVN r8121
2013-09-11 23:47:04 +00:00
Adrian Prantl
7433fec229 misc cleanup. No functionality change.
Swift SVN r8106
2013-09-11 20:53:18 +00:00
Adrian Prantl
46f616938c Debug info: Emit mangled name for bound generic structs and classes.
Implements rdar://problem/14802271

Swift SVN r8095
2013-09-11 17:58:54 +00:00
Adrian Prantl
af562d1696 Debug info: name mangling for composite types containing Archetypes.
Among other things this enables mangled names for tuples.
This adds a pointer to the DeclContext to SILFunction and which is used
to provide the necessary context to the Mangler.
Fixes rdar://problem/14808764 and rdar://problem/14813658.

Swift SVN r8070
2013-09-10 17:04:33 +00:00
Anna Zaks
e36839ca8a [IRGen] Eliminate calls to SILLocation() from IRGen.
Here, the location information does not have to always be available. Use Optional instead of creating an empty location.

Swift SVN r8055
2013-09-09 22:34:01 +00:00