[llvm-commits] [llvm] r135443 - in /llvm/trunk: include/llvm/CodeGen/MachineModuleInfo.h lib/CodeGen/MachineModuleInfo.cpp
Bill Wendling
isanbard at gmail.com
Mon Jul 18 16:38:40 PDT 2011
Author: void
Date: Mon Jul 18 18:38:40 2011
New Revision: 135443
URL: http://llvm.org/viewvc/llvm-project?rev=135443&view=rev
Log:
Move the compact encoding from the target-specific library to the code-gen
library.
Modified:
llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h
llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp
Modified: llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h?rev=135443&r1=135442&r2=135443&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h (original)
+++ llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h Mon Jul 18 18:38:40 2011
@@ -111,6 +111,10 @@
// frame maps by debug and exception handling consumers.
std::vector<MachineMove> FrameMoves;
+ // CompactEncoding - If the target supports it, this is the compact unwind
+ // encoding. It replaces a function's CIE and FDE.
+ uint32_t CompactEncoding;
+
// LandingPads - List of LandingPadInfo describing the landing pad information
// in the current function.
std::vector<LandingPadInfo> LandingPads;
@@ -230,6 +234,11 @@
/// handling comsumers.
std::vector<MachineMove> &getFrameMoves() { return FrameMoves; }
+ /// getCompactEncoding - Returns the compact unwind encoding for a function if
+ /// the target supports the encoding. This encoding replaces a function's CIE
+ /// and FDE.
+ uint32_t getCompactEncoding() const { return CompactEncoding; }
+
/// getAddrLabelSymbol - Return the symbol to be used for the specified basic
/// block when its address is taken. This cannot be its normal LBB label
/// because the block may be accessed outside its containing function.
Modified: llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp?rev=135443&r1=135442&r2=135443&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp Mon Jul 18 18:38:40 2011
@@ -257,9 +257,9 @@
const MCRegisterInfo &MRI,
const TargetAsmInfo *TAI)
: ImmutablePass(ID), Context(MAI, MRI, TAI),
- ObjFileMMI(0),
- CurCallSite(0), CallsEHReturn(0), CallsUnwindInit(0), DbgInfoAvailable(false),
- CallsExternalVAFunctionWithFloatingPointArguments(false) {
+ ObjFileMMI(0), CompactEncoding(0), CurCallSite(0), CallsEHReturn(0),
+ CallsUnwindInit(0), DbgInfoAvailable(false),
+ CallsExternalVAFunctionWithFloatingPointArguments(false) {
initializeMachineModuleInfoPass(*PassRegistry::getPassRegistry());
// Always emit some info, by default "no personality" info.
Personalities.push_back(NULL);
@@ -312,6 +312,7 @@
FilterEnds.clear();
CallsEHReturn = 0;
CallsUnwindInit = 0;
+ CompactEncoding = 0;
VariableDbgInfo.clear();
}
More information about the llvm-commits
mailing list