Displaying 4 results from an estimated 4 matches for "promoteintop_brcond".
2016 Dec 22
0
struct bitfield regression between 3.6 and 3.9 (using -O0)
...ng when the Type-legalized selection DAG
> was optimized and the *xor *node was changed to a *setcc *(and
> actually, the *xor*seems like it was more optimal than the *setcc
> *anyway)*. *
>
> Any ideas about why this is happening?
I would suggest starting with DAGTypeLegalizer::PromoteIntOp_BRCOND, I
think...
-Eli
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-...
2008 Dec 13
2
[LLVMdev] i1 promotion issue (again)
ComputeNumSignBits() is never called.
Moreover, Cell SPU has to custom lower truncates in a specific way to
preserve register uniformity (scalar and vector representation is one
and the same, or, put another way, the scalar and vector registers
are the same register.) Consequently, I can't trap (truncate
(setcc ...)) patterns easily because the truncate is being custom
lowered.
2016 Dec 23
2
struct bitfield regression between 3.6 and 3.9 (using -O0)
...the Type-legalized selection DAG was
> optimized and the *xor *node was changed to a *setcc *(and actually, the
> *xor* seems like it was more optimal than the *setcc *anyway)*. *
>
> Any ideas about why this is happening?
>
>
> I would suggest starting with DAGTypeLegalizer::PromoteIntOp_BRCOND, I
> think...
>
> -Eli
>
> --
> Employee of Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: &...
2016 Dec 22
2
struct bitfield regression between 3.6 and 3.9 (using -O0)
Here's our testcase:
#include <stdio.h>
struct flags {
unsigned frog: 1;
unsigned foo : 1;
unsigned bar : 1;
unsigned bat : 1;
unsigned baz : 1;
unsigned bam : 1;
};
int main() {
struct flags flags;
flags.bar = 1;
flags.foo = 1;
if (flags.foo == 1) {
printf("Pass\n");
return 0;
} else {