OLD | NEW |
1 //===-- SelectionDAGBuilder.cpp - Selection-DAG building ------------------===// | 1 //===-- SelectionDAGBuilder.cpp - Selection-DAG building ------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This implements routines for translating from LLVM IR into SelectionDAG IR. | 10 // This implements routines for translating from LLVM IR into SelectionDAG IR. |
(...skipping 5016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5027 EVT Ty = Arg.getValueType(); | 5027 EVT Ty = Arg.getValueType(); |
5028 | 5028 |
5029 if (CI->isZero()) | 5029 if (CI->isZero()) |
5030 Res = DAG.getConstant(-1ULL, Ty); | 5030 Res = DAG.getConstant(-1ULL, Ty); |
5031 else | 5031 else |
5032 Res = DAG.getConstant(0, Ty); | 5032 Res = DAG.getConstant(0, Ty); |
5033 | 5033 |
5034 setValue(&I, Res); | 5034 setValue(&I, Res); |
5035 return 0; | 5035 return 0; |
5036 } | 5036 } |
5037 case Intrinsic::annotation: | |
5038 case Intrinsic::ptr_annotation: | |
5039 // Drop the intrinsic, but forward the value | |
5040 setValue(&I, getValue(I.getOperand(0))); | |
5041 return 0; | |
5042 case Intrinsic::var_annotation: | 5037 case Intrinsic::var_annotation: |
5043 // Discard annotate attributes | 5038 // Discard annotate attributes |
5044 return 0; | 5039 return 0; |
5045 | 5040 |
5046 case Intrinsic::init_trampoline: { | 5041 case Intrinsic::init_trampoline: { |
5047 const Function *F = cast<Function>(I.getArgOperand(1)->stripPointerCasts()); | 5042 const Function *F = cast<Function>(I.getArgOperand(1)->stripPointerCasts()); |
5048 | 5043 |
5049 SDValue Ops[6]; | 5044 SDValue Ops[6]; |
5050 Ops[0] = getRoot(); | 5045 Ops[0] = getRoot(); |
5051 Ops[1] = getValue(I.getArgOperand(0)); | 5046 Ops[1] = getValue(I.getArgOperand(0)); |
(...skipping 1849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6901 EVT VT = ValueVTs[vti]; | 6896 EVT VT = ValueVTs[vti]; |
6902 unsigned NumRegisters = TLI.getNumRegisters(*DAG.getContext(), VT); | 6897 unsigned NumRegisters = TLI.getNumRegisters(*DAG.getContext(), VT); |
6903 for (unsigned i = 0, e = NumRegisters; i != e; ++i) | 6898 for (unsigned i = 0, e = NumRegisters; i != e; ++i) |
6904 FuncInfo.PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg+i)); | 6899 FuncInfo.PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg+i)); |
6905 Reg += NumRegisters; | 6900 Reg += NumRegisters; |
6906 } | 6901 } |
6907 } | 6902 } |
6908 } | 6903 } |
6909 ConstantsOut.clear(); | 6904 ConstantsOut.clear(); |
6910 } | 6905 } |
OLD | NEW |