reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/lib/CodeGen/CodeGenFunction.h
 3781   enum class MSVCIntrin;

References

tools/clang/lib/CodeGen/CGBuiltin.cpp
  911 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID,
  914   case MSVCIntrin::_BitScanForward:
  915   case MSVCIntrin::_BitScanReverse: {
  941     if (BuiltinID == MSVCIntrin::_BitScanForward) {
  962   case MSVCIntrin::_InterlockedAnd:
  964   case MSVCIntrin::_InterlockedExchange:
  966   case MSVCIntrin::_InterlockedExchangeAdd:
  968   case MSVCIntrin::_InterlockedExchangeSub:
  970   case MSVCIntrin::_InterlockedOr:
  972   case MSVCIntrin::_InterlockedXor:
  974   case MSVCIntrin::_InterlockedExchangeAdd_acq:
  977   case MSVCIntrin::_InterlockedExchangeAdd_rel:
  980   case MSVCIntrin::_InterlockedExchangeAdd_nf:
  983   case MSVCIntrin::_InterlockedExchange_acq:
  986   case MSVCIntrin::_InterlockedExchange_rel:
  989   case MSVCIntrin::_InterlockedExchange_nf:
  992   case MSVCIntrin::_InterlockedCompareExchange_acq:
  994   case MSVCIntrin::_InterlockedCompareExchange_rel:
  996   case MSVCIntrin::_InterlockedCompareExchange_nf:
  998   case MSVCIntrin::_InterlockedOr_acq:
 1001   case MSVCIntrin::_InterlockedOr_rel:
 1004   case MSVCIntrin::_InterlockedOr_nf:
 1007   case MSVCIntrin::_InterlockedXor_acq:
 1010   case MSVCIntrin::_InterlockedXor_rel:
 1013   case MSVCIntrin::_InterlockedXor_nf:
 1016   case MSVCIntrin::_InterlockedAnd_acq:
 1019   case MSVCIntrin::_InterlockedAnd_rel:
 1022   case MSVCIntrin::_InterlockedAnd_nf:
 1025   case MSVCIntrin::_InterlockedIncrement_acq:
 1027   case MSVCIntrin::_InterlockedIncrement_rel:
 1029   case MSVCIntrin::_InterlockedIncrement_nf:
 1031   case MSVCIntrin::_InterlockedDecrement_acq:
 1033   case MSVCIntrin::_InterlockedDecrement_rel:
 1035   case MSVCIntrin::_InterlockedDecrement_nf:
 1038   case MSVCIntrin::_InterlockedDecrement:
 1040   case MSVCIntrin::_InterlockedIncrement:
 1043   case MSVCIntrin::__fastfail: {
 3393         EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E));
 3432         EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E));
 3436         EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E));
 3440     return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E));
 3445         EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E));
 3450         EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E));
 3454     return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E));
 3458     return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E));
 3524     return RValue::get(EmitMSVCBuiltinExpr(MSVCIntrin::__fastfail, E));
 6485     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanForward, E);
 6488     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanReverse, E);
 6491     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E);
 6493     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E);
 6495     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E);
 6497     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E);
 6499     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E);
 6501     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E);
 6503     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E);
 6505     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E);
 6510     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_acq, E);
 6515     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_rel, E);
 6520     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_nf, E);
 6525     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_acq, E);
 6530     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_rel, E);
 6535     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_nf, E);
 6540     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_acq, E);
 6545     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_rel, E);
 6550     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_nf, E);
 6555     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_acq, E);
 6560     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_rel, E);
 6565     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_nf, E);
 6570     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_acq, E);
 6575     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_rel, E);
 6580     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_nf, E);
 6585     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_acq, E);
 6590     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_rel, E);
 6595     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_nf, E);
 6599     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_acq, E);
 6603     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_rel, E);
 6607     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_nf, E);
 6611     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_acq, E);
 6615     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_rel, E);
 6619     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_nf, E);
 8169     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanForward, E);
 8172     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanReverse, E);
 8174     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E);
 8176     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E);
 8178     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E);
 8180     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E);
 8182     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E);
 8184     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E);
 8186     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E);
 8188     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E);
 8193     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_acq, E);
 8198     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_rel, E);
 8203     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd_nf, E);
 8208     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_acq, E);
 8213     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_rel, E);
 8218     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange_nf, E);
 8223     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_acq, E);
 8228     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_rel, E);
 8233     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedCompareExchange_nf, E);
 8238     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_acq, E);
 8243     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_rel, E);
 8248     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr_nf, E);
 8253     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_acq, E);
 8258     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_rel, E);
 8263     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor_nf, E);
 8268     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_acq, E);
 8273     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_rel, E);
 8278     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd_nf, E);
 8282     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_acq, E);
 8286     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_rel, E);
 8290     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement_nf, E);
 8294     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_acq, E);
 8298     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_rel, E);
 8302     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement_nf, E);
12241     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanForward, E);
12244     return EmitMSVCBuiltinExpr(MSVCIntrin::_BitScanReverse, E);
12247     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedAnd, E);
12249     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchange, E);
12251     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeAdd, E);
12253     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedExchangeSub, E);
12255     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedOr, E);
12257     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedXor, E);
12259     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedDecrement, E);
12261     return EmitMSVCBuiltinExpr(MSVCIntrin::_InterlockedIncrement, E);
tools/clang/lib/CodeGen/CodeGenFunction.h
 3784   llvm::Value *EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, const CallExpr *E);