- Feb 13, 2008
-
-
Devang Patel authored
llvm-svn: 47093
-
Dan Gohman authored
llvm-svn: 47091
-
Dan Gohman authored
actually does. llvm-svn: 47090
-
Devang Patel authored
llvm-svn: 47089
-
Ted Kremenek authored
branch ALWAYS be the last successor for a switch-terminated block. This allows clients to distinguish cases like the following: switch(...) case XXX: switch(...) { case YYY: ... } case ZZZ: .. } In this case, the block with "case ZZZ:" is the default block for the inner switch statement, but that case is associated with the outer switch statement, and not the inner one. Clients can test for this behavior by checking if a successor block is the last one (and thus just assume that this is the "default" case). llvm-svn: 47088
-
Ted Kremenek authored
"default" case. In such cases, we now correctly add the CFGBlock representing the code after the switch statement as a successor to the block terminated by the switch statement. llvm-svn: 47087
-
Dan Gohman authored
llvm-svn: 47086
-
Dan Gohman authored
llvm-svn: 47085
-
Dan Gohman authored
llvm-svn: 47084
-
Devang Patel authored
llvm-svn: 47082
-
Nicolas Geoffray authored
llvm-svn: 47079
-
Dale Johannesen authored
llvm-svn: 47078
-
Ted Kremenek authored
llvm-svn: 47076
-
Duncan Sands authored
CTTZ and CTPOP. The expansion code differs from that in LegalizeDAG in that it chooses to take the CTLZ/CTTZ count from the Hi/Lo part depending on whether the Hi/Lo value is zero, not on whether CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the width of the type is) for it. I made this change because the optimizers may well know that Hi/Lo is zero and exploit it. The promotion code for CTTZ also differs from that in LegalizeDAG: it uses an "or" to get the right result when the original value is zero, rather than using a compare and select. This also means the value doesn't need to be zero extended. llvm-svn: 47075
-
Chris Lattner authored
llvm-svn: 47074
-
Chris Lattner authored
llvm-svn: 47073
-
Ted Kremenek authored
llvm-svn: 47072
-
Ted Kremenek authored
http://llvm.org/viewvc/llvm-project?rev=47070&view=rev llvm-svn: 47071
-
Ted Kremenek authored
Renamed class GRConstants => GRExprEngine. This was done with a Perl script, and will result in 80 col. violations that I will gradually fix up. llvm-svn: 47070
-
Eli Friedman authored
tgmath.h. Note that there is another issue with tgmath.h, so mandel.c still doesn't work. llvm-svn: 47069
-
Ted Kremenek authored
llvm-svn: 47068
-
Chris Lattner authored
llvm-svn: 47067
-
Chris Lattner authored
llvm-svn: 47066
-
Devang Patel authored
llvm-svn: 47065
-
Ted Kremenek authored
llvm-svn: 47064
-
Duncan Sands authored
the build. Put all items that the user should specify in bold. Make it a debug build. llvm-svn: 47063
-
Wojciech Matyjewicz authored
llvm-svn: 47062
-
Wojciech Matyjewicz authored
llvm-svn: 47061
-
Evan Cheng authored
llvm-svn: 47060
-
Evan Cheng authored
llvm-svn: 47059
-
Evan Cheng authored
llvm-svn: 47058
-
Evan Cheng authored
Fix a potential serious problem where kills belonging to the val# defined by a two-address instruction is also on the val# that defines the input. llvm-svn: 47057
-
Evan Cheng authored
* Ignore copy instructions which have already been coalesced. llvm-svn: 47056
-
Eli Friedman authored
llvm-svn: 47055
-
Chris Lattner authored
node as soon as we create it in SDISel. Previously we would lower it in legalize. The problem with this is that it only exposes the argument loads implied by FORMAL_ARGUMENTs after legalize, so that only dag combine 2 can hack on them. This causes us to miss some optimizations because datatype expansion also happens here. Exposing the loads early allows us to do optimizations on them. For example we now compile arg-cast.ll to: _foo: movl $2147483647, %eax andl 8(%esp), %eax ret where we previously produced: _foo: subl $12, %esp movsd 16(%esp), %xmm0 movsd %xmm0, (%esp) movl $2147483647, %eax andl 4(%esp), %eax addl $12, %esp ret It might also make sense to do this for ISD::CALL nodes, which have implicit stores on many targets. llvm-svn: 47054
-
Chris Lattner authored
DAGCombine is now quite good at zapifying them. llvm-svn: 47053
-
Chris Lattner authored
llvm-svn: 47052
-
Nate Begeman authored
llvm-svn: 47051
-
Eli Friedman authored
transform, so please review.) llvm-svn: 47050
-
Nate Begeman authored
llvm-svn: 47049
-