1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Go to file
António Afonso b3e4704ff5 Fix debug_abbrev emitter to only assign table id once
While generating yamls for my tests I noticed that the new debug_abbrev format (with multiple table support) was incorrectly assigning id's to the table because it was generating one per abbrev entry in the table. For instance, the first table would get id 4 when 5 abbrev entries existed in the table. By itself this is not a problem but the corresponding debug_info sections were still referencing id 0. This was introduced here: https://reviews.llvm.org/D83116.

Maybe a better fix is to actually correctly calculate the table id when emitting debug info? From a quick glance it seems to me the ID is just being calculated as the distance between the first DWARFAbbreviationDeclarationSet and the one the debug info entry points to, which means it's just its index and not the actual table id that was generated when emitting the debug_abbrev tables. With my fix I guess this is fine but on the diff that introduced this Pavel mentioned that he would like to have some sort of unique id between them but not necessarily +1 increasing, but for that to work we need to actually find the table ID, I guess by going directly to Y.DebugAbbrev but to honest I have no idea how to link the DWARFAbbreviationDeclarationSet and the Y.DebugAbbrev, so I just did this simple fix.

I also realized there's barely any tests for MachO so it might useful to invest on that if the tool is being reworked on.

Reviewed By: Higuoxing, jhenderson

Differential Revision: https://reviews.llvm.org/D87179
2020-11-08 18:11:50 -08:00
benchmarks
bindings [IR] add fn attr for no_stack_protector; prevent inlining on mismatch 2020-10-23 11:55:39 -07:00
cmake [llvm] Export LLVM_LIT_ARGS in LLVMConfig.cmake 2020-10-29 20:27:05 -07:00
docs [docs] Adding a Support Policy 2020-11-07 21:06:05 +00:00
examples [ORC] Break up C-API header Orc.h, and add JITEventListener support. 2020-10-19 01:59:04 -07:00
include [IR] [TableGen] Cleanup pass over the IR TableGen files. 2020-11-08 14:46:53 -05:00
lib [InstSimplify] allow vector folds for (Pow2C << X) == NonPow2C 2020-11-08 09:52:05 -05:00
projects
resources
runtimes [runtimes] Revert the libc++ __config_site change 2020-10-23 09:41:48 -04:00
test Fix debug_abbrev emitter to only assign table id once 2020-11-08 18:11:50 -08:00
tools Fix debug_abbrev emitter to only assign table id once 2020-11-08 18:11:50 -08:00
unittests [CaptureTrackingTest] Add missing override marker (NFC) 2020-11-07 11:44:02 +01:00
utils [gn build] Port d725f1ce531 2020-11-07 19:18:18 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [cmake] Add LLVM_UBSAN_FLAGS, to allow overriding UBSan flags 2020-10-26 15:48:19 -07:00
CODE_OWNERS.TXT Update email addresses in CODE_OWNERS. 2020-10-26 18:51:04 -07:00
configure
CREDITS.TXT [NFC] Add contributors names to CREDITS.TXT 2020-10-07 13:22:55 -04:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2020-03-14 18:08:26 -07:00
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.