[llvm-commits] [llvm] r56900 - in /llvm/trunk: include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86ISelLowering.h

Bill Wendling isanbard at gmail.com
Tue Sep 30 17:59:58 PDT 2008


Author: void
Date: Tue Sep 30 19:59:58 2008
New Revision: 56900

URL: http://llvm.org/viewvc/llvm-project?rev=56900&view=rev
Log:
Implement the -fno-builtin option in the front-end, not in the back-end.

Modified:
    llvm/trunk/include/llvm/Target/TargetLowering.h
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
    llvm/trunk/lib/Target/X86/X86ISelLowering.h

Modified: llvm/trunk/include/llvm/Target/TargetLowering.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetLowering.h?rev=56900&r1=56899&r2=56900&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Target/TargetLowering.h (original)
+++ llvm/trunk/include/llvm/Target/TargetLowering.h Tue Sep 30 19:59:58 2008
@@ -1049,8 +1049,7 @@
                           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();
   }
 

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=56900&r1=56899&r2=56900&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Tue Sep 30 19:59:58 2008
@@ -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 @@
   // 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;
 

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=56900&r1=56899&r2=56900&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Tue Sep 30 19:59:58 2008
@@ -5132,8 +5132,7 @@
                                            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,24 +5147,22 @@
     // 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();
-        const Type *IntPtrTy = TD->getIntPtrType();
-        TargetLowering::ArgListTy Args; 
-        TargetLowering::ArgListEntry Entry;
-        Entry.Node = Dst;
-        Entry.Ty = IntPtrTy;
-        Args.push_back(Entry);
-        Entry.Node = Size;
-        Args.push_back(Entry);
-        std::pair<SDValue,SDValue> CallResult =
-          LowerCallTo(Chain, Type::VoidTy, false, false, false, false, 
-                      CallingConv::C, false, 
-                      DAG.getExternalSymbol(bzeroEntry, IntPtr), Args, DAG);
-        return CallResult.second;
-      }
+    if (const char *bzeroEntry =  V &&
+        V->isNullValue() ? Subtarget->getBZeroEntry() : 0) {
+      MVT IntPtr = getPointerTy();
+      const Type *IntPtrTy = TD->getIntPtrType();
+      TargetLowering::ArgListTy Args; 
+      TargetLowering::ArgListEntry Entry;
+      Entry.Node = Dst;
+      Entry.Ty = IntPtrTy;
+      Args.push_back(Entry);
+      Entry.Node = Size;
+      Args.push_back(Entry);
+      std::pair<SDValue,SDValue> CallResult =
+        LowerCallTo(Chain, Type::VoidTy, false, false, false, false, 
+                    CallingConv::C, false, 
+                    DAG.getExternalSymbol(bzeroEntry, IntPtr), Args, DAG);
+      return CallResult.second;
     }
 
     // Otherwise have the target-independent code call memset.

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.h?rev=56900&r1=56899&r2=56900&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.h (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.h Tue Sep 30 19:59:58 2008
@@ -578,8 +578,7 @@
                                     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,





More information about the llvm-commits mailing list