forked from OSchip/llvm-project
				
			Remove unnecessary caching of the subtarget for HexagonFrameLowering and remove the unused constructor argument.
llvm-svn: 211819
This commit is contained in:
		
							parent
							
								
									0d0b3600d8
								
							
						
					
					
						commit
						a68f376333
					
				| 
						 | 
				
			
			@ -165,8 +165,8 @@ void HexagonFrameLowering::emitEpilogue(MachineFunction &MF,
 | 
			
		|||
    }
 | 
			
		||||
    // Replace 'jumpr r31' instruction with dealloc_return for V4 and higher
 | 
			
		||||
    // versions.
 | 
			
		||||
    if (STI.hasV4TOps() && MBBI->getOpcode() == Hexagon::JMPret
 | 
			
		||||
                        && !DisableDeallocRet) {
 | 
			
		||||
    if (MF.getTarget().getSubtarget<HexagonSubtarget>().hasV4TOps() &&
 | 
			
		||||
        MBBI->getOpcode() == Hexagon::JMPret && !DisableDeallocRet) {
 | 
			
		||||
      // Check for RESTORE_DEALLOC_RET_JMP_V4 call. Don't emit an extra DEALLOC
 | 
			
		||||
      // instruction if we encounter it.
 | 
			
		||||
      MachineBasicBlock::iterator BeforeJMPR =
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,20 +11,16 @@
 | 
			
		|||
#define HEXAGON_FRAMEINFO_H
 | 
			
		||||
 | 
			
		||||
#include "Hexagon.h"
 | 
			
		||||
#include "HexagonSubtarget.h"
 | 
			
		||||
#include "llvm/Target/TargetFrameLowering.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
 | 
			
		||||
class HexagonFrameLowering : public TargetFrameLowering {
 | 
			
		||||
private:
 | 
			
		||||
  const HexagonSubtarget &STI;
 | 
			
		||||
  void determineFrameLayout(MachineFunction &MF) const;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  explicit HexagonFrameLowering(const HexagonSubtarget &sti)
 | 
			
		||||
    : TargetFrameLowering(StackGrowsDown, 8, 0), STI(sti) {
 | 
			
		||||
  }
 | 
			
		||||
  explicit HexagonFrameLowering() : TargetFrameLowering(StackGrowsDown, 8, 0) {}
 | 
			
		||||
 | 
			
		||||
  /// emitProlog/emitEpilog - These methods insert prolog and epilog code into
 | 
			
		||||
  /// the function.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,7 +72,7 @@ HexagonTargetMachine::HexagonTargetMachine(const Target &T, StringRef TT,
 | 
			
		|||
    : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
 | 
			
		||||
      DL("e-m:e-p:32:32-i1:32-i64:64-a:0-n32"), Subtarget(TT, CPU, FS),
 | 
			
		||||
      InstrInfo(Subtarget), TLInfo(*this), TSInfo(*this),
 | 
			
		||||
      FrameLowering(Subtarget) {
 | 
			
		||||
      FrameLowering() {
 | 
			
		||||
    initAsmInfo();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue