mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Implement the -fno-builtin option in the front-end, not in the back-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56900 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
70695fee51
commit
6158d8492c
@ -1049,8 +1049,7 @@ public:
|
||||
SDValue Chain,
|
||||
SDValue Op1, SDValue Op2,
|
||||
SDValue Op3, unsigned Align,
|
||||
const Value *DstSV, uint64_t DstOff,
|
||||
bool NoBuiltin = false) {
|
||||
const Value *DstSV, uint64_t DstOff) {
|
||||
return SDValue();
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,6 @@
|
||||
#include <cmath>
|
||||
using namespace llvm;
|
||||
|
||||
static cl::opt<bool>
|
||||
NoBuiltin("no-builtin", cl::init(false),
|
||||
cl::desc("Don't recognize built-in functions that do not begin "
|
||||
"with `__builtin_' as prefix"));
|
||||
|
||||
/// makeVTList - Return an instance of the SDVTList struct initialized with the
|
||||
/// specified members.
|
||||
static SDVTList makeVTList(const MVT *VTs, unsigned NumVTs) {
|
||||
@ -3195,7 +3190,7 @@ SDValue SelectionDAG::getMemset(SDValue Chain, SDValue Dst,
|
||||
// code. If the target chooses to do this, this is the next best.
|
||||
SDValue Result =
|
||||
TLI.EmitTargetCodeForMemset(*this, Chain, Dst, Src, Size, Align,
|
||||
DstSV, DstSVOff, NoBuiltin);
|
||||
DstSV, DstSVOff);
|
||||
if (Result.getNode())
|
||||
return Result;
|
||||
|
||||
|
@ -5132,8 +5132,7 @@ X86TargetLowering::EmitTargetCodeForMemset(SelectionDAG &DAG,
|
||||
SDValue Dst, SDValue Src,
|
||||
SDValue Size, unsigned Align,
|
||||
const Value *DstSV,
|
||||
uint64_t DstSVOff,
|
||||
bool NoBuiltin) {
|
||||
uint64_t DstSVOff) {
|
||||
ConstantSDNode *ConstantSize = dyn_cast<ConstantSDNode>(Size);
|
||||
|
||||
// If not DWORD aligned or size is more than the threshold, call the library.
|
||||
@ -5148,7 +5147,6 @@ X86TargetLowering::EmitTargetCodeForMemset(SelectionDAG &DAG,
|
||||
// Check to see if there is a specialized entry-point for memory zeroing.
|
||||
ConstantSDNode *V = dyn_cast<ConstantSDNode>(Src);
|
||||
|
||||
if (!NoBuiltin) {
|
||||
if (const char *bzeroEntry = V &&
|
||||
V->isNullValue() ? Subtarget->getBZeroEntry() : 0) {
|
||||
MVT IntPtr = getPointerTy();
|
||||
@ -5166,7 +5164,6 @@ X86TargetLowering::EmitTargetCodeForMemset(SelectionDAG &DAG,
|
||||
DAG.getExternalSymbol(bzeroEntry, IntPtr), Args, DAG);
|
||||
return CallResult.second;
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise have the target-independent code call memset.
|
||||
return SDValue();
|
||||
|
@ -578,8 +578,7 @@ namespace llvm {
|
||||
SDValue Chain,
|
||||
SDValue Dst, SDValue Src,
|
||||
SDValue Size, unsigned Align,
|
||||
const Value *DstSV, uint64_t DstSVOff,
|
||||
bool NoBuiltin);
|
||||
const Value *DstSV, uint64_t DstSVOff);
|
||||
SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG,
|
||||
SDValue Chain,
|
||||
SDValue Dst, SDValue Src,
|
||||
|
Loading…
Reference in New Issue
Block a user