summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
AgeCommit message (Collapse)Author
2024-11-03[AsmPrinter] Remove unused includes (NFC) (#114698)Kazu Hirata
Identified with misc-include-cleaner.
2023-05-04[MSP430] Get the DWARF pointer size from MCAsmInfo instead of DataLayout.Ilya Kuklin
This change will allow to put code pointers in DWARF info fields that are larger than actual pointer size, e.g. 16-bit pointers into 32-bit fields. The need for this came up while creating support for MSP430 in LLDB. MSP430-GCC already generates DWARF info with 32-bit fields, so this change is necessary for LLDB to maintain compatibility with both GCC and LLVM binaries. Moreover, right now in LLDB there is no support for having DWARF pointer size different from ELF header type, e.g. 16-bit DWARF info within ELF32, and it seems there is no such thing as ELF16. Since other mainline targets are made to have the same pointer size in both MCAsmInfo and DataLayout, there is no need to change anything there. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D148042
2022-06-10[MC] De-capitalize SwitchSection. NFCFangrui Song
Add SwitchSection to return switchSection. The API will be removed soon.
2022-03-25DebugInfo: Don't allow type units to references types in the CUDavid Blaikie
We could only do this in limited ways (since we emit the TUs first, we can't use ref_addr (& we can't use that in Split DWARF either) - so we had to synthesize declarations into the TUs) and they were ambiguous in some cases (if the CU type had internal linkage, parsing the TU would require knowing which CU was referencing the TU to know which type the declaration was for, which seems not-ideal). So to avoid all that, let's just not reference types defined in the CU from TUs - instead moving the TU type into the CU (recursively). This does increase debug info size (by pulling more things out of type units, into the compile unit) - about 2% of uncompressed dwp file size for clang -O0 -g -gsplit-dwarf. (5% .debug_info.dwo section size increase in the .dwp)
2021-02-25[debug-info] refactor emitDwarfUnitLengthChen Zheng
remove `Hi` `Lo` argument from `emitDwarfUnitLength`, so we can make caller of emitDwarfUnitLength easier. Reviewed By: MaskRay, dblaikie, ikudrin Differential Revision: https://reviews.llvm.org/D96409
2020-09-15[DebugInfo] Fix emitting DWARF64 .debug_addr sections (15/19).Igor Kudrin
The patch fixes emitting the header of the table. The content is independent of the DWARF format. Differential Revision: https://reviews.llvm.org/D87022
2020-02-14[MCStreamer] De-capitalize EmitValue EmitIntValue{,InHex}Fangrui Song
2020-02-14[MC] De-capitalize another set of MCStreamer::Emit* functionsFangrui Song
Emit{ValueTo,Code}Alignment Emit{DTP,TP,GP}* EmitSymbolValue etc
2020-02-13[AsmPrinter] De-capitalize some AsmPrinter::Emit* functionsFangrui Song
Similar to rL328848.
2019-01-24DebugInfo: Use assembly label arithmetic for address pool size for easier ↵David Blaikie
reading/editing Recommits 350048, 350050 That broke buildbots because of some typos in the test case. llvm-svn: 352019
2019-01-19Update the file headers across all of the LLVM projects in the monorepoChandler Carruth
to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
2018-12-24Revert rL350048 and rL350050Max Kazantsev
These patches have broken almost all buildbots on test DebugInfo/X86/addr_comments.ll. Reverting to green. llvm-svn: 350052
2018-12-24Fix build - follow-up to r350048 which broke headerless (v4) address poolDavid Blaikie
llvm-svn: 350050
2018-12-24DebugInfo: Use assembly label arithmetic for address pool size for easier ↵David Blaikie
reading/editing llvm-svn: 350048
2018-12-24DebugInfo: Add assembly comments for debug_addr contribution header fieldsDavid Blaikie
llvm-svn: 350047
2018-10-20DebugInfo: Use debug_addr for non-dwo addresses in DWARF 5David Blaikie
Putting addresses in the address pool, even with non-fission, can reduce relocations - reusing the addresses from debug_info and debug_rnglists (the latter coming soon) llvm-svn: 344834
2018-09-20[DWARF] - Emit the correct value for DW_AT_addr_base.George Rimar
Currently, we emit DW_AT_addr_base that points to the beginning of the .debug_addr section. That is not correct for the DWARF5 case because address table contains the header and the attribute should point to the first entry following the header. This is currently the reason why LLDB does not work with such executables correctly. Patch fixes the issue. Differential revision: https://reviews.llvm.org/D52168 llvm-svn: 342635
2018-08-01[DWARF] Basic support for producing DWARFv5 .debug_addr sectionVictor Leschuk
This revision implements support for generating DWARFv5 .debug_addr section. The implementation is pretty straight-forward: we just check the dwarf version and emit section header if needed. Reviewers: aprantl, dblaikie, probinson Reviewed by: dblaikie Differential Revision: https://reviews.llvm.org/D50005 llvm-svn: 338487
2018-03-23Move TargetLoweringObjectFile from CodeGen to Target to fix layeringDavid Blaikie
It's implemented in Target & include from other Target headers, so the header should be in Target. llvm-svn: 328392
2017-11-17Fix a bunch more layering of CodeGen headers that are in TargetDavid Blaikie
All these headers already depend on CodeGen headers so moving them into CodeGen fixes the layering (since CodeGen depends on Target, not the other way around). llvm-svn: 318490
2017-08-17[CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; ↵Eugene Zelenko
other minor fixes (NFC). llvm-svn: 311124
2016-08-06Move helpers into anonymous namespaces. NFC.Benjamin Kramer
llvm-svn: 277916
2015-05-30MC: Clean up MCExpr naming. NFC.Jim Grosbach
llvm-svn: 238634
2015-05-21Move alignment from MCSectionData to MCSection.Rafael Espindola
This starts merging MCSection and MCSectionData. There are a few issues with the current split between MCSection and MCSectionData. * It optimizes the the not as important case. We want the production of .o files to be really fast, but the split puts the information used for .o emission in a separate data structure. * The ELF/COFF/MachO hierarchy is not represented in MCSectionData, leading to some ad-hoc ways to represent the various flags. * It makes it harder to remember where each item is. The attached patch starts merging the two by moving the alignment from MCSectionData to MCSection. Most of the patch is actually just dropping 'const', since MCSectionData is mutable, but MCSection was not. llvm-svn: 237936
2015-04-24[AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr.Lang Hames
AsmPrinter owns the OutStreamer, so an owning pointer makes sense here. Using a reference for this is crufty. llvm-svn: 235752
2014-04-26DWARF Type Units: Avoid emitting type units under fission if the type ↵David Blaikie
requires an address. Since there's no way to ensure the type unit in the .dwo and the type unit skeleton in the .o are correlated, this cannot work. This implementation is a bit inefficient for a few reasons, called out in comments. llvm-svn: 207323
2014-04-25Add missing cpp file headerDavid Blaikie
Code review feedback from Paul Robinson on r207022 llvm-svn: 207198
2014-04-23Separate out the DWARF address pool into its own type/files.David Blaikie
llvm-svn: 207022