mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-24 08:24:33 +00:00
Believe it or not, this is a simplification. :-)
Basically, this patch is working towards removing the hard-coded values that are output for the CIE. In particular, the CIE augmentation and the CIE augmentation size. Both of these should be calculated. In the process, I was able to make a bunch of code simpler. The encodings for the personality, LSDA, and FDE in the CIE are still not correct. They should be generated either from target-specific callbacks (blech!) or grokked from first-principles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81404 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -51,6 +51,11 @@ class VISIBILITY_HIDDEN DwarfException : public Dwarf {
|
||||
|
||||
std::vector<FunctionEHFrameInfo> EHFrames;
|
||||
|
||||
/// UsesLSDA - Indicates whether an FDE that uses the CIE at the given index
|
||||
/// uses an LSDA. If so, then we need to encode that information in the CIE's
|
||||
/// augmentation.
|
||||
DenseMap<unsigned, bool> UsesLSDA;
|
||||
|
||||
/// shouldEmitTable - Per-function flag to indicate if EH tables should
|
||||
/// be emitted.
|
||||
bool shouldEmitTable;
|
||||
@ -70,6 +75,8 @@ class VISIBILITY_HIDDEN DwarfException : public Dwarf {
|
||||
/// ExceptionTimer - Timer for the Dwarf exception writer.
|
||||
Timer *ExceptionTimer;
|
||||
|
||||
unsigned SizeOfEncodedValue(unsigned Encoding);
|
||||
|
||||
/// EmitCIE - Emit a Common Information Entry (CIE). This holds information
|
||||
/// that is shared among many Frame Description Entries. There is at least
|
||||
/// one CIE in every non-empty .debug_frame section.
|
||||
|
Reference in New Issue
Block a user