[PATCH] Teach intrinsics to report their required target features

Hal Finkel hfinkel at anl.gov
Mon Jun 1 05:31:33 PDT 2015


[+Richard, John]

Hi Justin,

I agree that we really should so *something* in this space; cc'ing Richard and John to get some feedback from the Clang folks before we move forward here.

 -Hal

----- Original Message -----
> From: "Justin Bogner" <mail at justinbogner.com>
> To: "llvm-commits" <llvm-commits at cs.uiuc.edu>
> Sent: Friday, May 29, 2015 7:15:45 PM
> Subject: [PATCH] Teach intrinsics to report their required target features
> 
> This implements a way to look up the required target feature for a
> particular target-specific intrinsic so that frontends can detect and
> report unsupported target intrinsics, rather than emitting them and
> then
> crashing later in SelectionDAG.
> 
> I'll follow this up with a change in clang that calls into this when
> lowering intrinsics in CGBuiltin and checks if a required feature is
> available using clang::TargetInfo::hasFeature.
> 
> This ends up being a very simple and unobtrusive way to do this, and
> gives nice error messages instead of crashing and burning when
> somebody
> uses (for example) the wrong GCC builtin for their specific target.
> 
> The first patch is the tablegen change and the update to the
> intrinsics
> API, the other two are mostly-complete updates to the X86 and ARM
> intrinsics tablegen files to show what this looks like. Assuming
> everyone's happy with the approach, I'll clean those up and audit
> them
> for correctness before they go in.
> 
> Okay to go ahead with this?
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list