[cfe-dev] Disable integer promotion (Dilan Manatunga via cfe-dev)

Norman Rink via cfe-dev cfe-dev at lists.llvm.org
Fri May 27 05:30:45 PDT 2016


Hi Dilan,

I would like to second your request for an option to disable integer
promotion. What do you need it for?

As far as I am aware, there is no such option and the code that implements
integer promotion is somewhat scattered across ³SemaExpr.cpp².

Also, I think your example code snippet contains a few ³i32²s too many. It
will be clearer to people what you are looking for if your code example is
consistent with your question.

Best,

Norman


>Message: 1
>Date: Fri, 27 May 2016 01:50:12 +0000
>From: Dilan Manatunga via cfe-dev <cfe-dev at lists.llvm.org>
>To: cfe-dev at lists.llvm.org
>Subject: [cfe-dev] Disable integer promotion
>Message-ID:
>	<CAHpgGu4=jFC9ohQQZZMp2NMG3Hw0sE5U4-Lqrgb+6gcXv9SEtQ at mail.gmail.com>
>Content-Type: text/plain; charset="utf-8"
>
>Is there a way to disable integer promotion when performing math
>operations. For example, when compiling a statement such as this:
>int8_t a  = 1;
>int8_t b = 2;
>int8_t c = a + b
>
>The LLVM IR will be:
>%x = sext i32 %a to i32
>%y = sext i32 %b to i32
>%z = add nsw i32 %x, %y
>%c = trunc i32 %z to i16
>
>Instead, it would simply compile to:
>$c = add nsw i32 %z, $y
>
>-Dilan Manatunga
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: 
><http://lists.llvm.org/pipermail/cfe-dev/attachments/20160527/4a7920ab/att
>achment-0001.html>
>
>------------------------------





More information about the cfe-dev mailing list