[LLVMdev] A compliation target with multiple "profiles"

Tzu-Chien Chiu tzuchien.chiu at gmail.com
Mon Jul 25 23:52:11 PDT 2005


There is actually only one hardware, but with a lot of so called "profiles".

For example, there are totally 32 hardware registers available, but
the three profiles, namely:
* Low register usage profile - use 8 registers at most
* Medium register usage profile - use 16 registers at most
* High register useage profile - use 32 registers at most

I could define a "TablGen target" for each of the profile:

 llc -march={low,medium,high} 

but it's tedious. Is there any alternative way to do it?

The maximum number of registers used is just for example, and there
are still some minor difference among profiles, e.g. some hardware
instructions are not supported in some profiles.

-- 
Tzu-Chien Chiu,
3D Graphics Hardware Architect
<URL:http://www.csie.nctu.edu.tw/~jwchiu>




More information about the llvm-dev mailing list