| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
llvm-svn: 132234
|
| |
|
|
| |
llvm-svn: 131151
|
| |
|
|
|
|
|
|
|
| |
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.
llvm-svn: 131140
|
| |
|
|
| |
llvm-svn: 130964
|
| |
|
|
| |
llvm-svn: 130947
|
| |
|
|
|
|
| |
emmits: .cfi_personality, .cfi_lsda and the moves.
llvm-svn: 130503
|
| |
|
|
|
|
| |
mode".
llvm-svn: 127099
|
| |
|
|
| |
llvm-svn: 123474
|
| |
|
|
| |
llvm-svn: 123473
|
| |
|
|
|
|
|
|
|
| |
the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.
llvm-svn: 103802
|
| |
|
|
| |
llvm-svn: 100616
|
| |
|
|
| |
llvm-svn: 100410
|
| |
|
|
| |
llvm-svn: 100409
|
| |
|
|
| |
llvm-svn: 100408
|
| |
|
|
| |
llvm-svn: 100374
|
| |
|
|
|
|
|
| |
The only thing left is LEB printing, which uses EmitRawText
for now.
llvm-svn: 100325
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of label ID's. This cleans up and regularizes a bunch
of code and makes way for future progress.
Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
is largely copy and paste from DwarfException/MachineModuleInfo
and other places. This is very sad and disturbing. :(
One major change here is that TidyLandingPads moved from being
called in DwarfException::BeginFunction to being called in
DwarfException::EndFunction. There should not be any
functionality change from doing this, but I'm not an EH expert.
llvm-svn: 98459
|
| |
|
|
| |
llvm-svn: 98365
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
the pointer values could be invalid.
llvm-svn: 95813
|
| |
|
|
| |
llvm-svn: 95781
|
| |
|
|
|
|
| |
is constified.
llvm-svn: 94613
|
| |
|
|
| |
llvm-svn: 94290
|
| |
|
|
|
|
| |
and much more accurately describes what it is all about.
llvm-svn: 94233
|
| |
|
|
|
|
|
|
| |
and add an explicit ForcePrivate argument.
Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.
llvm-svn: 93646
|
| |
|
|
|
|
|
|
| |
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.
llvm-svn: 91421
|
| |
|
|
| |
llvm-svn: 89075
|
| |
|
|
|
|
| |
more than one place. No intended functionality change.
llvm-svn: 89024
|
| |
|
|
| |
llvm-svn: 87036
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 82282
|
| |
|
|
| |
llvm-svn: 81406
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 81404
|
| |
|
|
|
|
| |
- Rename EmitFunctionDescriptionEntry to EmitFDE.
llvm-svn: 79981
|
| |
|
|
|
|
| |
CIE and FDE in their names.
llvm-svn: 79969
|
| |
|
|
| |
llvm-svn: 79763
|
| |
|
|
|
|
|
|
|
| |
more properly belong. This allows removing the front-end conditionalized
SJLJ code, and cleans up the generated IR considerably. All of the
infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is
added by the SjLjEHPrepare pass.
llvm-svn: 79250
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
llvm-svn: 78625
|
| |
|
|
|
|
|
| |
correct. But what are you going to do? I'll fix this in the future.
- Move another large loop into its own method.
llvm-svn: 77408
|
| |
|
|
| |
llvm-svn: 77394
|
| |
|
|
|
|
| |
change.
llvm-svn: 77393
|
| |
|
|
| |
llvm-svn: 76228
|
| |
|
|
| |
llvm-svn: 74215
|
| |
|
|
|
|
| |
Again, no intendtional functionality change.
llvm-svn: 71854
|
|
|
though the classes have been marked with "VISIBILITY_HIDDEN".
llvm-svn: 71827
|