Add "interface hash" for improved incremental builds.

Compute the hash of all interface tokens when parsing; write the
interface hash to the swiftdeps file, or if the -dump-interface-hash
option is passed to the frontend. This hash will be used in incremental
mode to determine whether a file's interface has changed, and therefore
whether dependent files need to be rebuilt in response to the change.

Committed on ChrisW's behalf while he gets his setup unborked.

rdar://problem/15352929

Swift SVN r30477
This commit is contained in:
Jordan Rose
2015-07-22 00:13:54 +00:00
parent 50a667b295
commit fbb8d3f9a8
18 changed files with 240 additions and 7 deletions

View File

@@ -939,6 +939,7 @@ void Driver::buildOutputInfo(const ToolChain &TC, const DerivedArgList &Args,
case options::OPT_dump_ast:
case options::OPT_print_ast:
case options::OPT_dump_type_refinement_contexts:
case options::OPT_dump_interface_hash:
OI.CompilerOutputType = types::TY_Nothing;
break;