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/// 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 } |
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 --- |