David Gross | d870e96 | 2017-03-27 11:50:31 -0700 | [diff] [blame] | 1 | ---------------------- |
| 2 | Slang compiler version |
| 3 | ---------------------- |
| 4 | |
| 5 | See SlangVersion in frameworks/compile/slang/slang_version.h. The |
| 6 | bitcode wrapper has a field that indicates the version of the slang |
| 7 | compiler that produced that bitcode. A bitcode consumer is allowed to |
| 8 | make certain assumptions if the version number is sufficiently high. |
| 9 | However, only user bitcode has a wrapper -- libclcore.bc does not. |
| 10 | Therefore, libclcore.bc must not violate ANY of the guarantees |
| 11 | provided at a particular SlangVersion that allow the aforementioned |
| 12 | assumptions. This is important because when user bitcode is linked to |
| 13 | libclcore.bc (bcc::Script::LinkRuntime()) the linked bitcode is |
| 14 | treated as having the same SlangVersion as the user bitcode. This |
| 15 | implies that whenever we modify (runtime, driver, bcc) to take |
| 16 | advantage of some new SlangVersion guarantee, we may have to update |
| 17 | libclcore.bc to conform to that guarantee. |