@@ -2757,6 +2757,9 @@ static void GenerateFrontendArgs(const FrontendOptions &Opts,
27572757 case Language::HLSL:
27582758 Lang = " hlsl" ;
27592759 break ;
2760+ case Language::CIR:
2761+ Lang = " cir" ;
2762+ break ;
27602763 }
27612764
27622765 GenerateArg (Consumer, OPT_x,
@@ -2958,6 +2961,7 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
29582961 .Cases (" ast" , " pcm" , " precompiled-header" ,
29592962 InputKind (Language::Unknown, InputKind::Precompiled))
29602963 .Case (" ir" , Language::LLVM_IR)
2964+ .Case (" cir" , Language::CIR)
29612965 .Default (Language::Unknown);
29622966
29632967 if (DashX.isUnknown ())
@@ -3323,6 +3327,7 @@ static bool IsInputCompatibleWithStandard(InputKind IK,
33233327 switch (IK.getLanguage ()) {
33243328 case Language::Unknown:
33253329 case Language::LLVM_IR:
3330+ case Language::CIR:
33263331 llvm_unreachable (" should not parse language flags for this input" );
33273332
33283333 case Language::C:
@@ -3388,6 +3393,8 @@ static StringRef GetInputKindName(InputKind IK) {
33883393 return " Asm" ;
33893394 case Language::LLVM_IR:
33903395 return " LLVM IR" ;
3396+ case Language::CIR:
3397+ return " Clang IR" ;
33913398
33923399 case Language::HLSL:
33933400 return " HLSL" ;
@@ -3403,7 +3410,8 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts,
34033410 const llvm::Triple &T,
34043411 InputKind IK) {
34053412 if (IK.getFormat () == InputKind::Precompiled ||
3406- IK.getLanguage () == Language::LLVM_IR) {
3413+ IK.getLanguage () == Language::LLVM_IR ||
3414+ IK.getLanguage () == Language::CIR) {
34073415 if (Opts.ObjCAutoRefCount )
34083416 GenerateArg (Consumer, OPT_fobjc_arc);
34093417 if (Opts.PICLevel != 0 )
@@ -3689,7 +3697,8 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
36893697 unsigned NumErrorsBefore = Diags.getNumErrors ();
36903698
36913699 if (IK.getFormat () == InputKind::Precompiled ||
3692- IK.getLanguage () == Language::LLVM_IR) {
3700+ IK.getLanguage () == Language::LLVM_IR ||
3701+ IK.getLanguage () == Language::CIR) {
36933702 // ObjCAAutoRefCount and Sanitize LangOpts are used to setup the
36943703 // PassManager in BackendUtil.cpp. They need to be initialized no matter
36953704 // what the input type is.
0 commit comments