Possible bug in getCallPreservedMask for CallingConv::Intel_OCL_BI

Not sure who owns this bit of code, so sending this to the general list.

It looks like there may be an unintentional fall through happening in the X86RegisterInfo::getCallPreservedMask function.

It may be intentional - it falls through to the Cold calling convention and then general C convention, but it really looks suspicious. If it is intentional, please add an explicit note about the desired fall through behaviour. I found this by inserting a new case in the switch and having tests fail. The two tests that seem to hit the fallthrough behavor are: CodeGen/X86/avx-intel-ocl.ll and CodeGen/X86/sse-intel-ocl.ll Philip

+elena.demikhovsky@intel.com, who added the tests in question.

I went ahead and committed r203943 without a testcase. The accidental fallthrough is not observable.


I'm sorry for the late response, I was on vacation.

The "break" is essential here, thank you for adding it.

- Elena