summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-12-12 00:56:36 +0000
committerBill Wendling <isanbard@gmail.com>2008-12-12 00:56:36 +0000
commit1a317678bc385277da31aeb749911b9a1a92557d (patch)
treeffcdf82d2b3279f164d0a9748a04a99b73b0dad3 /clang/lib/Sema/SemaDecl.cpp
parent6932e2f3682372ef5de4430018a64626eba059c4 (diff)
downloadbcm5719-llvm-1a317678bc385277da31aeb749911b9a1a92557d.tar.gz
bcm5719-llvm-1a317678bc385277da31aeb749911b9a1a92557d.zip
Redo the arithmetic with overflow architecture. I was changing the semantics of
ISD::ADD to emit an implicit EFLAGS. This was horribly broken. Instead, replace the intrinsic with an ISD::SADDO node. Then custom lower that into an X86ISD::ADD node with a associated SETCC that checks the correct condition code (overflow or carry). Then that gets lowered into the correct X86::ADDOvf instruction. Similar for SUB and MUL instructions. llvm-svn: 60915
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud