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