|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2 |
|
| #
3538b39e |
| 15-May-2018 |
Nicola Zaghen <[email protected]> |
[clang] Update uses of DEBUG macro to LLVM_DEBUG.
The DEBUG() macro is very generic so it might clash with other projects. The renaming was done as follows: - git grep -l 'DEBUG' | xargs sed -i 's/\
[clang] Update uses of DEBUG macro to LLVM_DEBUG.
The DEBUG() macro is very generic so it might clash with other projects. The renaming was done as follows: - git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g' - git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM
Explicitly avoided changing the strings in the clang-format tests.
Differential Revision: https://reviews.llvm.org/D44975
llvm-svn: 332350
show more ...
|
|
Revision tags: llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
| #
c5e3647f |
| 03-Jan-2018 |
Adrian Prantl <[email protected]> |
-gmodules: Emit debug info for implicit module imports via #include.
When a type is only used as a template parameter and that type is the only type imported from another #include'd module, no skele
-gmodules: Emit debug info for implicit module imports via #include.
When a type is only used as a template parameter and that type is the only type imported from another #include'd module, no skeleton CU for that module is generated, so a consumer doesn't know where to find the type definition. By emitting an import declaration, we can force a skeleton CU to be generated for each imported module.
rdar://problem/36266156
llvm-svn: 321754
show more ...
|
| #
1b88aced |
| 03-Jan-2018 |
Adrian Prantl <[email protected]> |
Simplify code (NFC)
llvm-svn: 321750
|
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
| #
9a1a1aa2 |
| 18-Jul-2017 |
Adrian Prantl <[email protected]> |
Debug Info: Set the MainFileName when generating -gmodules debug info for PCM.
Previously it was uninitialized and thus always defaulted to "<stdin>". This is mostly a cosmetic change that helps mak
Debug Info: Set the MainFileName when generating -gmodules debug info for PCM.
Previously it was uninitialized and thus always defaulted to "<stdin>". This is mostly a cosmetic change that helps making the debug info more readable.
llvm-svn: 308397
show more ...
|
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
| #
60fa2888 |
| 13-Mar-2017 |
Duncan P. N. Exon Smith <[email protected]> |
Modules: Use hash of PCM content for SIGNATURE
Change ASTFileSignature from a random 32-bit number to the hash of the PCM content.
- Move definition ASTFileSignature to Basic/Module.h so Module a
Modules: Use hash of PCM content for SIGNATURE
Change ASTFileSignature from a random 32-bit number to the hash of the PCM content.
- Move definition ASTFileSignature to Basic/Module.h so Module and ASTSourceDescriptor can use it.
- Change the signature from uint64_t to std::array<uint32_t,5>.
- Stop using (saving/reading) the size and modification time of PCM files when there is a valid SIGNATURE.
- Add UNHASHED_CONTROL_BLOCK, and use it to store the SIGNATURE record and other records that shouldn't affect the hash. Because implicit modules reuses the same file for multiple levels of -Werror, this includes DIAGNOSTIC_OPTIONS and DIAG_PRAGMA_MAPPINGS.
This helps to solve a PCH + implicit Modules dependency issue: PCH files are handled by the external build system, whereas implicit modules are handled by internal compiler build system. This prevents invalidating a PCH when the compiler overwrites a PCM file with the same content (modulo the diagnostic differences).
Design and original patch by Manman Ren!
llvm-svn: 297655
show more ...
|
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
| #
888e289e |
| 05-Jan-2017 |
Saleem Abdulrasool <[email protected]> |
CodeGen: plumb header search down to the IAS
inline assembly may use the `.include` directive to include other content into the file. Without the integrated assembler, the `-I` group gets passed to
CodeGen: plumb header search down to the IAS
inline assembly may use the `.include` directive to include other content into the file. Without the integrated assembler, the `-I` group gets passed to the assembler. Emulate this by collecting the header search paths and passing them to the IAS.
Resolves PR24811!
llvm-svn: 291123
show more ...
|
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
77c89b69 |
| 08-Nov-2016 |
Peter Collingbourne <[email protected]> |
Bitcode: Decouple block info block state from reader.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html
Move block info block state to a new class, Bitstrea
Bitcode: Decouple block info block state from reader.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html
Move block info block state to a new class, BitstreamBlockInfo. Clients may set the block info for a particular cursor with the BitstreamCursor::setBlockInfo() method.
At this point BitstreamReader is not much more than a container for an ArrayRef<uint8_t>, so remove it and replace all uses with direct uses of memory buffers.
Differential Revision: https://reviews.llvm.org/D26259
llvm-svn: 286207
show more ...
|
| #
028eb5a3 |
| 02-Nov-2016 |
Peter Collingbourne <[email protected]> |
Bitcode: Change reader interface to take memory buffers.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106595.html
This change also fixes an API oddity where Bitstr
Bitcode: Change reader interface to take memory buffers.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106595.html
This change also fixes an API oddity where BitstreamCursor::Read() would return zero for the first read past the end of the bitstream, but would report_fatal_error for subsequent reads. Now we always report_fatal_error for all reads past the end. Updated clients to check for the end of the bitstream before reading from it.
I also needed to add padding to the invalid bitcode tests in test/Bitcode/. This is because the streaming interface was not checking that the file size is a multiple of 4.
Differential Revision: https://reviews.llvm.org/D26219
llvm-svn: 285773
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
| #
576b2dbe |
| 17-Aug-2016 |
Adrian Prantl <[email protected]> |
Support object-file-wrapped modules in clang -module-file-info.
rdar://problem/24504815
llvm-svn: 279004
|
|
Revision tags: llvmorg-3.9.0-rc1 |
|
| #
03f8907f |
| 15-Jul-2016 |
Peter Collingbourne <[email protected]> |
Frontend: Simplify ownership model for clang's output streams.
This changes the CompilerInstance::createOutputFile function to return a std::unique_ptr<llvm::raw_ostream>, rather than an llvm::raw_o
Frontend: Simplify ownership model for clang's output streams.
This changes the CompilerInstance::createOutputFile function to return a std::unique_ptr<llvm::raw_ostream>, rather than an llvm::raw_ostream implicitly owned by the CompilerInstance. This in most cases required that I move ownership of the output stream to the relevant ASTConsumer.
The motivation for this change is to allow BackendConsumer to be a client of interfaces such as D20268 which take ownership of the output stream.
Differential Revision: http://reviews.llvm.org/D21537
llvm-svn: 275507
show more ...
|
| #
59f77921 |
| 24-Jun-2016 |
David Majnemer <[email protected]> |
Use more ArrayRefs
No functional change is intended, just a small refactoring.
llvm-svn: 273647
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
| #
cfeacf56 |
| 27-May-2016 |
Benjamin Kramer <[email protected]> |
Apply clang-tidy's misc-move-constructor-init throughout Clang.
No functionality change intended, maybe a tiny performance improvement.
llvm-svn: 270996
|
| #
af09f4ac |
| 03-May-2016 |
David Blaikie <[email protected]> |
[modules][debuginfo] Only include imported modules when targeting LLDB
These constructs are only applicable to a debugger capable of loading a Clang AST, so omit them for brevity when not doing so.
[modules][debuginfo] Only include imported modules when targeting LLDB
These constructs are only applicable to a debugger capable of loading a Clang AST, so omit them for brevity when not doing so.
We could potentially propagate more of CodeGenOptions through the ObjectFilePCGContainerOperations for consistency (so the next person who adds some CodeGenOpts feature that tweaks debug info output doesn't get caught by this), so I'm open to objections/alternatives there, but went with this for now.
Tested just a couple of basic cases (one direct, one indirect (through the ObjectFilePCHContainerOperations) & fixed up other cases to pass the -debugger-tuning flag as appropriate.
llvm-svn: 268460
show more ...
|
| #
10a4972a |
| 08-Apr-2016 |
Saleem Abdulrasool <[email protected]> |
revert SVN r265702, r265640
Revert the two changes to thread CodeGenOptions into the TargetInfo allocation and to fix the layering violation by moving CodeGenOptions into Basic. Code Generation is a
revert SVN r265702, r265640
Revert the two changes to thread CodeGenOptions into the TargetInfo allocation and to fix the layering violation by moving CodeGenOptions into Basic. Code Generation is arguably not particularly "basic". This addresses Richard's post-commit review comments. This change purely does the mechanical revert and will be followed up with an alternate approach to thread the desired information into TargetInfo.
llvm-svn: 265806
show more ...
|
| #
94cfc603 |
| 07-Apr-2016 |
Saleem Abdulrasool <[email protected]> |
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions i
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions into TargetInfo. It should also fix the modules based self-hosting builds. NFC.
llvm-svn: 265702
show more ...
|
| #
5a9a4277 |
| 07-Mar-2016 |
Adrian Prantl <[email protected]> |
Module Debugging: Fix a crash when emitting debug info for nested tag types whose DeclContext is not yet complete by deferring their emission.
rdar://problem/24918680
llvm-svn: 262851
|
| #
b214cbc7 |
| 04-Mar-2016 |
James Y Knight <[email protected]> |
Make TargetInfo store an actual DataLayout instead of a string.
Use it to calculate UserLabelPrefix, instead of specifying it (often incorrectly).
Note that the *actual* user label prefix has alway
Make TargetInfo store an actual DataLayout instead of a string.
Use it to calculate UserLabelPrefix, instead of specifying it (often incorrectly).
Note that the *actual* user label prefix has always come from the DataLayout, and is handled within LLVM. The main thing clang's TargetInfo::UserLabelPrefix did was to set the #define value. Having these be different from each-other is just silly.
Differential Revision: http://reviews.llvm.org/D17183
llvm-svn: 262737
show more ...
|
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2 |
|
| #
8c30592e |
| 02-Feb-2016 |
Benjamin Kramer <[email protected]> |
Move DebugInfoKind into its own header to cut the cyclic dependency edge from Driver to Frontend.
llvm-svn: 259489
|
| #
3a2d4947 |
| 22-Jan-2016 |
Adrian Prantl <[email protected]> |
Module Debugging: Canonicalize the file names used as PCH module names by stripping the path. Follow-up to r258555.
This is safe because only one PCH per CU is currently supported for module debuggi
Module Debugging: Canonicalize the file names used as PCH module names by stripping the path. Follow-up to r258555.
This is safe because only one PCH per CU is currently supported for module debugging.
rdar://problem/24301262
llvm-svn: 258582
show more ...
|
| #
aa5d08d0 |
| 22-Jan-2016 |
Adrian Prantl <[email protected]> |
Module debugging: Create a parent DIModule with the PCH name for types emitted into a precompiled header to mirror the debug info emitted for object files importing the PCH.
rdar://problem/24290667
Module debugging: Create a parent DIModule with the PCH name for types emitted into a precompiled header to mirror the debug info emitted for object files importing the PCH.
rdar://problem/24290667
llvm-svn: 258555
show more ...
|
| #
98bfc82c |
| 22-Jan-2016 |
Adrian Prantl <[email protected]> |
Fix the build by using the correct suffix for 64 bit literals
llvm-svn: 258531
|
| #
ae108c47 |
| 22-Jan-2016 |
Adrian Prantl <[email protected]> |
Fix a typo in r258507 and change the PCH dwoid constant to ~1UL.
rdar://problem/24290667
llvm-svn: 258519
|
| #
c96da8fa |
| 22-Jan-2016 |
Adrian Prantl <[email protected]> |
Module Debugging: Use a nonzero DWO id for precompiled headers. PCH files don't have a module signature and LLVM uses a nonzero DWO id as an indicator for skeleton / module CUs. This change pins the
Module Debugging: Use a nonzero DWO id for precompiled headers. PCH files don't have a module signature and LLVM uses a nonzero DWO id as an indicator for skeleton / module CUs. This change pins the DWO id for PCH files to a known constant value. The correct long-term solution here is to implement a module signature that is an actual dterministic hash (at the moment module signatures are just random nonzero numbers) and then enable this for PCH files as well.
<rdar://problem/24290667>
llvm-svn: 258507
show more ...
|
| #
cd975018 |
| 19-Jan-2016 |
Adrian Prantl <[email protected]> |
Module Debugging: Make sure that anonymous tag decls that define global variables are visited.
This shouldn't encourage anyone to put global variables into clang modules. rdar://problem/24199640
ll
Module Debugging: Make sure that anonymous tag decls that define global variables are visited.
This shouldn't encourage anyone to put global variables into clang modules. rdar://problem/24199640
llvm-svn: 258250
show more ...
|
|
Revision tags: llvmorg-3.8.0-rc1 |
|
| #
e5238d2a |
| 19-Jan-2016 |
Adrian Prantl <[email protected]> |
Module Debugging: Defer the emission of anonymous tag decls until we are visiting their declcontext.
This fixes a regression introduced in r256962: When building debug info for a typdef'd anonymous
Module Debugging: Defer the emission of anonymous tag decls until we are visiting their declcontext.
This fixes a regression introduced in r256962: When building debug info for a typdef'd anonymous tag type, we would be visiting the inner anonymous type first thus creating a "typedef changes linkage of anonymous type, but linkage was already computed" error.
rdar://problem/24199640
llvm-svn: 258152
show more ...
|