[llvm-commits] [llvm] r157650 - in /llvm/trunk: include/llvm/MC/MCRegisterInfo.h utils/TableGen/CodeGenRegisters.cpp utils/TableGen/CodeGenRegisters.h utils/TableGen/RegisterInfoEmitter.cpp

Douglas Gregor dgregor at apple.com
Wed May 30 12:07:05 PDT 2012


On May 29, 2012, at 4:40 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=157650&r1=157649&r2=157650&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Tue May 29 18:40:00 2012
> 
> +static void printDiff16(raw_ostream &OS, uint16_t Val) {
> +  OS << SignExtend32<16>(Val);
> +}
> +

This prints a signed value, which can be negative...

> +  // Emit the shared table of differential lists.
> +  OS << "extern const uint16_t " << TargetName << "RegDiffLists[] = {\n";
> +  DiffSeqs.emit(OS, printDiff16);
> +  OS << "};\n\n";

While this array is of unsigned values. 

Which one do you want? The different breaks compilation of LLVM under C++11 mode, due to -Wc++11-narrowing.

	- Doug



More information about the llvm-commits mailing list