Commit Graph

293 Commits

Author SHA1 Message Date
David Ungar
c0b0b5c5da Eliminate InputFile::setBuffer by having SwiftASTManager create new InputFile's with the buffer set or not as needed. 2017-12-12 15:06:26 -08:00
David Ungar
9105284a06 Refactor setUpInputs in CompilerInstance. 2017-12-12 10:14:33 -08:00
David Ungar
a2dca04092 Trivial changes 2017-12-11 22:58:57 -08:00
David Ungar
724d1c36cd Last round of small changes 2017-12-11 17:19:06 -08:00
David Ungar
08e0d11ce3 Add filename non-empty assertions. 2017-12-08 15:03:27 -08:00
David Ungar
068f5019b8 Relocate <stdin> correction to clarify why needed. 2017-12-08 13:16:49 -08:00
David Ungar
60827b4be3 Rename accessors to InputFile data. 2017-12-08 12:57:32 -08:00
David Ungar
6e3829ec96 Rename isInMainMode to isInputSwift 2017-12-08 11:47:33 -08:00
David Ungar
fb93cfd389 Remove defaultable move constructor. 2017-12-06 15:30:03 -08:00
David Ungar
e85bb9a1ab Use llvm_unreachable. 2017-12-06 15:28:52 -08:00
David Ungar
4806c94a6d Rename argument of numberOfPrimaryInputsEndingWith to extension. 2017-12-06 15:28:27 -08:00
David Ungar
995a6c1b2a Rename doAllNonPrimariesEndWIthSIB to areAllNonPrimariesSIB. 2017-12-06 15:27:50 -08:00
David Ungar
d16c91c623 Remove const from return StringRef value. 2017-12-06 15:26:41 -08:00
David Ungar
f8f2f72679 Remove reference for const auto ... begin() 2017-12-06 15:26:00 -08:00
David Ungar
704d7258d1 Rename hasUniqueInput to hasSingleInput. 2017-12-06 15:25:16 -08:00
David Ungar
4c5d5faa63 Fix setup's. 2017-12-06 15:23:39 -08:00
David Ungar
28b206008f FrontendInputs data structure redo.
- Outlaw duplicate input files, fix driver, fix tests, and add test.
- Reflect that no buffer is present without a (possibly pseudo) named file.
- Reflect fact that every input has a (possible pseudo) name.
- Break up CompilerInstance::setup.

Don't bail on dups.
2017-12-05 17:28:03 -08:00
David Ungar
67fc5e32ce Simple changes to pave the way for the next PR.
- Moved getOutputFilenamesFromCommandLineOrFilelist & readOutputFileLIst to better places in the file.
- Capitalization changes.
- Make actionIsImmediate static.
- Add braces around sections of CompilerInstance::setup to clarify scopes of local variables.
2017-12-03 13:56:06 -08:00
David Ungar
df21c6c266 Taking Jordan's suggestions. 2017-12-01 17:39:08 -08:00
David Ungar
ccb73783dc Bug fixes & module name cleanup.
Unify actionHasOutput w/ doesActionProduceOutput & correct both.
Do not set an output filename if there is no output.
Add test to ensure no output is created in immediate mode.

Restore NFC module name computation.
2017-12-01 12:44:32 -08:00
David Ungar
6de07d050c Review fixes:
Rename isThereAPrimaryInputWithAFilenameAt to isInputPrimary.
Remove spurious delayed_function_body_parsing.
Simply return type of getOutputFilenamesFromCommandLineOrFilelist.
2017-11-30 17:28:15 -08:00
David Ungar
04c16cdebd Incorperate advice from review.
Change “have” routines to “has”.
Use more consistent casing.
Remove spurious “DelayedFunctionParsing” option.
Move debugFail routines to top lexical level.
Rename and reorder declaration of functions in FrontendArgsToOptionsConverter.
Move, reword, and doxygenate comments for some of those functions.
Fix casing on some more setUp* functions.
Return NoneAction instead of existing RequestedAction in FrontendArgsToOptionsConverter::determineRequestedAction.
Remove test names and put in FIXME’s.
Remove “Jordan” from comments & reword.
Reorder if-then arms of FrontendArgsToOptionsConverter::computeOutputFilenames for readability.
Test for empty string instead of equality with “”.
Use hasUnusedModuleDocOutputPath.
Remove optionality from return type of getOutputFilenamesFromCommandLineOrFilelist.
Rename isPrimaryInputAFileAt to isThereAPrimaryInputWithAFilenameAt.
Added a FIXME in doesActionProduceOutput to reflect that some actions actually do not produce output.
2017-11-30 17:28:15 -08:00
David Ungar
6d2e3f51e7 Break up ParseFrontendOptions and reorganize module and output files computations. 2017-11-30 17:28:14 -08:00
Arnold Schwaighofer
1a0443040e Revert "Merge pull request #12952 from davidungar/move-in-to-next"
This reverts commit 911140c7e1, reversing
changes made to 5590a2ff91.

This broke the incremental bot.

rdar://35746584
2017-11-29 08:09:42 -08:00
David Ungar
d16ae98e2a Review fixes:
Rename isThereAPrimaryInputWithAFilenameAt to isInputPrimary.
Remove spurious delayed_function_body_parsing.
Simply return type of getOutputFilenamesFromCommandLineOrFilelist.
2017-11-28 13:28:10 -08:00
David Ungar
b4681b154d Incorperate advice from review.
Change “have” routines to “has”.
Use more consistent casing.
Remove spurious “DelayedFunctionParsing” option.
Move debugFail routines to top lexical level.
Rename and reorder declaration of functions in FrontendArgsToOptionsConverter.
Move, reword, and doxygenate comments for some of those functions.
Fix casing on some more setUp* functions.
Return NoneAction instead of existing RequestedAction in FrontendArgsToOptionsConverter::determineRequestedAction.
Remove test names and put in FIXME’s.
Remove “Jordan” from comments & reword.
Reorder if-then arms of FrontendArgsToOptionsConverter::computeOutputFilenames for readability.
Test for empty string instead of equality with “”.
Use hasUnusedModuleDocOutputPath.
Remove optionality from return type of getOutputFilenamesFromCommandLineOrFilelist.
Rename isPrimaryInputAFileAt to isThereAPrimaryInputWithAFilenameAt.
Added a FIXME in doesActionProduceOutput to reflect that some actions actually do not produce output.
2017-11-28 09:21:35 -08:00
David Ungar
b37219f791 Break up ParseFrontendOptions and reorganize module and output files computations. 2017-11-27 20:52:25 -08:00
David Ungar
83ee8cb7f0 Merge pull request #12920 from davidungar/Move-input-conversion
Move input conversion
2017-11-27 17:13:48 -08:00
David Ungar
0b39a883c2 Fix capitalization of setUpForFileAt 2017-11-21 09:48:55 -08:00
David Ungar
26537ea26c Address Jordan’s comments:
- Also be consistent about has vs have for Input predicates

Fix bug.
2017-11-18 14:00:32 -08:00
Slava Pestov
076d5ee242 Frontend: Remove -delayed-function-body-parsing flag 2017-11-18 11:31:19 -05:00
Slava Pestov
957427fbfc Frontend: Rework delayed parsing mode a bit 2017-11-18 11:08:18 -05:00
David Ungar
ad217f7ce6 Fix StringRef parameter declaration. 2017-11-14 20:54:43 -08:00
David Ungar
3f3d784144 Factor code from tools & move input conversion. 2017-11-14 20:48:59 -08:00
David Ungar
a406d3ae3f Factor common code out of tools into CompilerInvocation::setUpInputForSILTool. 2017-11-14 20:31:53 -08:00
David Ungar
45bf920654 Formatted. 2017-11-13 15:03:52 -08:00
David Ungar
495aeeca3f Change enum ActionType to enum class ActionType. 2017-11-13 14:53:18 -08:00
Doug Gregor
5d5e6122f3 [GSB] Add verification of all generic signatures within a module.
Add a verification pass to ensure that all of the generic signatures in
a module are both minimal and canonical. The approach taken is quite
direct: for every (canonical) generic signature in the module, try
removing a single requirement and forming a new generic signature from
the result. If that new generic signature that provide the removed
requirement, then the original signature was not minimal.

Also canonicalize each resulting signature, to ensure that it meets the
requirements for a canonical signature.

Add a test to ensure that all of the generic signatures in the Swift
module are minimal and canonical, since they are ABI.
2017-11-07 15:20:38 -08:00
David Ungar
098cc33f06 Remove stale comment 2017-10-10 13:06:30 -07:00
David Ungar
47ee930a50 git-clang-format'ed 2017-10-08 23:56:03 -07:00
David Ungar
c1821755de NFC: First step (refactoring) towards speeding up compilation by having multiple primary files: Creates new class, FrontendInputs, to encapsulate InputFilenames, InputBuffers, and PrimaryInput, which were formerly in FrontendOptions. Add new instance variable, Inputs, to FrontendOptions in order to hold FrontendInputs.
Encapsulate uses of the variables in FrontendInputs with intention-describing functions. Move some code that sets these variables into FrontendInputs and FrontendOptions classes.

Create new FrontendInputs class to encapsulate InputFilenames, InputBuffers and PrimaryInput, which were formerly in Frontend.

Includes one change in SwiftEditor.cpp to resolve a merge conflict.
2017-10-08 10:20:37 -07:00
Graydon Hoare
85dda86130 Merge pull request #12071 from graydon/trace-stats-deltas
Trace stats deltas
2017-09-22 22:25:58 -07:00
Graydon Hoare
994ad7ad92 [stats] Add -trace-stats-events 2017-09-22 19:16:50 -04:00
David Ungar
42b04a8a9b Merged checkTypesWhileParsingMain into its caller. 2017-09-19 16:57:45 -07:00
David Ungar
fef5551fdb Added consts to implicitImports refs & fixed dangling new in computeDelayedParsingCallback.
# Conflicts:
#	lib/Frontend/Frontend.cpp
2017-09-19 16:57:45 -07:00
David Ungar
3d2484af28 git-clang-format
# Conflicts:
#	lib/Frontend/Frontend.cpp
2017-09-18 14:02:50 -07:00
David Ungar
4653c92e25 Renamed finishTypeCheckingMainModule to finishTypeChecking
# Conflicts:
#	lib/Frontend/Frontend.cpp
2017-09-18 14:01:57 -07:00
David Ungar
01c54fe13d git-clang-format 2017-09-14 16:58:06 -07:00
David Ungar
cb80010216 Jordan's comments
Use function_ref
Rename generateOutputForTheWholeModule
Constify createRELPFile
Rename typeCheckMainModule
Move shouldImportSwiftOnoneModule
Rename timer in performTypeChecking
2017-09-14 16:58:06 -07:00
David Ungar
ba536b1fc7 format 2017-09-14 16:58:06 -07:00