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 | ae034ed6a84ffef03fc47e31c29e6c3c7ce42d40 (patch) | |
| tree | 770f22dcefcbafbbb4a2a91a7a195d7eca15ab47 /docs/tutorial/OCamlLangImpl3.html | |
| parent | 2534fb4eb80105afafa4002ac7e86cdb847ac66e (diff) | |
| download | external_llvm-ae034ed6a84ffef03fc47e31c29e6c3c7ce42d40.zip external_llvm-ae034ed6a84ffef03fc47e31c29e6c3c7ce42d40.tar.gz external_llvm-ae034ed6a84ffef03fc47e31c29e6c3c7ce42d40.tar.bz2 | |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60915 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/tutorial/OCamlLangImpl3.html')
0 files changed, 0 insertions, 0 deletions
