Commit Graph

18 Commits

Author SHA1 Message Date
Jonas Devlieghere
a7fc85aedb [test] XFAIL local-vars.swift.gyb on Windows 2019-12-03 18:39:52 -08:00
Jonas Devlieghere
7e3ba68d2d [test] Re-enable local-vars.swift.gyb
This test was disabled because of a bug in dwarfdump's verifier. The bug
was fixed which means this test should be enabled again.
2019-12-02 16:38:03 -08:00
Bob Wilson
1b453be929 Update radar number in DebugInfo test
The current radar tracking this disabled test is rdar://problem/47777473
See also the similar change on master-next in
https://github.com/apple/swift/pull/22484
2019-02-08 14:57:51 -08:00
Xi Ge
539eb28a67 Revert "Revert "[test] disable a failing test DebugInfo/local-vars.swift.gyb. rdar://45708367"" 2018-10-31 14:07:02 -07:00
adrian-prantl
4038eeed87 Revert "[test] disable a failing test DebugInfo/local-vars.swift.gyb. rdar://45708367" 2018-10-31 13:05:26 -07:00
Xi Ge
8f4ea96309 [test] disable a failing test DebugInfo/local-vars.swift.gyb. rdar://45708367 2018-10-31 12:38:01 -07:00
Jonas Devlieghere
9e6206c87f Unfail DebugInfo/local-vars.swift.gyb 2018-09-03 14:42:15 -07:00
Mike Ash
0e670df941 XFAIL the DebugInfo/local-vars.swift.gyb test on Linux until it's fixed. 2018-08-28 17:41:46 -04:00
Mark Lacey
cb674efaa4 Fixes for uses of noescape functions.
Disallow noescape functions from being inferred as escaping functions,
or passed as Any.

Fixes rdar://problem/24097075.
2018-03-18 22:01:55 -07:00
Adrian Prantl
7cd6f235a4 Reenable dwarfdump --verify on end-to-end tests 2018-02-28 11:28:14 -08:00
Adrian Prantl
9b6a9946ec Be explicit about whether a DebugInfo-carying SILInstruction has debug info.
This patch both makes debug variable information it optional on
alloc_stack and alloc_box instructions, and forced variable
information on debug_value and debug_value_addr instructions. The
change of the interface uncovered a plethora of bugs in SILGen,
SILTransform, and IRGen's LoadableByAddress pass.

Most importantly this fixes the previously commented part of the
DebugInfo/local-vars.swift.gyb testcase.

rdar://problem/37720555
2018-02-21 10:50:19 -08:00
Adrian Prantl
49b9c1fd6f Extend test/DebugInfo/local-vars.swift.gyb to include more scenarios.
New data types include various forms of enums, tuples, large structs,
generics, and existentials. New contexts include switch statements
closure captures and (also) tuples.

This uncovered at least one bug so some of the CHECKs are commented out.

<rdar://problem/36031959>
2018-02-20 13:50:41 -08:00
Adrian Prantl
8e309c0570 Adapt testcases to upstream changes in llvm-dwarfdump. 2017-09-12 16:04:06 -07:00
Michael Gottesman
dfa39c1f22 [lit] Make sure that we use the just built llvm-dwarfdump in lit and update debug info tests accordingly. 2016-09-25 02:54:06 -07:00
Dmitri Gribenko
d175b3b66d Migrate FileCheck to %FileCheck in tests 2016-08-10 23:52:02 -07:00
Chris Lattner
af30ae3222 Remove the last parts of the Boolean protocol, finishing up:
SE-0109: Remove the Boolean protocol.

We still love you George, even if we forgot your e.
2016-07-17 22:18:17 -07:00
Adrian Prantl
d3f8c1ea96 Fix a logic error that would cause shadow copies to be emitted at -O.
<rdar://problem/27206870>
2016-07-06 15:46:27 -07:00
Adrian Prantl
bffda8a78d Debugging: Extend the live ranges of local values at -Onone.
For many local values we can avoid a shadow alloca by directly
describing them with a dbg.value. This also enables precise liveness
so variables don't show up in the debugger before they are
initialized. Unfortunately this also means that values will disappear
when they are no longer needed.

This patch inserts an empty inline assembler expression depending on
the llvm::Value that is being described in the blocks dominated by it.
This uses less stack space than full shadow copies *and* allows us to
track the liveness of the variable completely. It may cause values to
be spilled onto the stack, though.

<rdar://problem/26627376>
2016-06-24 10:35:45 -07:00