1
Fork 0

Further Implement is_val_statically_known

This commit is contained in:
Nicholas Thompson 2024-01-23 12:02:31 -05:00
parent 5a4561749a
commit 971e37ff7e
5 changed files with 39 additions and 14 deletions

View file

@ -123,6 +123,12 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallMethods<'tcx> for Builder<'a, 'gcc, 'tcx> {
sym::unlikely => {
self.expect(args[0].immediate(), false)
}
sym::is_val_statically_known => {
let a = args[0].immediate();
let builtin = self.context.get_builtin_function("__builtin_constant_p");
let res = self.context.new_call(None, builtin, &[a]);
self.icmp(IntPredicate::IntEQ, res, self.const_i32(0))
}
kw::Try => {
try_intrinsic(
self,