| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 97193
|
|
|
|
| |
llvm-svn: 97192
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will eliminate the need for padding in the "Call site table length". E.g., if
we have this:
GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0x7f ## @TType base offset
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length
with padding of 1. We want to emit the padding like this:
GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0xff ## @TType base offset
.space 1,0 ## Padding
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length
and not with padding on the "Call site table length" entry.
llvm-svn: 97183
|
|
|
|
| |
llvm-svn: 97169
|
|
|
|
|
|
|
|
|
|
| |
GCC_except_table label but before the Lexception, which the FDE references.
This causes problems as the FDE does not point to the start of an LSDA chunk.
Use an unnormalized uleb128 for the call-site table length that includes the
padding.
llvm-svn: 97078
|
|
|
|
| |
llvm-svn: 96290
|
|
|
|
|
|
| |
early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong.
llvm-svn: 96287
|
|
|
|
|
|
| |
Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there
llvm-svn: 96285
|
|
|
|
| |
llvm-svn: 95871
|
|
|
|
|
|
| |
the pointer values could be invalid.
llvm-svn: 95813
|
|
|
|
| |
llvm-svn: 95740
|
|
|
|
| |
llvm-svn: 95737
|
|
|
|
| |
llvm-svn: 95707
|
|
|
|
|
|
|
| |
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.
llvm-svn: 94726
|
|
|
|
|
|
| |
is constified.
llvm-svn: 94613
|
|
|
|
| |
llvm-svn: 94295
|
|
|
|
|
|
| |
into a new MCDirectives.h file.
llvm-svn: 94294
|
|
|
|
| |
llvm-svn: 94290
|
|
|
|
|
|
|
| |
be careful to add a \0 at the end though, because EmitString didn't
do this.
llvm-svn: 94277
|
|
|
|
|
|
| |
be completely eliminated, but today is not that day.
llvm-svn: 94253
|
|
|
|
|
|
| |
cleanup and eliminate a bunch more uses of "EOL".
llvm-svn: 94250
|
|
|
|
|
|
| |
handle the comment better, MCize the non-.sleb case.
llvm-svn: 94244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pretty printing encoding comments and eliminates redundancy on
the client side. We now get pretty dwarf like this again:
.byte 255 ## @LPStart Encoding = omit
.byte 0 ## @TType Encoding = absptr
.byte 0x28 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 0x1a ## Call site table size
...
llvm-svn: 94239
|
|
|
|
|
|
| |
and much more accurately describes what it is all about.
llvm-svn: 94233
|
|
|
|
| |
llvm-svn: 94230
|
|
|
|
| |
llvm-svn: 94097
|
|
|
|
|
|
| |
order for SjLj style exception handling.
llvm-svn: 94055
|
|
|
|
| |
llvm-svn: 93996
|
|
|
|
|
|
|
|
| |
idea, but unfortunately necessary.
- Default to using 4-bytes for the LSDA pointer encoding to agree with the
encoded value in the CIE.
llvm-svn: 93753
|
|
|
|
|
|
| |
printing them.
llvm-svn: 93699
|
|
|
|
|
|
|
| |
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.
llvm-svn: 93695
|
|
|
|
| |
llvm-svn: 93664
|
|
|
|
|
|
|
|
| |
and add an explicit ForcePrivate argument.
Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.
llvm-svn: 93646
|
|
|
|
|
|
|
|
| |
The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE for some platforms. Allow
individual platforms to decide for themselves.
llvm-svn: 93616
|
|
|
|
| |
llvm-svn: 92206
|
|
|
|
|
|
|
|
| |
$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91337 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
llvm-svn: 91618
|
|
|
|
|
|
| |
but we need it to actually be 4-bytes in the FDE.
llvm-svn: 91337
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89279 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/Target/TargetLoweringObjectFile.cpp
$ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89270 into '.':
G lib/CodeGen/AsmPrinter/DwarfException.cpp
G lib/Target/TargetLoweringObjectFile.cpp
llvm-svn: 89379
|
|
|
|
|
|
| |
exception table than DataRel.
llvm-svn: 89279
|
|
|
|
|
|
| |
Place the EH table in the __TEXT section on MachO. It saves space.
llvm-svn: 89270
|
|
|
|
|
|
| |
more than one place. No intended functionality change.
llvm-svn: 89024
|
|
|
|
| |
llvm-svn: 87040
|
|
|
|
| |
llvm-svn: 87036
|
|
|
|
|
|
|
|
|
| |
and don't assume that the call doesn't throw. It would be nice if there were a
way to determine which is the callee and which is a parameter. In practice, the
architecture we care about normally only have one operand for a call instruction
(x86 and arm).
llvm-svn: 87023
|
|
|
|
|
|
| |
"nounwind" attribute.
llvm-svn: 86897
|
|
|
|
|
|
| |
function it's generated for.
llvm-svn: 86779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.
The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.
Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.
Patch by Victor Zverovich!
llvm-svn: 86636
|
|
|
|
| |
llvm-svn: 84894
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/CodeGen/AsmPrinter/DwarfException.h
--- Reverse-merging r82274 into '.':
U lib/Target/TargetLoweringObjectFile.cpp
G lib/CodeGen/AsmPrinter/DwarfException.cpp
These revisions were breaking everything.
llvm-svn: 82396
|
|
|
|
|
|
|
|
| |
internal, they shouldn't use the indirect pointer stuff. In the case of
throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
its contents.
llvm-svn: 82354
|