aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-04 22:49:04 +0000
committerDan Gohman <gohman@apple.com>2009-06-04 22:49:04 +0000
commitae3a0be92e33bc716722aa600983fc1535acb122 (patch)
tree768333097a76cc105813c7c636daf6259e6a0fc7
parentd18e31ae17390d9c6f6cf93d18badf962452031d (diff)
Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/LangRef.html135
-rw-r--r--include/llvm/Constants.h4
-rw-r--r--include/llvm/InstrTypes.h13
-rw-r--r--include/llvm/Instruction.def113
-rw-r--r--include/llvm/Support/ConstantFolder.h12
-rw-r--r--include/llvm/Support/IRBuilder.h18
-rw-r--r--include/llvm/Support/NoFolder.h9
-rw-r--r--include/llvm/Support/PatternMatch.h47
-rw-r--r--include/llvm/Support/TargetFolder.h12
-rw-r--r--lib/Analysis/ValueTracking.cpp2
-rw-r--r--lib/AsmParser/LLLexer.cpp4
-rw-r--r--lib/AsmParser/LLParser.cpp12
-rw-r--r--lib/AsmParser/LLToken.h3
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp9
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp9
-rw-r--r--lib/CodeGen/SelectionDAG/FastISel.cpp24
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp46
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuild.h9
-rw-r--r--lib/ExecutionEngine/ExecutionEngine.cpp21
-rw-r--r--lib/ExecutionEngine/Interpreter/Execution.cpp56
-rw-r--r--lib/ExecutionEngine/JIT/JITEmitter.cpp3
-rw-r--r--lib/Target/CBackend/CBackend.cpp35
-rw-r--r--lib/Target/CppBackend/CPPBackend.cpp9
-rw-r--r--lib/Target/MSIL/MSILWriter.cpp8
-rw-r--r--lib/Transforms/Scalar/GVN.cpp6
-rw-r--r--lib/Transforms/Scalar/GVNPRE.cpp9
-rw-r--r--lib/Transforms/Scalar/IndVarSimplify.cpp2
-rw-r--r--lib/Transforms/Scalar/InstructionCombining.cpp216
-rw-r--r--lib/Transforms/Scalar/LoopStrengthReduce.cpp3
-rw-r--r--lib/Transforms/Scalar/SimplifyLibCalls.cpp2
-rw-r--r--lib/Transforms/Utils/SimplifyCFG.cpp8
-rw-r--r--lib/VMCore/ConstantFold.cpp23
-rw-r--r--lib/VMCore/Constants.cpp49
-rw-r--r--lib/VMCore/Instruction.cpp19
-rw-r--r--lib/VMCore/Instructions.cpp70
-rw-r--r--test/Analysis/ScalarEvolution/sext-iv-0.ll2
-rw-r--r--test/Analysis/ScalarEvolution/sext-iv-1.ll8
-rw-r--r--test/Analysis/ScalarEvolution/trip-count4.ll2
-rw-r--r--test/Assembler/2002-04-07-HexFloatConstants.ll2
-rw-r--r--test/Assembler/2002-04-07-InfConstant.ll2
-rw-r--r--test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll8
-rw-r--r--test/CodeGen/ARM/2009-02-27-SpillerBug.ll280
-rw-r--r--test/CodeGen/ARM/2009-03-07-SpillerBug.ll56
-rw-r--r--test/CodeGen/ARM/2009-04-08-FloatUndef.ll4
-rw-r--r--test/CodeGen/ARM/cse-libcalls.ll2
-rw-r--r--test/CodeGen/ARM/fixunsdfdi.ll2
-rw-r--r--test/CodeGen/ARM/fnmul.ll4
-rw-r--r--test/CodeGen/ARM/fparith.ll16
-rw-r--r--test/CodeGen/ARM/fpmem.ll4
-rw-r--r--test/CodeGen/ARM/illegal-vector-bitcast.ll2
-rw-r--r--test/CodeGen/ARM/vfp.ll8
-rw-r--r--test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll4
-rw-r--r--test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll2
-rw-r--r--test/CodeGen/CBackend/vectors.ll2
-rw-r--r--test/CodeGen/CellSPU/dp_farith.ll48
-rw-r--r--test/CodeGen/CellSPU/fneg-fabs.ll8
-rw-r--r--test/CodeGen/CellSPU/sp_farith.ll44
-rw-r--r--test/CodeGen/Generic/2006-07-03-schedulers.ll14
-rw-r--r--test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll6
-rw-r--r--test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll2
-rw-r--r--test/CodeGen/Generic/2008-02-25-NegateZero.ll4
-rw-r--r--test/CodeGen/Generic/2008-02-26-NegatableCrash.ll8
-rw-r--r--test/CodeGen/Generic/fneg-fabs.ll4
-rw-r--r--test/CodeGen/Generic/print-arith-fp.ll6
-rw-r--r--test/CodeGen/Generic/select.ll8
-rw-r--r--test/CodeGen/Generic/storetrunc-fp.ll2
-rw-r--r--test/CodeGen/Generic/v-split.ll2
-rw-r--r--test/CodeGen/Generic/vector.ll20
-rw-r--r--test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll2
-rw-r--r--test/CodeGen/Mips/2008-07-06-fadd64.ll2
-rw-r--r--test/CodeGen/Mips/2008-07-22-Cstpool.ll4
-rw-r--r--test/CodeGen/Mips/2008-07-23-fpcmp.ll2
-rw-r--r--test/CodeGen/Mips/2008-08-03-fabs64.ll2
-rw-r--r--test/CodeGen/Mips/2008-11-10-xint_to_fp.ll8
-rw-r--r--test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll2
-rw-r--r--test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll6
-rw-r--r--test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll88
-rw-r--r--test/CodeGen/PowerPC/2007-11-19-VectorSplitting.ll4
-rw-r--r--test/CodeGen/PowerPC/2008-07-15-Fabs.ll8
-rw-r--r--test/CodeGen/PowerPC/2008-07-17-Fneg.ll2
-rw-r--r--test/CodeGen/PowerPC/2008-09-12-CoalescerBug.ll40
-rw-r--r--test/CodeGen/PowerPC/2008-10-28-UnprocessedNode.ll6
-rw-r--r--test/CodeGen/PowerPC/2008-10-28-f128-i32.ll6
-rw-r--r--test/CodeGen/PowerPC/buildvec_canonicalize.ll2
-rw-r--r--test/CodeGen/PowerPC/fma.ll40
-rw-r--r--test/CodeGen/PowerPC/fnabs.ll2
-rw-r--r--test/CodeGen/PowerPC/fneg.ll8
-rw-r--r--test/CodeGen/PowerPC/int-fp-conv-1.ll2
-rw-r--r--test/CodeGen/PowerPC/itofp128.ll2
-rw-r--r--test/CodeGen/PowerPC/mem-rr-addr-mode.ll4
-rw-r--r--test/CodeGen/PowerPC/multiple-return-values.ll2
-rw-r--r--test/CodeGen/PowerPC/ppcf128-1-opt.ll6
-rw-r--r--test/CodeGen/PowerPC/ppcf128-1.ll6
-rw-r--r--test/CodeGen/PowerPC/ppcf128-2.ll2
-rw-r--r--test/CodeGen/PowerPC/ppcf128-4.ll4
-rw-r--r--test/CodeGen/PowerPC/return-val-i128.ll2
-rw-r--r--test/CodeGen/PowerPC/unsafe-math.ll4
-rw-r--r--test/CodeGen/PowerPC/vec_fneg.ll2
-rw-r--r--test/CodeGen/PowerPC/vec_splat.ll2
-rw-r--r--test/CodeGen/PowerPC/vec_zero.ll2
-rw-r--r--test/CodeGen/PowerPC/vector.ll20
-rw-r--r--test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll4
-rw-r--r--test/CodeGen/X86/2005-05-08-FPStackifierPHI.ll8
-rw-r--r--test/CodeGen/X86/2006-05-25-CycleInDAG.ll2
-rw-r--r--test/CodeGen/X86/2007-01-08-InstrSched.ll14
-rw-r--r--test/CodeGen/X86/2007-01-13-StackPtrIndex.ll50
-rw-r--r--test/CodeGen/X86/2007-03-01-SpillerCrash.ll22
-rw-r--r--test/CodeGen/X86/2007-04-11-InlineAsmVectorResult.ll2
-rw-r--r--test/CodeGen/X86/2007-04-24-VectorCrash.ll18
-rw-r--r--test/CodeGen/X86/2007-06-29-VecFPConstantCSEBug.ll4
-rw-r--r--test/CodeGen/X86/2007-07-10-StackerAssert.ll2
-rw-r--r--test/CodeGen/X86/2007-09-18-ShuffleXformBug.ll2
-rw-r--r--test/CodeGen/X86/2007-10-12-SpillerUnfold1.ll42
-rw-r--r--test/CodeGen/X86/2007-11-02-BadAsm.ll4
-rw-r--r--test/CodeGen/X86/2007-11-06-InstrSched.ll4
-rw-r--r--test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll4
-rw-r--r--test/CodeGen/X86/2007-12-11-FoldImpDefSpill.ll2
-rw-r--r--test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll14
-rw-r--r--test/CodeGen/X86/2008-02-06-LoadFoldingBug.ll4
-rw-r--r--test/CodeGen/X86/2008-02-08-LoadFoldingBug.ll16
-rw-r--r--test/CodeGen/X86/2008-02-27-DeadSlotElimBug.ll12
-rw-r--r--test/CodeGen/X86/2008-02-27-PEICrash.ll12
-rw-r--r--test/CodeGen/X86/2008-03-18-CoalescerBug.ll4
-rw-r--r--test/CodeGen/X86/2008-03-25-TwoAddrPassBug.ll10
-rw-r--r--test/CodeGen/X86/2008-07-19-movups-spills.ll1122
-rw-r--r--test/CodeGen/X86/2008-07-23-VSetCC.ll6
-rw-r--r--test/CodeGen/X86/2008-08-23-X86-64AsmBug.ll2
-rw-r--r--test/CodeGen/X86/2008-10-27-CoalescerBug.ll4
-rw-r--r--test/CodeGen/X86/2008-11-03-F80VAARG.ll2
-rw-r--r--