Deleted Added
full compact
TargetInfo.cpp (280031) TargetInfo.cpp (283526)
1//===---- TargetInfo.cpp - Encapsulate target details -----------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 650 unchanged lines hidden (view full) ---

659 llvm::Constant *
660 getUBSanFunctionSignature(CodeGen::CodeGenModule &CGM) const override {
661 unsigned Sig = (0xeb << 0) | // jmp rel8
662 (0x06 << 8) | // .+0x08
663 ('F' << 16) |
664 ('T' << 24);
665 return llvm::ConstantInt::get(CGM.Int32Ty, Sig);
666 }
1//===---- TargetInfo.cpp - Encapsulate target details -----------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 650 unchanged lines hidden (view full) ---

659 llvm::Constant *
660 getUBSanFunctionSignature(CodeGen::CodeGenModule &CGM) const override {
661 unsigned Sig = (0xeb << 0) | // jmp rel8
662 (0x06 << 8) | // .+0x08
663 ('F' << 16) |
664 ('T' << 24);
665 return llvm::ConstantInt::get(CGM.Int32Ty, Sig);
666 }
667
668};
669
670}
671
672/// Rewrite input constraint references after adding some output constraints.
673/// In the case where there is one output and one input and we add one output,
674/// we need to replace all operand references greater than or equal to 1:
675/// mov $0, $1

--- 3774 unchanged lines hidden (view full) ---

4450 // the backend to perform a realignment as part of the function prologue.
4451 llvm::AttrBuilder B;
4452 B.addStackAlignmentAttr(8);
4453 Fn->addAttributes(llvm::AttributeSet::FunctionIndex,
4454 llvm::AttributeSet::get(CGM.getLLVMContext(),
4455 llvm::AttributeSet::FunctionIndex,
4456 B));
4457 }
667};
668
669}
670
671/// Rewrite input constraint references after adding some output constraints.
672/// In the case where there is one output and one input and we add one output,
673/// we need to replace all operand references greater than or equal to 1:
674/// mov $0, $1

--- 3774 unchanged lines hidden (view full) ---

4449 // the backend to perform a realignment as part of the function prologue.
4450 llvm::AttrBuilder B;
4451 B.addStackAlignmentAttr(8);
4452 Fn->addAttributes(llvm::AttributeSet::FunctionIndex,
4453 llvm::AttributeSet::get(CGM.getLLVMContext(),
4454 llvm::AttributeSet::FunctionIndex,
4455 B));
4456 }
4458
4459};
4460
4461}
4462
4463void ARMABIInfo::computeInfo(CGFunctionInfo &FI) const {
4464 // To correctly handle Homogeneous Aggregate, we need to keep track of the
4465 // VFP registers allocated so far.
4466 // C.1.vfp If the argument is a VFP CPRC and there are sufficient consecutive

--- 2741 unchanged lines hidden ---
4457};
4458
4459}
4460
4461void ARMABIInfo::computeInfo(CGFunctionInfo &FI) const {
4462 // To correctly handle Homogeneous Aggregate, we need to keep track of the
4463 // VFP registers allocated so far.
4464 // C.1.vfp If the argument is a VFP CPRC and there are sufficient consecutive

--- 2741 unchanged lines hidden ---