LLVM tools like llc and llvm-mc accept (via command line arguments) both target triple / architecture's name and ABI's name. To merge this information and form a new target triple this change introduces new Triple class member function getABIVariant(). This routine changes a target triple accordingly to the provided ABI's name. For example, accepting mips-linux-gnu as a target triple and n32 as an ABI's name it forms mips64-linux-gnuabin32.
This patch depends on D38799.