diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-12-12 00:56:36 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-12-12 00:56:36 +0000 |
commit | 1a317678bc385277da31aeb749911b9a1a92557d (patch) | |
tree | ffcdf82d2b3279f164d0a9748a04a99b73b0dad3 /clang/lib/Sema/SemaDecl.cpp | |
parent | 6932e2f3682372ef5de4430018a64626eba059c4 (diff) | |
download | bcm5719-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