clamav/libclamav/c++/llvm/cmake
Török Edvin 79a10b488f Merge LLVM 2.8 from upstream
Conflicts:
	libclamav/c++/llvm/CMakeLists.txt
	libclamav/c++/llvm/README.txt
	libclamav/c++/llvm/autoconf/configure.ac
	libclamav/c++/llvm/bindings/ada/llvm/llvm.ads
	libclamav/c++/llvm/bindings/ocaml/Makefile.ocaml
	libclamav/c++/llvm/bindings/ocaml/llvm/llvm.ml
	libclamav/c++/llvm/bindings/ocaml/llvm/llvm.mli
	libclamav/c++/llvm/bindings/ocaml/llvm/llvm_ocaml.c
	libclamav/c++/llvm/configure
	libclamav/c++/llvm/docs/AliasAnalysis.html
	libclamav/c++/llvm/docs/BitCodeFormat.html
	libclamav/c++/llvm/docs/CMake.html
	libclamav/c++/llvm/docs/CodeGenerator.html
	libclamav/c++/llvm/docs/CommandGuide/bugpoint.pod
	libclamav/c++/llvm/docs/CommandGuide/index.html
	libclamav/c++/llvm/docs/CommandGuide/lit.pod
	libclamav/c++/llvm/docs/CommandGuide/lli.pod
	libclamav/c++/llvm/docs/DebuggingJITedCode.html
	libclamav/c++/llvm/docs/DeveloperPolicy.html
	libclamav/c++/llvm/docs/ExceptionHandling.html
	libclamav/c++/llvm/docs/FAQ.html
	libclamav/c++/llvm/docs/GCCFEBuildInstrs.html
	libclamav/c++/llvm/docs/GarbageCollection.html
	libclamav/c++/llvm/docs/GetElementPtr.html
	libclamav/c++/llvm/docs/GettingStarted.html
	libclamav/c++/llvm/docs/GoldPlugin.html
	libclamav/c++/llvm/docs/HowToReleaseLLVM.html
	libclamav/c++/llvm/docs/HowToSubmitABug.html
	libclamav/c++/llvm/docs/LangRef.html
	libclamav/c++/llvm/docs/Lexicon.html
	libclamav/c++/llvm/docs/LinkTimeOptimization.html
	libclamav/c++/llvm/docs/MakefileGuide.html
	libclamav/c++/llvm/docs/Passes.html
	libclamav/c++/llvm/docs/ProgrammersManual.html
	libclamav/c++/llvm/docs/ReleaseNotes.html
	libclamav/c++/llvm/docs/SourceLevelDebugging.html
	libclamav/c++/llvm/docs/TableGenFundamentals.html
	libclamav/c++/llvm/docs/TestingGuide.html
	libclamav/c++/llvm/docs/WritingAnLLVMBackend.html
	libclamav/c++/llvm/docs/WritingAnLLVMPass.html
	libclamav/c++/llvm/docs/tutorial/LangImpl3.html
	libclamav/c++/llvm/docs/tutorial/LangImpl4.html
	libclamav/c++/llvm/docs/tutorial/LangImpl5.html
	libclamav/c++/llvm/docs/tutorial/LangImpl6.html
	libclamav/c++/llvm/docs/tutorial/LangImpl7.html
	libclamav/c++/llvm/docs/tutorial/OCamlLangImpl3.html
	libclamav/c++/llvm/docs/tutorial/OCamlLangImpl4.html
	libclamav/c++/llvm/docs/tutorial/OCamlLangImpl5.html
	libclamav/c++/llvm/docs/tutorial/OCamlLangImpl6.html
	libclamav/c++/llvm/docs/tutorial/OCamlLangImpl7.html
	libclamav/c++/llvm/examples/BrainF/BrainF.cpp
	libclamav/c++/llvm/examples/ExceptionDemo/ExceptionDemo.cpp
	libclamav/c++/llvm/examples/ExceptionDemo/Makefile
	libclamav/c++/llvm/examples/Fibonacci/fibonacci.cpp
	libclamav/c++/llvm/examples/Kaleidoscope/Chapter3/toy.cpp
	libclamav/c++/llvm/examples/Kaleidoscope/Chapter4/toy.cpp
	libclamav/c++/llvm/examples/Kaleidoscope/Chapter5/toy.cpp
	libclamav/c++/llvm/examples/Kaleidoscope/Chapter6/toy.cpp
	libclamav/c++/llvm/examples/Kaleidoscope/Chapter7/toy.cpp
	libclamav/c++/llvm/examples/Makefile
	libclamav/c++/llvm/include/llvm/ADT/SmallVector.h
	libclamav/c++/llvm/include/llvm/Config/config.h.in
	libclamav/c++/llvm/include/llvm/Target/TargetLowering.h
	libclamav/c++/llvm/lib/Analysis/PointerTracking.cpp
	libclamav/c++/llvm/lib/Archive/Archive.cpp
	libclamav/c++/llvm/lib/Archive/ArchiveInternals.h
	libclamav/c++/llvm/lib/Archive/ArchiveReader.cpp
	libclamav/c++/llvm/lib/Archive/ArchiveWriter.cpp
	libclamav/c++/llvm/lib/Archive/CMakeLists.txt
	libclamav/c++/llvm/lib/CodeGen/LiveInterval.cpp
	libclamav/c++/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
	libclamav/c++/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
	libclamav/c++/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
	libclamav/c++/llvm/lib/CodeGen/Spiller.cpp
	libclamav/c++/llvm/lib/CompilerDriver/Action.cpp
	libclamav/c++/llvm/lib/CompilerDriver/BuiltinOptions.cpp
	libclamav/c++/llvm/lib/CompilerDriver/CompilationGraph.cpp
	libclamav/c++/llvm/lib/CompilerDriver/Main.cpp
	libclamav/c++/llvm/lib/CompilerDriver/Makefile
	libclamav/c++/llvm/lib/CompilerDriver/Tool.cpp
	libclamav/c++/llvm/lib/ExecutionEngine/JIT/JIT.cpp
	libclamav/c++/llvm/lib/Linker/LinkItems.cpp
	libclamav/c++/llvm/lib/Linker/LinkModules.cpp
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDDisassembler.h
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDInst.cpp
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDInst.h
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDOperand.h
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDToken.cpp
	libclamav/c++/llvm/lib/MC/MCDisassembler/EDToken.h
	libclamav/c++/llvm/lib/MC/MCParser/AsmLexer.cpp
	libclamav/c++/llvm/lib/MC/MCParser/AsmParser.cpp
	libclamav/c++/llvm/lib/MC/MCParser/CMakeLists.txt
	libclamav/c++/llvm/lib/MC/MCParser/MCAsmLexer.cpp
	libclamav/c++/llvm/lib/MC/MCParser/MCAsmParser.cpp
	libclamav/c++/llvm/lib/MC/MCParser/TargetAsmParser.cpp
	libclamav/c++/llvm/lib/System/DynamicLibrary.cpp
	libclamav/c++/llvm/lib/Target/ARM/ARMInstrInfo.td
	libclamav/c++/llvm/lib/Target/ARM/ARMSubtarget.cpp
	libclamav/c++/llvm/lib/Target/ARM/ARMSubtarget.h
	libclamav/c++/llvm/lib/Target/ARM/Disassembler/Makefile
	libclamav/c++/llvm/lib/Target/Alpha/Alpha.td
	libclamav/c++/llvm/lib/Target/Alpha/AlphaBranchSelector.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaISelLowering.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaISelLowering.h
	libclamav/c++/llvm/lib/Target/Alpha/AlphaInstrFormats.td
	libclamav/c++/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaInstrInfo.h
	libclamav/c++/llvm/lib/Target/Alpha/AlphaInstrInfo.td
	libclamav/c++/llvm/lib/Target/Alpha/AlphaJITInfo.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaLLRP.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/Alpha/AlphaMachineFunctionInfo.h
	libclamav/c++/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaRegisterInfo.h
	libclamav/c++/llvm/lib/Target/Alpha/AlphaSchedule.td
	libclamav/c++/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AlphaTargetMachine.h
	libclamav/c++/llvm/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/Alpha/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/Alpha/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinISelLowering.h
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinInstrInfo.h
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinIntrinsics.td
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h
	libclamav/c++/llvm/lib/Target/Blackfin/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/CBackend/CBackend.cpp
	libclamav/c++/llvm/lib/Target/CBackend/CTargetMachine.h
	libclamav/c++/llvm/lib/Target/CellSPU/AsmPrinter/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/CellSPU/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/CellSPU/CellSDKIntrinsics.td
	libclamav/c++/llvm/lib/Target/CellSPU/README.txt
	libclamav/c++/llvm/lib/Target/CellSPU/SPU.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPU64InstrInfo.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUCallingConv.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUFrameInfo.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPUISelLowering.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPUISelLowering.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPUInstrInfo.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPUInstrInfo.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPUMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPUMachineFunction.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPUMathInstr.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUNodes.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUOperands.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPURegisterInfo.h
	libclamav/c++/llvm/lib/Target/CellSPU/SPURegisterInfo.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUSchedule.td
	libclamav/c++/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/CellSPU/SPUTargetMachine.h
	libclamav/c++/llvm/lib/Target/CppBackend/CPPBackend.cpp
	libclamav/c++/llvm/lib/Target/CppBackend/CPPTargetMachine.h
	libclamav/c++/llvm/lib/Target/MBlaze/AsmPrinter/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/MBlaze/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/MBlaze/MBlaze.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeCallingConv.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeISelLowering.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrFPU.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrFSL.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrFormats.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeIntrinsics.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeMachineFunction.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeSchedule.td
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h
	libclamav/c++/llvm/lib/Target/MBlaze/MBlazeTargetObjectFile.cpp
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.h
	libclamav/c++/llvm/lib/Target/MSP430/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/MSP430/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/MSP430/MSP430.td
	libclamav/c++/llvm/lib/Target/MSP430/MSP430BranchSelector.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430ISelLowering.h
	libclamav/c++/llvm/lib/Target/MSP430/MSP430InstrFormats.td
	libclamav/c++/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430InstrInfo.h
	libclamav/c++/llvm/lib/Target/MSP430/MSP430InstrInfo.td
	libclamav/c++/llvm/lib/Target/MSP430/MSP430MCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430MCAsmInfo.h
	libclamav/c++/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430RegisterInfo.h
	libclamav/c++/llvm/lib/Target/MSP430/MSP430RegisterInfo.td
	libclamav/c++/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
	libclamav/c++/llvm/lib/Target/MSP430/MSP430TargetMachine.h
	libclamav/c++/llvm/lib/Target/Mips/AsmPrinter/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/Mips/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/Mips/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/Mips/Mips.td
	libclamav/c++/llvm/lib/Target/Mips/MipsCallingConv.td
	libclamav/c++/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsISelLowering.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsISelLowering.h
	libclamav/c++/llvm/lib/Target/Mips/MipsInstrFPU.td
	libclamav/c++/llvm/lib/Target/Mips/MipsInstrFormats.td
	libclamav/c++/llvm/lib/Target/Mips/MipsInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsInstrInfo.h
	libclamav/c++/llvm/lib/Target/Mips/MipsInstrInfo.td
	libclamav/c++/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/Mips/MipsMachineFunction.h
	libclamav/c++/llvm/lib/Target/Mips/MipsRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsRegisterInfo.h
	libclamav/c++/llvm/lib/Target/Mips/MipsRegisterInfo.td
	libclamav/c++/llvm/lib/Target/Mips/MipsSchedule.td
	libclamav/c++/llvm/lib/Target/Mips/MipsTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/Mips/MipsTargetMachine.h
	libclamav/c++/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
	libclamav/c++/llvm/lib/Target/PIC16/AsmPrinter/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/PIC16/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
	libclamav/c++/llvm/lib/Target/PIC16/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/PIC16/PIC16.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16DebugInfo.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16ISelDAGToDAG.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16ISelLowering.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16ISelLowering.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16InstrInfo.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16InstrInfo.td
	libclamav/c++/llvm/lib/Target/PIC16/PIC16MCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16MCAsmInfo.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Passes/PIC16Overlay.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16RegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16RegisterInfo.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Section.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16Section.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16TargetMachine.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16TargetMachine.h
	libclamav/c++/llvm/lib/Target/PIC16/PIC16TargetObjectFile.cpp
	libclamav/c++/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h
	libclamav/c++/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
	libclamav/c++/llvm/lib/Target/Sparc/AsmPrinter/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/Sparc/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/Sparc/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/Sparc/DelaySlotFiller.cpp
	libclamav/c++/llvm/lib/Target/Sparc/FPMover.cpp
	libclamav/c++/llvm/lib/Target/Sparc/Sparc.td
	libclamav/c++/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcISelLowering.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcISelLowering.h
	libclamav/c++/llvm/lib/Target/Sparc/SparcInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcInstrInfo.h
	libclamav/c++/llvm/lib/Target/Sparc/SparcInstrInfo.td
	libclamav/c++/llvm/lib/Target/Sparc/SparcMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/Sparc/SparcMachineFunctionInfo.h
	libclamav/c++/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcRegisterInfo.h
	libclamav/c++/llvm/lib/Target/Sparc/SparcRegisterInfo.td
	libclamav/c++/llvm/lib/Target/Sparc/SparcTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/Sparc/SparcTargetMachine.h
	libclamav/c++/llvm/lib/Target/SystemZ/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZISelLowering.h
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZInstrFP.td
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZInstrInfo.h
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZOperands.td
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/SystemZ/SystemZTargetMachine.h
	libclamav/c++/llvm/lib/Target/X86/Disassembler/Makefile
	libclamav/c++/llvm/lib/Target/X86/X86ISelLowering.cpp
	libclamav/c++/llvm/lib/Target/X86/X86ISelLowering.h
	libclamav/c++/llvm/lib/Target/X86/X86InstrInfo.td
	libclamav/c++/llvm/lib/Target/X86/X86InstrSSE.td
	libclamav/c++/llvm/lib/Target/X86/X86MCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/X86/X86MachineFunctionInfo.h
	libclamav/c++/llvm/lib/Target/X86/X86RegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/XCore/AsmPrinter/Makefile
	libclamav/c++/llvm/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
	libclamav/c++/llvm/lib/Target/XCore/CMakeLists.txt
	libclamav/c++/llvm/lib/Target/XCore/README.txt
	libclamav/c++/llvm/lib/Target/XCore/XCore.td
	libclamav/c++/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreISelLowering.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreISelLowering.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreInstrInfo.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreInstrInfo.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreInstrInfo.td
	libclamav/c++/llvm/lib/Target/XCore/XCoreMCAsmInfo.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreMCAsmInfo.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreRegisterInfo.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
	libclamav/c++/llvm/lib/Target/XCore/XCoreTargetMachine.h
	libclamav/c++/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp
	libclamav/c++/llvm/lib/VMCore/LLVMContextImpl.cpp
	libclamav/c++/llvm/lib/VMCore/LLVMContextImpl.h
	libclamav/c++/llvm/lib/VMCore/Verifier.cpp
	libclamav/c++/llvm/runtime/Makefile
	libclamav/c++/llvm/runtime/libprofile/Makefile
	libclamav/c++/llvm/runtime/libprofile/libprofile.exports
	libclamav/c++/llvm/test/Analysis/BasicAA/cas.ll
	libclamav/c++/llvm/test/Analysis/BasicAA/constant-over-index.ll
	libclamav/c++/llvm/test/Analysis/BasicAA/featuretest.ll
	libclamav/c++/llvm/test/Analysis/BasicAA/gep-alias.ll
	libclamav/c++/llvm/test/Analysis/BasicAA/modref.ll
	libclamav/c++/llvm/test/Analysis/CallGraph/2008-09-09-DirectCall.ll
	libclamav/c++/llvm/test/Analysis/CallGraph/2008-09-09-UsedByGlobal.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/2008-07-29-SMinExpr.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/2008-11-18-LessThanOrEqual.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/2008-12-11-SMaxOverflow.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/avoid-smax-1.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/scev-aa.ll
	libclamav/c++/llvm/test/Analysis/ScalarEvolution/trip-count10.ll
	libclamav/c++/llvm/test/Archive/README.txt
	libclamav/c++/llvm/test/Assembler/getelementptr.ll
	libclamav/c++/llvm/test/Assembler/metadata.ll
	libclamav/c++/llvm/test/Bindings/Ocaml/analysis.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/bitreader.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/bitwriter.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/executionengine.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/scalar_opts.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/target.ml
	libclamav/c++/llvm/test/Bindings/Ocaml/vmcore.ml
	libclamav/c++/llvm/test/Bitcode/memcpy.ll
	libclamav/c++/llvm/test/BugPoint/crash-narrowfunctiontest.ll
	libclamav/c++/llvm/test/BugPoint/remove_arguments_test.ll
	libclamav/c++/llvm/test/CodeGen/ARM/armv4.ll
	libclamav/c++/llvm/test/CodeGen/Blackfin/cmp64.ll
	libclamav/c++/llvm/test/CodeGen/Blackfin/jumptable.ll
	libclamav/c++/llvm/test/CodeGen/CellSPU/bss.ll
	libclamav/c++/llvm/test/CodeGen/CellSPU/call.ll
	libclamav/c++/llvm/test/CodeGen/CellSPU/call_indirect.ll
	libclamav/c++/llvm/test/CodeGen/CellSPU/loads.ll
	libclamav/c++/llvm/test/CodeGen/CellSPU/vecinsert.ll
	libclamav/c++/llvm/test/CodeGen/MBlaze/cc.ll
	libclamav/c++/llvm/test/CodeGen/MSP430/2009-05-17-Rot.ll
	libclamav/c++/llvm/test/CodeGen/MSP430/2009-05-17-Shift.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-06-05-Carry.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-03-SRet.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-05-ByVal.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-07-FPExtend.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-07-Float2Int.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-07-IntDoubleConvertions.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-15-InternalConstant.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-15-SmallSection.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-22-Cstpool.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-23-fpcmp.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-29-icmp.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-07-31-fcopysign.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-01-AsmInline.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-03-fabs64.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-04-Bitconvert.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-06-Alloca.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-07-CC.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-07-FPRound.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2008-08-08-ctlz.ll
	libclamav/c++/llvm/test/CodeGen/Mips/2009-11-16-CstPoolLoad.ll
	libclamav/c++/llvm/test/CodeGen/PIC16/2009-07-17-PR4566-pic16.ll
	libclamav/c++/llvm/test/CodeGen/PIC16/C16-15.ll
	libclamav/c++/llvm/test/CodeGen/PIC16/global-in-user-section.ll
	libclamav/c++/llvm/test/CodeGen/PIC16/globals.ll
	libclamav/c++/llvm/test/CodeGen/PIC16/sext.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/00-RetVoid.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/01-RetArg.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetAdd.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetAddImm.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetAnd.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetNeg.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetOr.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetSub.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetSubImm.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetXor.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/02-RetXorImm.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/05-MemLoadsStores.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/05-MemLoadsStores16.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/07-BrUnCond.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/09-DynamicAlloca.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/09-Globals.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/10-FuncsPic.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/10-GlobalsPic.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/11-BSwap.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-06-02-Rotate.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-07-04-Shl32.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-07-05-Shifts.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-07-10-BadIncomingArgOffset.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll
	libclamav/c++/llvm/test/CodeGen/SystemZ/2009-07-11-InvalidRIISel.ll
	libclamav/c++/llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll
	libclamav/c++/llvm/test/CodeGen/X86/2009-02-09-ivs-different-sizes.ll
	libclamav/c++/llvm/test/CodeGen/X86/GC/dg.exp
	libclamav/c++/llvm/test/CodeGen/X86/byval7.ll
	libclamav/c++/llvm/test/CodeGen/X86/change-compare-stride-trickiness-0.ll
	libclamav/c++/llvm/test/CodeGen/X86/change-compare-stride-trickiness-1.ll
	libclamav/c++/llvm/test/CodeGen/X86/change-compare-stride-trickiness-2.ll
	libclamav/c++/llvm/test/CodeGen/X86/crash.ll
	libclamav/c++/llvm/test/CodeGen/X86/dyn-stackalloc.ll
	libclamav/c++/llvm/test/CodeGen/X86/sibcall.ll
	libclamav/c++/llvm/test/CodeGen/XCore/2010-04-07-DbgValueOtherTargets.ll
	libclamav/c++/llvm/test/CodeGen/XCore/addsub64.ll
	libclamav/c++/llvm/test/CodeGen/XCore/constants.ll
	libclamav/c++/llvm/test/CodeGen/XCore/indirectbr.ll
	libclamav/c++/llvm/test/DebugInfo/2009-10-16-Phi.ll
	libclamav/c++/llvm/test/DebugInfo/2009-11-03-InsertExtractValue.ll
	libclamav/c++/llvm/test/DebugInfo/printdbginfo2.ll
	libclamav/c++/llvm/test/FrontendC++/2009-07-15-LineNumbers.cpp
	libclamav/c++/llvm/test/FrontendC++/2009-07-16-Using.cpp
	libclamav/c++/llvm/test/FrontendC++/2009-10-27-crash.cpp
	libclamav/c++/llvm/test/FrontendC++/2010-02-17-DbgArtificialArg.cpp
	libclamav/c++/llvm/test/FrontendC/2007-04-11-InlineStorageClassC89.c
	libclamav/c++/llvm/test/FrontendC/2007-04-11-InlineStorageClassC99.c
	libclamav/c++/llvm/test/FrontendC/2007-05-16-EmptyStruct.c
	libclamav/c++/llvm/test/FrontendC/2008-03-24-BitField-And-Alloca.c
	libclamav/c++/llvm/test/FrontendC/2008-11-02-WeakAlias.c
	libclamav/c++/llvm/test/FrontendC/2009-01-20-k8.c
	libclamav/c++/llvm/test/FrontendC/2009-01-21-InvalidIterator.c
	libclamav/c++/llvm/test/FrontendC/2009-04-22-UnknownSize.c
	libclamav/c++/llvm/test/FrontendC/2009-06-14-HighlyAligned.c
	libclamav/c++/llvm/test/FrontendC/2009-12-07-BitFieldAlignment.c
	libclamav/c++/llvm/test/FrontendC/cstring-align.c
	libclamav/c++/llvm/test/FrontendC/pr5406.c
	libclamav/c++/llvm/test/FrontendObjC/2009-08-17-DebugInfo.m
	libclamav/c++/llvm/test/LLVMC/AppendCmdHook.td
	libclamav/c++/llvm/test/LLVMC/C++/dash-x.cpp
	libclamav/c++/llvm/test/LLVMC/C++/hello.cpp
	libclamav/c++/llvm/test/LLVMC/C++/together.cpp
	libclamav/c++/llvm/test/LLVMC/C/emit-llvm.c
	libclamav/c++/llvm/test/LLVMC/C/hello.c
	libclamav/c++/llvm/test/LLVMC/C/include.c
	libclamav/c++/llvm/test/LLVMC/C/opt-test.c
	libclamav/c++/llvm/test/LLVMC/C/sink.c
	libclamav/c++/llvm/test/LLVMC/C/wall.c
	libclamav/c++/llvm/test/LLVMC/EmptyCompilationGraph.td
	libclamav/c++/llvm/test/LLVMC/EnvParentheses.td
	libclamav/c++/llvm/test/LLVMC/ForwardAs.td
	libclamav/c++/llvm/test/LLVMC/ForwardTransformedValue.td
	libclamav/c++/llvm/test/LLVMC/ForwardValue.td
	libclamav/c++/llvm/test/LLVMC/HookWithArguments.td
	libclamav/c++/llvm/test/LLVMC/HookWithInFile.td
	libclamav/c++/llvm/test/LLVMC/Init.td
	libclamav/c++/llvm/test/LLVMC/MultiValuedOption.td
	libclamav/c++/llvm/test/LLVMC/MultipleCompilationGraphs.td
	libclamav/c++/llvm/test/LLVMC/NoActions.td
	libclamav/c++/llvm/test/LLVMC/NoCompilationGraph.td
	libclamav/c++/llvm/test/LLVMC/OneOrMore.td
	libclamav/c++/llvm/test/LLVMC/OptionPreprocessor.td
	libclamav/c++/llvm/test/LLVMC/OutputSuffixHook.td
	libclamav/c++/llvm/test/LLVMC/TestWarnings.td
	libclamav/c++/llvm/test/MC/AsmParser/ELF/dg.exp
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_32-bit.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_32-bit_cat.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_32-new-encoder.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_64-new-encoder.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_instructions.s
	libclamav/c++/llvm/test/MC/AsmParser/X86/x86_operands.s
	libclamav/c++/llvm/test/MC/AsmParser/assignment.s
	libclamav/c++/llvm/test/MC/AsmParser/dg.exp
	libclamav/c++/llvm/test/MC/AsmParser/directive_abort.s
	libclamav/c++/llvm/test/MC/AsmParser/directive_desc.s
	libclamav/c++/llvm/test/MC/AsmParser/directive_subsections_via_symbols.s
	libclamav/c++/llvm/test/MC/AsmParser/directive_values.s
	libclamav/c++/llvm/test/MC/AsmParser/directive_zerofill.s
	libclamav/c++/llvm/test/MC/AsmParser/exprs.s
	libclamav/c++/llvm/test/MC/AsmParser/hello.s
	libclamav/c++/llvm/test/MC/Disassembler/dg.exp
	libclamav/c++/llvm/test/MC/Disassembler/simple-tests.txt
	libclamav/c++/llvm/test/MC/MachO/reloc.s
	libclamav/c++/llvm/test/MC/MachO/symbol-flags.s
	libclamav/c++/llvm/test/MC/MachO/symbols-1.s
	libclamav/c++/llvm/test/MC/MachO/x86_64-sections.s
	libclamav/c++/llvm/test/Other/constant-fold-gep.ll
	libclamav/c++/llvm/test/TableGen/2003-08-03-PassCode.td
	libclamav/c++/llvm/test/TableGen/2006-09-18-LargeInt.td
	libclamav/c++/llvm/test/TableGen/AnonDefinitionOnDemand.td
	libclamav/c++/llvm/test/TableGen/DagDefSubst.td
	libclamav/c++/llvm/test/TableGen/DagIntSubst.td
	libclamav/c++/llvm/test/TableGen/DefmInherit.td
	libclamav/c++/llvm/test/TableGen/ForwardRef.td
	libclamav/c++/llvm/test/TableGen/GeneralList.td
	libclamav/c++/llvm/test/TableGen/IntBitInit.td
	libclamav/c++/llvm/test/TableGen/LazyChange.td
	libclamav/c++/llvm/test/TableGen/ListArgs.td
	libclamav/c++/llvm/test/TableGen/ListArgsSimple.td
	libclamav/c++/llvm/test/TableGen/ListConversion.td
	libclamav/c++/llvm/test/TableGen/ListSlices.td
	libclamav/c++/llvm/test/TableGen/MultiClass.td
	libclamav/c++/llvm/test/TableGen/MultiClassDefName.td
	libclamav/c++/llvm/test/TableGen/MultiClassInherit.td
	libclamav/c++/llvm/test/TableGen/Slice.td
	libclamav/c++/llvm/test/TableGen/String.td
	libclamav/c++/llvm/test/TableGen/SuperSubclassSameName.td
	libclamav/c++/llvm/test/TableGen/TargetInstrInfo.td
	libclamav/c++/llvm/test/TableGen/TargetInstrSpec.td
	libclamav/c++/llvm/test/TableGen/TemplateArgRename.td
	libclamav/c++/llvm/test/TableGen/Tree.td
	libclamav/c++/llvm/test/TableGen/TreeNames.td
	libclamav/c++/llvm/test/TableGen/UnsetBitInit.td
	libclamav/c++/llvm/test/TableGen/cast.td
	libclamav/c++/llvm/test/TableGen/eq.td
	libclamav/c++/llvm/test/TableGen/foreach.td
	libclamav/c++/llvm/test/TableGen/if.td
	libclamav/c++/llvm/test/TableGen/lisp.td
	libclamav/c++/llvm/test/TableGen/nameconcat.td
	libclamav/c++/llvm/test/TableGen/strconcat.td
	libclamav/c++/llvm/test/TableGen/subst.td
	libclamav/c++/llvm/test/TableGen/subst2.td
	libclamav/c++/llvm/test/Transforms/ConstProp/constant-expr.ll
	libclamav/c++/llvm/test/Transforms/ConstantMerge/dont-merge.ll
	libclamav/c++/llvm/test/Transforms/DeadArgElim/2009-03-17-MRE-Invoke.ll
	libclamav/c++/llvm/test/Transforms/DeadStoreElimination/crash.ll
	libclamav/c++/llvm/test/Transforms/GVN/2009-07-13-MemDepSortFail.ll
	libclamav/c++/llvm/test/Transforms/GVN/invariant-simple.ll
	libclamav/c++/llvm/test/Transforms/GVN/lifetime-simple.ll
	libclamav/c++/llvm/test/Transforms/GVN/load-pre-align.ll
	libclamav/c++/llvm/test/Transforms/GVN/rle.ll
	libclamav/c++/llvm/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll
	libclamav/c++/llvm/test/Transforms/GlobalOpt/crash.ll
	libclamav/c++/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
	libclamav/c++/llvm/test/Transforms/IPConstantProp/2009-09-24-byval-ptr.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/2009-05-24-useafterfree.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/casted-argument.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/indirectbr.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/loop_evaluate10.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/single-element-range.ll
	libclamav/c++/llvm/test/Transforms/IndVarSimplify/tripcount_compute.ll
	libclamav/c++/llvm/test/Transforms/Inline/crash.ll
	libclamav/c++/llvm/test/Transforms/Inline/externally_available.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/2007-12-28-IcmpSub2.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/align-addr.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/alloca.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/badmalloc.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/call.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/cast.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/crash.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/getelementptr.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/icmp.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/intrinsics.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/invariant.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/load.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/load3.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/malloc-free-delete.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/memset_chk.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/objsize.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/odr-linkage.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/phi.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/select.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/shift-sra.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/shift.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/strcpy_chk.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/urem-simplify-bug.ll
	libclamav/c++/llvm/test/Transforms/InstCombine/vec_shuffle.ll
	libclamav/c++/llvm/test/Transforms/JumpThreading/basic.ll
	libclamav/c++/llvm/test/Transforms/JumpThreading/crash.ll
	libclamav/c++/llvm/test/Transforms/LCSSA/2006-06-03-IncorrectIDFPhis.ll
	libclamav/c++/llvm/test/Transforms/LICM/hoisting.ll
	libclamav/c++/llvm/test/Transforms/LICM/scalar_promote.ll
	libclamav/c++/llvm/test/Transforms/LICM/sinking.ll
	libclamav/c++/llvm/test/Transforms/LoopIndexSplit/2008-02-08-Crash.ll
	libclamav/c++/llvm/test/Transforms/LoopRotate/phi-duplicate.ll
	libclamav/c++/llvm/test/Transforms/LoopStrengthReduce/pr2537.ll
	libclamav/c++/llvm/test/Transforms/LoopStrengthReduce/pr3571.ll
	libclamav/c++/llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll
	libclamav/c++/llvm/test/Transforms/LoopUnswitch/crash.ll
	libclamav/c++/llvm/test/Transforms/LoopUnswitch/preserve-analyses.ll
	libclamav/c++/llvm/test/Transforms/LowerAtomic/dg.exp
	libclamav/c++/llvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
	libclamav/c++/llvm/test/Transforms/MemCpyOpt/align.ll
	libclamav/c++/llvm/test/Transforms/PartialSpecialize/dg.exp
	libclamav/c++/llvm/test/Transforms/PruneEH/2008-09-05-CGUpdate.ll
	libclamav/c++/llvm/test/Transforms/SCCP/ipsccp-basic.ll
	libclamav/c++/llvm/test/Transforms/ScalarRepl/2009-12-11-NeonTypes.ll
	libclamav/c++/llvm/test/Transforms/ScalarRepl/2010-01-18-SelfCopy.ll
	libclamav/c++/llvm/test/Transforms/ScalarRepl/vector_promote.ll
	libclamav/c++/llvm/test/Transforms/SimplifyCFG/2008-04-27-MultipleReturnCrash.ll
	libclamav/c++/llvm/test/Transforms/SimplifyCFG/basictest.ll
	libclamav/c++/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
	libclamav/c++/llvm/test/Transforms/SimplifyLibCalls/StrCpy.ll
	libclamav/c++/llvm/test/Transforms/SimplifyLibCalls/StrNCmp.ll
	libclamav/c++/llvm/test/Transforms/SimplifyLibCalls/StrStr.ll
	libclamav/c++/llvm/test/Transforms/SimplifyLibCalls/memcmp.ll
	libclamav/c++/llvm/test/Transforms/Sink/dg.exp
	libclamav/c++/llvm/test/Transforms/TailCallElim/accum_recursion.ll
	libclamav/c++/llvm/test/Transforms/TailCallElim/inf-recursion.ll
	libclamav/c++/llvm/test/Transforms/TailDup/2008-06-11-AvoidDupLoopHeader.ll
	libclamav/c++/llvm/tools/CMakeLists.txt
	libclamav/c++/llvm/tools/Makefile
	libclamav/c++/llvm/tools/bugpoint-passes/TestPasses.cpp
	libclamav/c++/llvm/tools/bugpoint/BugDriver.cpp
	libclamav/c++/llvm/tools/bugpoint/BugDriver.h
	libclamav/c++/llvm/tools/bugpoint/CMakeLists.txt
	libclamav/c++/llvm/tools/bugpoint/CrashDebugger.cpp
	libclamav/c++/llvm/tools/bugpoint/ExecutionDriver.cpp
	libclamav/c++/llvm/tools/bugpoint/ExtractFunction.cpp
	libclamav/c++/llvm/tools/bugpoint/FindBugs.cpp
	libclamav/c++/llvm/tools/bugpoint/ListReducer.h
	libclamav/c++/llvm/tools/bugpoint/Makefile
	libclamav/c++/llvm/tools/bugpoint/Miscompilation.cpp
	libclamav/c++/llvm/tools/bugpoint/OptimizerDriver.cpp
	libclamav/c++/llvm/tools/bugpoint/ToolRunner.cpp
	libclamav/c++/llvm/tools/bugpoint/ToolRunner.h
	libclamav/c++/llvm/tools/bugpoint/bugpoint.cpp
	libclamav/c++/llvm/tools/edis/EDMain.cpp
	libclamav/c++/llvm/tools/edis/EnhancedDisassembly.exports
	libclamav/c++/llvm/tools/edis/Makefile
	libclamav/c++/llvm/tools/gold/Makefile
	libclamav/c++/llvm/tools/gold/README.txt
	libclamav/c++/llvm/tools/gold/gold-plugin.cpp
	libclamav/c++/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
	libclamav/c++/llvm/tools/llvm-extract/llvm-extract.cpp
	libclamav/c++/llvm/tools/llvm-ld/Optimize.cpp
	libclamav/c++/llvm/tools/llvm-ld/llvm-ld.cpp
	libclamav/c++/llvm/tools/llvm-link/llvm-link.cpp
	libclamav/c++/llvm/tools/llvm-mc/CMakeLists.txt
	libclamav/c++/llvm/tools/llvm-mc/Disassembler.cpp
	libclamav/c++/llvm/tools/llvm-mc/Disassembler.h
	libclamav/c++/llvm/tools/llvm-mc/Makefile
	libclamav/c++/llvm/tools/llvm-mc/llvm-mc.cpp
	libclamav/c++/llvm/tools/llvm-nm/llvm-nm.cpp
	libclamav/c++/llvm/tools/llvm-prof/llvm-prof.cpp
	libclamav/c++/llvm/tools/llvm-shlib/Makefile
	libclamav/c++/llvm/tools/lto/LTOCodeGenerator.cpp
	libclamav/c++/llvm/tools/lto/LTOCodeGenerator.h
	libclamav/c++/llvm/tools/lto/LTOModule.cpp
	libclamav/c++/llvm/tools/lto/LTOModule.h
	libclamav/c++/llvm/tools/lto/Makefile
	libclamav/c++/llvm/tools/lto/lto.cpp
	libclamav/c++/llvm/tools/lto/lto.exports
	libclamav/c++/llvm/tools/opt/AnalysisWrappers.cpp
	libclamav/c++/llvm/tools/opt/GraphPrinters.cpp
	libclamav/c++/llvm/tools/opt/PrintSCC.cpp
	libclamav/c++/llvm/tools/opt/opt.cpp
	libclamav/c++/llvm/unittests/Makefile.unittest
	libclamav/c++/llvm/utils/TableGen/DAGISelMatcherGen.cpp
	libclamav/c++/llvm/utils/TableGen/DAGISelMatcherOpt.cpp
	libclamav/c++/llvm/utils/unittest/UnitTestMain/Makefile
	libclamav/c++/llvm/utils/unittest/googletest/Makefile

Squashed commit of the following:

commit 1c111048f99b1b8a6e086a70308530d0db63d03e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Oct 6 23:26:40 2010 +0000

    Rename 2.8rc to 2.8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115863 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21c1db86b8625962acc7ab9bcde0ebb0fda5f1f4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Oct 4 20:41:06 2010 +0000

    Update

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32bbc5f2807446dcaedf0f706b0fea86b71f8c1e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Oct 4 19:55:17 2010 +0000

    Update release notes for 2.8 release.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9300f70083bc8838e18fb06a790e3883ae09c92c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Oct 1 06:48:31 2010 +0000

    PR8200: The MMX unpack instructions were no longer selected. Reverted the parts
    that caused this to happen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 639f98588bbc8738339ca5e55bd2ae21fd080a67
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 30 18:05:47 2010 +0000

    Revert r102604. It was breaking 32-bit Linux. See

           http://llvm.org/bugs/show_bug.cgi?id=8153

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115183 91177308-0d34-0410-b5e6-96231b3b80d8

commit d212fd6a34f24e6fd6ec158ccae08e8d6db6a407
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 29 23:07:19 2010 +0000

    Merge in r114506.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115101 91177308-0d34-0410-b5e6-96231b3b80d8

commit c669329983d1bf476bb7a417b2f28f3963b05570
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 29 22:23:19 2010 +0000

    Disable MinGW & shared because it never worked.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@115093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9381d307a291e5ffd1244b45145c103fa3ff275f
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Sep 28 13:47:20 2010 +0000

    Document that Pass(char*) got replaced with Pass(char&).

    This means that code wanting to be compatible needs to use ifdefs :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@114950 91177308-0d34-0410-b5e6-96231b3b80d8

commit e04351990531bb36a64fe55bd387720ac75d38c8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Sep 20 18:37:19 2010 +0000

    Adjust comment to say that assertions are off by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@114337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 428a21368baf2eafaab81e172ab7c0311224b925
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 17 22:09:07 2010 +0000

    Approved by Evan

    $ svn merge -c 114220 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r114220 into '.':
    U    lib/CodeGen/MachineCSE.cpp
    $ svn merge -c 114222 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r114222 into '.':
    G    lib/CodeGen/MachineCSE.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@114224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b46a4415863de71f2d986301682f2270d10cb01
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 15 21:03:06 2010 +0000

    Merge AutoUpgrade of EH magic variable.

    $ svn merge -c 113600 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113600 into '.':
    A    test/Bitcode/AutoUpgradeGlobals.ll
    A    test/Bitcode/AutoUpgradeGlobals.ll.bc
    U    include/llvm/AutoUpgrade.h
    U    lib/Bitcode/Reader/BitcodeReader.cpp
    U    lib/VMCore/AutoUpgrade.cpp
    $ svn merge -c 113603 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113603 into '.':
    G    lib/VMCore/AutoUpgrade.cpp
    $ svn merge -c 113615 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113615 into '.':
    G    lib/VMCore/AutoUpgrade.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@114020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75b0d4ae8673f1ae056483f3a30b7eda326f5a21
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 15 00:32:40 2010 +0000

    $ svn merge -c 113848 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113848 into '.':
    U    lib/CodeGen/PeepholeOptimizer.cpp

    must not peephole away side effects

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113913 91177308-0d34-0410-b5e6-96231b3b80d8

commit d15e60ba2aeee55a15be4643e8430e26dc6097ae
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 15 00:32:05 2010 +0000

    Approved by Chris:

    $ svn merge -c 113911 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113911 into '.':
    U    test/Transforms/ConstantMerge/dont-merge.ll
    U    lib/Transforms/IPO/ConstantMerge.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9db2d8e2ddc7c136cabadebaa3f0d4085fc55fed
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 14 23:38:48 2010 +0000

    Approved by Chris

    $ svn merge -c 113894 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113894 into '.':
    U    test/MC/AsmParser/X86/x86_instructions.s
    U    lib/Target/X86/AsmParser/X86AsmParser.cpp

    Log:
    add a terrible hack to allow out with dx is parens, a gas bug.
    This fixes PR8114

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113896 91177308-0d34-0410-b5e6-96231b3b80d8

commit f74220fbaff8d9be1ee02c906087c3b468086b53
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 14 20:59:01 2010 +0000

    Approved by Chris:
    $ svn merge -c 113557 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113557 into '.':
    U    include/llvm/Bitcode/LLVMBitCodes.h
    U    tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
    U    lib/Bitcode/Reader/BitcodeReader.cpp
    U    lib/Bitcode/Writer/BitcodeWriter.cpp
    $ svn merge -c 113764 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113764 into '.':
    U    lib/Bitcode/Reader/BitcodeReader.h
    G    lib/Bitcode/Reader/BitcodeReader.cpp
    $ svn merge -c 113828 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113828 into '.':
    U    lib/VMCore/Metadata.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ab74634309de375a467d4caea0b85da56533921
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 14 20:57:16 2010 +0000

    Approved by Chris:

    $ svn merge -c 113057 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113057 into '.':
    A    test/Transforms/LoopSimplify/preserve-scev.ll
    U    lib/Transforms/Utils/LoopSimplify.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113851 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc3da965ce1a055bc8afe4d6cedc10724d6ebcef
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 14 00:43:35 2010 +0000

    Approved by Chris:

    $ svn merge -c 113820 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113820 into '.':
    U    test/Transforms/LICM/crash.ll
    U    lib/Transforms/Scalar/LICM.cpp

    Log:
    fix PR8102, a case where we'd copyValue from a value that we already
    deleted.  Fix this by doing the copyValue's before we delete stuff!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113823 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc1bbe8b9e8f43c43163e8bd813fb8838aab816e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 10 21:48:08 2010 +0000

    Approved by Evan:

    $ svn merge -c 113637 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113637 into '.':
    U    lib/Target/ARM/ARMBaseInstrInfo.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113639 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ad32b036a87678327310fecf10de4fbd5fa0271
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 10 10:21:50 2010 +0000

    Approved by Evan.

    $ svn merge -c 113576 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113576 into '.':
    U    test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll
    U    lib/Target/ARM/ARMLoadStoreOptimizer.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113583 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41d730a0ec380b6bcfd55922d65ccaf769b5fdde
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 9 20:56:38 2010 +0000

    Approved by Evan:

    $ svn merge -c 113297 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113297 into '.':
    U    lib/Target/ARM/Thumb2SizeReduction.cpp
    $ svn merge -c 113322 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113322 into '.':
    U    lib/Target/ARM/ARMInstrNEON.td
    U    lib/Target/ARM/ARMInstrVFP.td
    U    lib/Target/ARM/ARMInstrFormats.td
    $ svn merge -c 113365 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113365 into '.':
    U    lib/Target/ARM/ARMBaseRegisterInfo.cpp
    $ svn merge -c 113366 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113366 into '.':
    G    lib/Target/ARM/ARMBaseRegisterInfo.cpp
    $ svn merge -c 113394 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113394 into '.':
    G    lib/Target/ARM/ARMBaseRegisterInfo.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53f9b7b7c3c00c0c09400f8620d284687999de6b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 9 20:13:48 2010 +0000

    Approved by Evan:

    $ svn merge -c 113299 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113299 into '.':
    U    lib/CodeGen/VirtRegRewriter.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113531 91177308-0d34-0410-b5e6-96231b3b80d8

commit efdf4f0c054f185e6826e5c785962353de7aef92
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 9 20:10:22 2010 +0000

    Approved by Duncan:

    $ svn merge -c 113483 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113483 into '.':
    U    test/FrontendC/2010-05-18-asmsched.c
    U    test/FrontendC/asm-reg-var-local.c
    $ svn merge -c 113484 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113484 into '.':
    U    test/FrontendC/cstring-align.c
    $ svn merge -c 113485 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113485 into '.':
    U    test/FrontendC/2010-07-14-overconservative-align.c

    Fix tests to pass on platforms which don't support -m64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113529 91177308-0d34-0410-b5e6-96231b3b80d8

commit c300f37169acf70ca441483060a3797cf5688533
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 8 20:45:56 2010 +0000

    Rename 2.8 to 2.8rc to avoid confusion between release candidate and full release.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113404 91177308-0d34-0410-b5e6-96231b3b80d8

commit f43a0703482d623396b6efa95edcf0c26ff95e25
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 8 20:25:50 2010 +0000

    Enable optimizations and disable assertions by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 141a48051ceb3689b0f336630aa5610cfaf790b8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 8 20:16:52 2010 +0000

    Change version from 2.8svn to 2.8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41a80bb700272b936a3dc742a22357798793382b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 8 10:09:17 2010 +0000

    $ svn merge -c 113255 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113255 into '.':
    U    lib/Target/ARM/Disassembler/ARMDisassemblerCore.h
    $ svn merge -c 113345 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113345 into '.':
    U    lib/Target/ARM/Disassembler/ARMDisassembler.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113353 91177308-0d34-0410-b5e6-96231b3b80d8

commit f85ab65e5786b5ceacecf3e6000bdd2e7e31fc02
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 7 23:32:02 2010 +0000

    $ svn merge -c 113303 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113303 into '.':
    A    docs/CommandGuide/llvm-diff.pod
    U    docs/CommandGuide/index.html

    Log:
    Add documentation for llvm-diff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 924f9b9fd0f8ffff74c3957f937cb663a517070e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Sep 7 20:14:32 2010 +0000

    Approved by Chris:

    $ svn merge -c 113257 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113257 into '.':
    A    test/Transforms/InstCombine/sqrt.ll
    D    test/Transforms/InstCombine/2010-07-19-sqrt.ll

    Renaming test.

    $ svn merge -c 113260 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113260 into '.':
    U    test/Transforms/InstCombine/sqrt.ll
    U    lib/Transforms/InstCombine/InstCombineCasts.cpp

    Log:
    Fix a serious performance regression introduced by r108687 on linux:
    turning (fptrunc (sqrt (fpext x))) -> (sqrtf x)  is great, but we have
    to delete the original sqrt as well.  Not doing so causes us to do
    two sqrt's when building with -fmath-errno (the default on linux).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113265 91177308-0d34-0410-b5e6-96231b3b80d8

commit f77d70fef5e1de96070bc54a97096134f94c2215
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Sep 6 21:50:26 2010 +0000

    Approved by Chris:

    $ svn merge -c 113158 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113158 into '.':
    U    lib/Target/X86/X86InstrInfo.td

    Log:
    Redefine LOOP* instructions from I to Ii8PCRel as they take an i8 argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113175 91177308-0d34-0410-b5e6-96231b3b80d8

commit e699391e9390693e1437105c86add5b38a937ec8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Sep 6 09:15:29 2010 +0000

    Approved by Chris:

    $ svn merge -c 113146 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113146 into '.':
    U    test/Transforms/LICM/crash.ll
    U    lib/Transforms/Scalar/LICM.cpp

    Log:
    fix PR8067, an over-aggressive assertion in LICM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24ce44188d8e4e416d3f67c7ea78a90a25b77fc4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Sep 6 09:08:13 2010 +0000

    Approved by Chris:

    $ svn merge -c 113123 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113123 into '.':
    U    examples/Fibonacci/fibonacci.cpp

    fit in 80 columns and don't crash on exit, fixes PR8080

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18505f3af6e20bf763ddc0fcca02e6914fa572b9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Sep 5 17:45:44 2010 +0000

    Approved by Chris:

    $ svn merge -c 113109 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Merging r113109 into '.':
    U    test/Transforms/GlobalOpt/crash.ll
    U    lib/Analysis/ValueTracking.cpp

    Log:
    fix PR8063, a crash in globalopt in the malloc analysis code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113111 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab9630da32c5f676989dd224a1c20da31b3e09dc
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Sep 4 03:02:01 2010 +0000

    Remove CorrelatedValuePropagation from the default pass set for LLVM 2.8.  It
    has not yet received enough testing prior to this release.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113060 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfb3fc18bca8edb6c2377c3924f9aa3f710b8115
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Sep 4 01:59:36 2010 +0000

    Creating release_28 branch from llvm trunk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_28@113051 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99c0df306b79c9e3f76cd8926a9caa23fd195348
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 01:36:45 2010 +0000

    Emit target specific nodes for isPSHUFHWMask and isPSHUFLWMask

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60f5e918e0cbd791c19b89d821146955d905e3c0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 01:22:57 2010 +0000

    Emit target specific nodes for isSHUFPMask

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89f3297d21f9192c5bd348b75722f95ed346af39
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 00:50:08 2010 +0000

    Previous isMOVLMask matching already emits targets nodes, remove check

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 586f8c1c682722335fbb57db60dd65913cd96dbe
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 00:46:16 2010 +0000

    One more check from the original isShuffleMaskLegal goes away

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113045 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1d7b9b89b5efe88c2083d7eb0819ae9d34d5d58
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 00:43:12 2010 +0000

    Remove a duplicated but useless check that i've inserted in the previous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113044 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14ec744a5bbf3afe9d1fab04460807f27c244a0a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Sep 4 00:39:43 2010 +0000

    Refactor some code and remove the extra checks for unpckl_undef and unpckh_undef

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113043 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21a31cf4a3422082c1526e9b59cee5af175c471
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 4 00:12:30 2010 +0000

    fix a bug in my licm rewrite when a load from the promoted memory
    location is being re-stored to the memory location.  We would get
    a dangling pointer from the SSAUpdate data structure and miss a
    use.  This fixes PR8068

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e059dc1bdc9c28c7b83565fc469e82924cd0408
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 23:32:47 2010 +0000

    Remove check for unpckh mask

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7197868b152988cf857cf293e440f4ade979e22e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 23:31:50 2010 +0000

    Remove check for unpckl mask

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113034 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6cd53e897ea317d8dc763631324ac75b91e1fc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 23:24:06 2010 +0000

    Inline isShuffleMaskLegal into LowerVECTOR_SHUFFLE, so we can start
    checking each standalone condition and decide whether emit target
    specific nodes or remove the condition if it's already matched before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef52ed6684afe0323a2cc007a776f0d542bf6ab
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 3 22:47:08 2010 +0000

    Propagate non-local comparisons.  Fixes PR1757.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113025 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f24dc4db6dae410c76abdc42674f135058554f6
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Sep 3 22:46:31 2010 +0000

    Reapply this increase to the number of virtual registers. All of the
    various breakages appear to be dealt with.

    Patch by Pekka Jääskeläinen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113024 91177308-0d34-0410-b5e6-96231b3b80d8

commit b79b262390f373f94ffa3e593d99bf4f8ce67099
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 3 22:12:56 2010 +0000

    Disable the asserts that check that normalization is perfectly
    invertible. ScalarEvolution's folding routines don't always succeed
    in canonicalizing equal expressions to a single canonical form, and
    this can cause these asserts to fail, even though there's no actual
    correctness problem. This fixes PR8066.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113021 91177308-0d34-0410-b5e6-96231b3b80d8

commit c95e819171bcd41581d0119f60f080eba59e98cf
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 22:09:41 2010 +0000

    Reapply considered harmfull part of rr112934 and r112942.
    "Use target specific nodes instead of relying in unpckl and
    unpckh pattern fragments during isel time. Also place a
    depth limit in getShuffleScalarElt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42bae1b964a8907755caedaf00452489ef2d2791
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 3 21:45:15 2010 +0000

    previous patch was a little too tricky for its own good. Don't try to
    overload UserInInstr. Explicitly check Allocatable. The early exit in the
    condition will mean the performance impact of the extra test should be
    minimal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 297726b47bfc26aa950b82e06c5cc73cc246b585
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 3 21:23:00 2010 +0000

    Remove the rest of the nonexistent 64-bit AVX instructions.
    Bruno, please review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29a0ab98da5adfbf3ab82222f6822fdb95b7c56c
Author: David Greene <greened@obbligato.org>
Date:   Fri Sep 3 21:00:49 2010 +0000

    Generalize getFieldType to work on all TypedInits.  Add a couple of testcases from
    Amaury Pouly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38d42a5d2f16717822b4b3eb0cca810dbf55397c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 20:44:26 2010 +0000

    Reapply last harmless part of r112934, the pattern fragment to match X86Unpcklpd

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113009 91177308-0d34-0410-b5e6-96231b3b80d8

commit d988f9694780ab46bc5648cb6c0a9f081e6e7247
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 20:20:02 2010 +0000

    Reintroduce a simple function refactoring done in r112934, also without any functionality changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a316afbd0fba5526db05383746b795b03cdd821
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 20:10:35 2010 +0000

    Reapply piecies of r112942 and r112934 which don't do
    functional changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13098f731e57be0bfb47db26c787ff9fb865d276
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 19:55:05 2010 +0000

    Reapply Fix comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113006 91177308-0d34-0410-b5e6-96231b3b80d8

commit f95187f0240b97f964c49d77dc8ebc455ab5994f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 3 19:38:11 2010 +0000

    Revert r112934, "- Use specific nodes to match unpckl masks.", which introduced
    some infinite loop and select failures.
     - Apologies for eager reverting, but its branch day.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113000 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb4cc19f6a32bb9bab7cb74fefad02818165b847
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 3 19:38:08 2010 +0000

    Revert r112938 "Fix comment", which depends on r112934, which introduced some
    infinite loop and select failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112999 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6f5af6f5994c7eb5b329b2b880abea8c8f2c974
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 3 19:38:05 2010 +0000

    Revert r112942, "Use punpckh and unpckh family of nodes instead of using unpckh
    mask pattern fragment", which depends on r112934, which introduced some infinite
    loop and select failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112998 91177308-0d34-0410-b5e6-96231b3b80d8

commit edc52db27a842626f793e464f55f0ccbf5b72151
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 3 19:20:37 2010 +0000

    Add a missing check when legalizing a vector extending load.  This doesn't
    solve the root problem, but it corrects the bug in the code I added to
    support legalizing in the case where the non-extended type is also legal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a36c48f062ad12ba90d456de97ec41631395cad
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 3 19:09:46 2010 +0000

    Get rid of "passing signed into unsigned parameter" warning on PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96452d15266ce8768b548c8ccb663b9897ede7ab
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 3 19:08:37 2010 +0000

    Add support for simplifying a load from a computed value to a load from a global when it
    is provable that they're equivalent.  This fixes PR4855.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112994 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9acf975fe3fe22da80c2e9e203b8d2022e2ce2b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 3 18:41:20 2010 +0000

    Quiesce warning about non-virtual d'tor in virtual class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112991 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffa9eb7715cb1cd107eb231ac6beaf808cb70520
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 3 18:37:12 2010 +0000

    Re-apply r112883:
    "For ARM stack frames that utilize variable sized objects and have either
    large local stack areas or require dynamic stack realignment, allocate a
    base register via which to access the local frame. This allows efficient
    access to frame indices not accessible via the FP (either due to being out
    of range or due to dynamic realignment) or the SP (due to variable sized
    object allocation). In particular, this greatly improves efficiency of access
    to spill slots in Thumb functions which contain VLAs."

    r112986 fixed a latent bug exposed by the above.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 539db5726e18adc00ce01bb58a0cdeda2c64b3ce
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Sep 3 18:36:56 2010 +0000

    VirtRegRewriter checks for early clobbers before it reuses an available stack
    slot.

    Teach it to also check for early clobbered aliases, and early clobber operands
    following the current operand.

    This fixes the miscompilation in PR8044 where EC registers eax and ecx were
    being used for inputs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112988 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb70fa199bb228c1ee0ba44c985b2d40eab0617b
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 3 18:33:08 2010 +0000

    Add a test for PR4413, which was apparently fixed at some point in the past.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0443aed29846c511e5a3e703c8a720455ce2bb49
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 3 18:28:19 2010 +0000

    Check the local frame alignment for determining whether dynamic stack
    alignment should be performed. Otherwise dynamic realignment may trigger
    when the register allocator has already used the frame pointer as a general
    purpose register. That is, we need to make sure that the list of reserved
    registers doesn't change after register allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112986 91177308-0d34-0410-b5e6-96231b3b80d8

commit d74a2d34c51f8df5b53cb483b0973d4a378c5bff
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 3 18:17:16 2010 +0000

    Add 'const' to getter function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49127e1588de561f6c6db611e708434df59a3227
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 3 18:16:02 2010 +0000

    Finish converting the rest of the NEON VLD instructions to use pseudo-
    instructions prior to regalloc.  Since it's getting a little close to
    the 2.8 branch deadline, I'll have to leave the rest of the instructions
    handled by the NEONPreAllocPass for now, but I didn't want to leave half
    of the VLD instructions converted and the other half not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d9042f319320b416a9f3a09a5b716b7ac806ebe
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 3 18:06:11 2010 +0000

    Remove a TODO comment; this is now filed in bugzilla (PR8005).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 077f9048044699e8bf2c70f8baeecb3dc8679ee7
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 3 17:29:33 2010 +0000

    Fix Windows stuff to follow the existing source organization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d35945d13509dfb99bb8ca0b9e198c8e17dbe26
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 3 16:58:25 2010 +0000

    Add PR number to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112971 91177308-0d34-0410-b5e6-96231b3b80d8

commit acf4616ee469e31eb9fbd964a753bd03ac261661
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Sep 3 15:42:45 2010 +0000

    Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'.

    Makefile.rules assumes that all EXPORTED_SYMBOL_FILEs have the .exports
    extension.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112964 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa13ab4b5f2bf18754ce13745f5a7a46e2f54835
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Sep 3 15:42:38 2010 +0000

    Revert "Rules for win32 ld shouldn't fire when cross-compiling."

    This reverts commit 012b374e5b46fe93a8fdf605f5929fa8239e0960.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112963 91177308-0d34-0410-b5e6-96231b3b80d8

commit d53ec4dc8ca47ac82ee8eabd3521f963767d3d93
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 3 15:26:42 2010 +0000

    Revert "For ARM stack frames that utilize variable sized objects and have either", it is breaking oggenc with Clang for ARMv6.

    This reverts commit 8d6e29cfda270be483abf638850311670829ee65.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112962 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1d534a5f8f54c95a733e85caaac76d9b80c7e7c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Sep 3 12:13:18 2010 +0000

    Zap dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 851f6523a3dc6d2eed5e0329093582642c3e02d0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Sep 3 09:57:52 2010 +0000

    Rules for win32 ld shouldn't fire when cross-compiling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112954 91177308-0d34-0410-b5e6-96231b3b80d8

commit a567bb3b9d1e8deb1e14ba0a15203eebb3171d80
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Sep 3 08:31:48 2010 +0000

    Reapply commit 112702 which was speculatively reverted by echristo.
    Original commit message:
    Use the SSAUpdator to turn calls to eh.exception that are not in a
    landing pad into uses of registers rather than loads from a stack
    slot.  Doesn't touch the 'orrible hack code - Bill needs to persuade
    me harder :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bab3aa0e99ac290f4f99562680670e5d038953f
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 3 04:16:28 2010 +0000

    Re-enable CorrelatedValuePropagation.  I've tested nightly tests, llvm-gcc
    bootstrap, and clang self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112948 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51f807a1b2fd166c70ff84ebad09da54c8d892ca
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Fri Sep 3 03:24:08 2010 +0000

    test/CodeGen/X86: Add explicit -mtriple=(i686|x86_64)-linux for Win32 host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112947 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8217d7dabe03fa92e114039419d253f2dcf6d65
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Fri Sep 3 02:22:23 2010 +0000

    Fix cmake build without native target selected.

    The cmake (+ MSVC) build is broken if you don't select your native
    target.

    e.g. 'cmake -D LLVM_TARGETS_TO_BUILD="MyNonNativeTarget" .'

    This is because cmake currently sets the LLVM_NATIVE_* definitions
    regardless of whether the native target is selected (causing build
    errors).

    Patch by Mike Gist!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ec7a3997c7bab39f77ae4877ec08b6bc9d51115
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 02:08:45 2010 +0000

    AVX doesn't support mm operations neither its instrinsics.
    The AVX versions of PALIGN and PABS* should only exist for
    128-bit. Remove the unnecessary stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112944 91177308-0d34-0410-b5e6-96231b3b80d8

commit de9edf7af4abfbc13e706b2f35fd0fad18de21f3
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 01:39:08 2010 +0000

    Use punpckh and unpckh family of nodes instead of using unpckh mask pattern fragment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 475b4e15476775f438542ff2318c4f109e5e7733
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 3 01:35:08 2010 +0000

    Replace NEON vabdl, vaba, and vabal intrinsics with combinations of the
    vabd intrinsic and add and/or zext operations.  In the case of vaba, this
    also avoids the need for a DAG combine pattern to combine vabd with add.
    Update tests.  Auto-upgrade the old intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112941 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae8584d2430cf57a397e10b8b0a191d860666ebf
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 01:28:51 2010 +0000

    Fix comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112938 91177308-0d34-0410-b5e6-96231b3b80d8

commit f34dbc63330659df5acb39f89562b1322b8cf35c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Sep 3 01:24:00 2010 +0000

    - Use specific nodes to match unpckl masks.
    - Teach getShuffleScalarElt how to handle more target
    specific nodes, so the DAGCombine can make use of it.
    - Add another hack to avoid the node update problem
    during legalization. More description on the comments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 654d2eb1a3b44bd8b538694a646f01639f48d6a9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Sep 3 00:39:50 2010 +0000

    Stop emitting predicate functions. They are no longer used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112924 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bd654ef352c9718f9dffb44b0fd2f1dbb9a820a
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Sep 3 00:35:47 2010 +0000

    Simple branch instruction support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d6b2770fdf139e271df9191a6b0644a569d5163
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Sep 3 00:35:18 2010 +0000

    Don't call Predicate_* from X86 target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112921 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21c39d05fa02ab8858e89c199bad15ca9092046
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Sep 3 00:35:16 2010 +0000

    Remove Predicate_* calls from MBlaze and XCore

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71adb48f48bb4af1ac6f9e3cbb68b90d9ac1b6b7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Sep 3 00:35:13 2010 +0000

    Remove Predicate_* calls from Mips

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c0b5f6ef468f04129f3ab72be31113941fe2dfe
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Sep 2 23:43:26 2010 +0000

    Add basic support for materializing constants (including fp) and
    stores.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112912 91177308-0d34-0410-b5e6-96231b3b80d8

commit b050d90cf59d281a0e7da4411bd51487a7ba9be5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:32:55 2010 +0000

    update one more test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 191106ded46fcb11ef8d7331f34633ff65334d01
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:22:50 2010 +0000

    this is a release note worthy change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112907 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f4c630a4db3baadc949bdfc6bc13d90edf11916
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:21:44 2010 +0000

    add a new "llvm-dis -show-annotations" option, which causes it to print
    #uses comments, with a testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112906 91177308-0d34-0410-b5e6-96231b3b80d8

commit f63b14f0e817a6ddffaa2e3a044831aea90d7a38
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:09:42 2010 +0000

    lets get crazy and name the header file the exact class name,
    not a scrunched version of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c6faf9437d39e8ed08f3b2a62ee050db8816f62
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:07:12 2010 +0000

    AsmPrinter has a formatted stream, pass it down through AsmAnnotationWriter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112903 91177308-0d34-0410-b5e6-96231b3b80d8

commit eadfde94a84cf1e38d2766bfd2470a428d3019f9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Sep 2 23:03:46 2010 +0000

    Properly emit __chkstk call instead of __alloca on non-mingw windows targets.
    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 555e07469283314664828400fd2f811e53c9affd
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 23:03:10 2010 +0000

    stop forcing a noop AssemblyAnnotationWriter to silence #uses
    comments, these don't happen anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4036c4800b081a54845b9f7ad6cb866e32c44f46
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 2 23:01:10 2010 +0000

    There is no need to use .set here.
    Thanks Chris!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a39a7be89fec977cf77d58ca2cf44c94fa2fc37
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:52:10 2010 +0000

    reapply 112894:

    Remove #uses comments from functions: they we're padded out to column 50
    and were potentially confusing for externally visible functions.

    going further, remove the "<i8**> [#uses=3]" comments entirely. They
    add a lot of noise, confuse people about what the IR is, and don't add
    any particular value.  When the types are long it makes it really really
    hard to read IR.

    If someone is interested in this sort of thing, the right way to do this
    is to implement an AsmAnnotationWriter that produces the same output, and
    add a flag to llvm-dis (only) to produce this output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112899 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9fafbea166c2cb66ef98b46db0d4de5a694aecc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 22:43:39 2010 +0000

    Move insertps mask decoding to header file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112896 91177308-0d34-0410-b5e6-96231b3b80d8

commit add838d15e5ce561be217fc2bc5afba2f860c0f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:42:07 2010 +0000

    revert patch, need to update clang tests too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07d7942713a0ebffca43981a348300f648b95f9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:41:24 2010 +0000

    Remove #uses comments from functions: they we're padded out to column 50
    and were potentially confusing for externally visible functions.

    going further, remove the "<i8**> [#uses=3]" comments entirely. They
    add a lot of noise, confuse people about what the IR is, and don't add
    any particular value.  When the types are long it makes it really really
    hard to read IR.

    If someone is interested in this sort of thing, the right way to do this
    is to implement an AsmAnnotationWriter that produces the same output, and
    add a flag to llvm-dis (only) to produce this output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 006bbebfc183bf03946f8e9741aa85b351cb4f7e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:38:56 2010 +0000

    more test cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90532fd8252a4ccff0a1a60a1d22f27bfafbb5c2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:35:33 2010 +0000

    remove some noise from tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c5a0372623c79fde1aa872b4007f921931be3c2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 2 22:32:38 2010 +0000

    Use the FindProgramByName fallback only with known absolute paths.
    I wasn't able to convince myself that all GetMainExecutable
    implementations always return absolute paths; this prevents
    unexpected behavior in case they ever don't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99b82b7cddf63f3b807817b35ffd223bad8ad354
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:32:02 2010 +0000

    we are past the point where these tests are useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c8a537d7ccfc896ffa726a502fd5188b9876829
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 2 22:31:53 2010 +0000

    Revert int_x86_mmx_palignr_b intrinsic to match llvm-gcc's version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78d850e3b83128d71944b411eb93bb873d6c6099
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Sep 2 22:31:32 2010 +0000

    Revert win64 changes. They seem to be incomplete

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112885 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5f0c8285fc9d01e6956d01a5b0e8d646da2fd03
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 22:29:01 2010 +0000

    For ARM stack frames that utilize variable sized objects and have either
    large local stack areas or require dynamic stack realignment, allocate a
    base register via which to access the local frame. This allows efficient
    access to frame indices not accessible via the FP (either due to being out
    of range or due to dynamic realignment) or the SP (due to variable sized
    object allocation). In particular, this greatly improves efficiency of access
    to spill slots in Thumb functions which contain VLAs.

    rdar://7352504
    rdar://8374540
    rdar://8355680

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20a3b26c8cf8bb51aaa05704973aedf30e4da6c9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 2 22:26:35 2010 +0000

    - Change __builtin_ia32_palignr intrinsic type to match the pattern in clang.

    - Add patterns to match the following MMX builtins:

       * __builtin_ia32_vec_init_v8qi
       * __builtin_ia32_vec_init_v4hi
       * __builtin_ia32_vec_init_v2si
       * __builtin_ia32_vec_ext_v2si

      These builtins do not correspond to a single MMX instruction. They will have
      to be lowered -- most likely in the back-end.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 767a5dbf6e7a1406b5b3a744a8ff82e0652c6978
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 22:19:10 2010 +0000

    fix more AST updating bugs, correcting miscompilation in PR8041

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112878 91177308-0d34-0410-b5e6-96231b3b80d8

commit e14eb7f9f89c0b1f8e3278eeed49040f08c9d175
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Sep 2 22:16:52 2010 +0000

    Remove incorrect and poorly tested code for trying to reason about values on default edges of
    switches.  Just return the conservatively correct answer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 553337e61d5585974975960ec8e919de297ba282
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Sep 2 22:16:28 2010 +0000

    Properly allocate win64 shadow reg area.
    Patch by Jan Sjodin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 259d113e680573de715b72b0a95bcb070f26d628
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 2 22:14:51 2010 +0000

    Remove obsolete comments about throwing exceptions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112874 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8bb2260e0ae28751d1fbce0c012683b8e269696
Author: John McCall <rjmccall@apple.com>
Date:   Thu Sep 2 21:55:03 2010 +0000

    After some discussion with djg, teach SmallVector to grow from a zero
    capacity and remove the workaround in SmallVector<T,0>.  There are some
    theoretical benefits to a N->2N+1 growth policy anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02adbc7c4eeaf0a571912b29d8edb21732f9e3b0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 21:51:11 2010 +0000

    Move decoding of insertps back to avoid unused warnings in x86 isel lowering, and fix movlhps/movhlps to decode 4 elements shuffles

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07813d4852eb69128d15d203eb8672bca6766bf1
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 2 21:29:42 2010 +0000

    Detect undef value early and save unnecessary NodeMap query.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c22436080416141061f5456adcb934012aeb18a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 2 21:18:42 2010 +0000

    Don't narrow the load and store in a load+twiddle+store sequence unless
    there are clearly no stores between the load and the store. This fixes
    this miscompile reported as PR7833.

    This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is
    safe, but awkward to prove safe. Move it to X86's README.txt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45992b2cea1ab2b0624bcb46110a934752489843
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 2 21:02:27 2010 +0000

    Tidy up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112858 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3325c02069b15c3d2b73ac51f2d61b9fdcde164
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Thu Sep 2 20:19:24 2010 +0000

    Fix an unnecessary XFAIL

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112853 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8aa775a5e2e7a0915e030ac469ed50b6db63e82
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 19:52:39 2010 +0000

    trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a84d03a65a29bec19308d09e10eb92a177deebe
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Sep 2 19:52:06 2010 +0000

    Fix typo.  I accidentally edited the wrong file before my last commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 345d1b9c7be3afdb3ddf299602675004d8d42be7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Sep 2 18:53:37 2010 +0000

    Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849 91177308-0d34-0410-b5e6-96231b3b80d8

commit 455da10570f422440fc2ccc961f6a5037c193b78
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 18:44:51 2010 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112847 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfb1eb43af3385cc17af5d7f8b767ed6e7b36ac4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 18:40:13 2010 +0000

    Move x86 specific shuffle mask decoding to its own header, it's also going to be used elsewhere. Also trim trailing whitespaces

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fcac63698e18f320f8a4ec0f2ffd97b91cd2ba2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 18:29:04 2010 +0000

    The scavenger should just use getAllocatableSet() rather than reinventing it
    locally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f70a8a3887eea1248b64dfad12da651cddeaa63
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 2 18:24:46 2010 +0000

    Apply a patch from Kees van Reeuwijk to add support for Minix.

    Minix apparently doesn't like double-slash separators, and there's
    no apparent need for them here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112844 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48c6a580f9b30fe7de0fdb4728706b6841cc7f91
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Sep 2 18:23:58 2010 +0000

    Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not
    be treated as equivalent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112843 91177308-0d34-0410-b5e6-96231b3b80d8

commit aad4016a3ab39723f9f7c2047a18a4970d7a1620
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 18:18:52 2010 +0000

    handle case where a register class is specified

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 527b649d5fef51c071b512fc6c8629348fc7282d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 18:14:29 2010 +0000

    Now that register allocation properly considers reserved regs, simplify the
    ARM register class allocation order functions to take advantage of that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bf628323da4fe3c176d6a52272bcf868a8ed5b7
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 2 17:35:10 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2537d16be0ff827519bb31fa1a7568afc73b3ab5
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Sep 2 17:18:32 2010 +0000

    Allow MCSA_WeakRef in ELF. Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112834 91177308-0d34-0410-b5e6-96231b3b80d8

commit d122366ab53c96eb82dc32df0543cc441f8d793e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 17:12:55 2010 +0000

    Anti-dependency breaking needs to be careful not to use reserved regs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112832 91177308-0d34-0410-b5e6-96231b3b80d8

commit c356b0b54c85f371937113e518d3548ccde184e3
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 2 16:43:44 2010 +0000

    Fix .debug_range for linux. Patch by Krister Wombell.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 210bba73debe1e295e8e37acfe6fc966965a463e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 16:31:21 2010 +0000

    Mask out reserved registers when constructing the set of allocatable regs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ba4799f7f51cc28b0bfaefcefc5ac1c02de50ee
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 2 16:17:29 2010 +0000

    Fill in a missing comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112826 91177308-0d34-0410-b5e6-96231b3b80d8

commit d89d6cb9a34f9225a7508a5d3975f3eecfafa264
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 2 16:00:54 2010 +0000

    Convert VLD1 and VLD2 instructions to use pseudo-instructions until
    after regalloc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 172a1a7f8189e1b838fc6f131c16b72874d4556d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Sep 2 14:06:21 2010 +0000

    llvmc: .dylib support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112818 91177308-0d34-0410-b5e6-96231b3b80d8

commit c87b5b814776ef0925e42b6f957ec81b8253c1b2
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Sep 2 08:52:23 2010 +0000

    Print the number of uses of a function in the .ll since it can be informative
    and there seems to be no reason not to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0868da22b7d67b9e9ec0cea971e1acc0739d1a09
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Sep 2 08:27:00 2010 +0000

    Added support for register allocators to record which intervals are spill intervals, and where the uses and defs of the original intervals were in the original code.

    Spill intervals can be hidden using the "-rmf-intervals=virt-nospills*" option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 887cc7c2e7badbe31b9de32959e4dff53ff2bb92
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Sep 2 08:14:03 2010 +0000

    Reapply commit 112699, speculatively reverted by echristo, since
    I'm sure it is harmless.  Original commit message:
    If PrototypeValue is erased in the middle of using the SSAUpdator
    then the SSAUpdator may access freed memory.  Instead, simply pass
    in the type and name explicitly, which is all that was used anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b63f72aa8f5c4d5510fca36a792c75ddbaed140
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Sep 2 07:08:05 2010 +0000

    Silence an ambiguous else warning from GCC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112809 91177308-0d34-0410-b5e6-96231b3b80d8

commit 370b17e0836021f3e0c5f8f2a6d35b008df67797
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Sep 2 05:44:31 2010 +0000

    Fix compile errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112808 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b6db1f9443bb52f1627878f8f115e65a4df63f
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Sep 2 05:37:52 2010 +0000

    Added counters for PBQP reduction rules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112807 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb61057360ee19ad9e29371049184c025279a00f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 05:23:12 2010 +0000

    Replace unpckl_undef and unpckh_undef matching with target specific opcodes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 121ad229c62207b7c7c5622e2fb26f6d3a269e01
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 04:20:26 2010 +0000

    Move condition out to prepare for more matching

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112805 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa583a1e80a234fe69d3cc42227e5b1a17b9d562
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 03:57:58 2010 +0000

    Remove checking for isUNPCKL_v_undef_Mask, the specific node is already emitted for it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38981896a6c7bb85a378556ec31e91ae38ff1888
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Thu Sep 2 03:46:04 2010 +0000

    llvm::FindExecutable(): Retrieve the name with suffix.exe, if available.

    bugpoint uses it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112803 91177308-0d34-0410-b5e6-96231b3b80d8

commit a382985c38a72a5d48ff3fdfd77e0d071db14a04
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Thu Sep 2 03:45:58 2010 +0000

    test/loop-strength-reduce4: Add explicit triplet for Win32 host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bcf15118ba7ddee89eeb7bbbf41d00eb865b9a9
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Thu Sep 2 03:45:51 2010 +0000

    test/twoaddr-coalesce: Do not use @main.
    Win32 codegen emits implicit invoking __main into, to fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112801 91177308-0d34-0410-b5e6-96231b3b80d8

commit d47658f1796891be0fe0fb03964e40e9ebefa81b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Sep 2 02:35:51 2010 +0000

    become more strict about when it's safe to use X86ISD::MOVLPS

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92495063be94e99961fe477cc6ba189b687be006
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Sep 2 02:30:46 2010 +0000

    Clang's -ccc-host-triple was ignoring the arch specifier on my triple,
    I don't need to implement this quite yet - and not for ConstantInt anyhow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4efc9fc44eb4db42199756e0007ae35b6fda51f2
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Sep 2 01:48:11 2010 +0000

    This should be TargetMaterializeConstant instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e0185c3127635fd92455e2951306af52da2124d
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Sep 2 01:39:14 2010 +0000

    One definition of isThumb is plenty, thanks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c203fcc2e44e305bd07121553b30923ce8e931c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 01:02:06 2010 +0000

    Remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112790 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc32ea69aea02594aaa049c95a9e89220f1e6682
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Sep 2 00:53:56 2010 +0000

    Rework arm fast-isel load and store handling.  Move offset computation
    into the "address selection" routine and handle constant materialization
    for stores.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ecc75342d92081a5c836081dae7ba34c255b361
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 00:51:37 2010 +0000

    Add a bit of debug output for register scavenging

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112787 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9024d0231f19959f463b361e372ce9df3397f55
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 2 00:09:17 2010 +0000

    updates to make it clear that this applies to clang and other llvm subprojects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112781 91177308-0d34-0410-b5e6-96231b3b80d8

commit e01c7a89cfbac75b81bad91470228ed76256ddb0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 2 00:02:26 2010 +0000

    trivial cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112779 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6c8dc0eb19283e7a929c9d1515bff219b6abc2e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 23:50:23 2010 +0000

    Simplify the tGPR register class now that the register allocators know not
    to try to allocate reserved registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f3cc6a4cc6cdcdb04ad2bc245d26c969b5dd066
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 1 23:50:19 2010 +0000

    Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,
    add, and subtract operations with zero-extended or sign-extended vectors.
    Update tests.  Add auto-upgrade support for the old intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 163d4c765bab382bbbceac43f3fb4c761a24a6a2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 23:33:02 2010 +0000

    Reword this comment. Don't mention outs(), as that's not what
    this code is actually testing for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112767 91177308-0d34-0410-b5e6-96231b3b80d8

commit 768113717892f5e581b505e37e2ff952f34ed706
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 23:09:27 2010 +0000

    deepen my MMX/SRoA hack to avoid hurting non-x86 codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112763 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff73af4ce86fe04fa697a14a9ee7c261624d265a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Sep 1 22:59:03 2010 +0000

    Revert r112689, avoid those kind of checks cause they mess up with mmx

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112760 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec8cd0f267284fd533c56d5a70268c593f44cd54
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 22:48:34 2010 +0000

    Tweak to ignoring reserved regs. The allocator was occasionally still looking
    at them since they'd end up in the register weights list. Tell it to stop
    doing that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 759049d75da634d74b8a11f1c6fd87d324ca1c61
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 22:43:48 2010 +0000

    Recommit with changes.  Comment out palignr for the
    moment, as there's a testcase that uses it and expects it
    to be subject to optimizations; we won't be doing that.
    Some adjustments based on feedback from Bill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112754 91177308-0d34-0410-b5e6-96231b3b80d8

commit f597c9d881605d0c66b400f08b68a5c1e2a24bcf
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Sep 1 22:33:20 2010 +0000

    Using target specific nodes for shuffle nodes makes the mask
    check more strict, breaking some cases not checked in the
    testsuite, but also exposes some foldings not done before,
    as this example:

      movaps  (%rdi), %xmm0
      movaps  (%rax), %xmm1
      movaps  %xmm0, %xmm2
      movss %xmm1, %xmm2
      shufps  $36, %xmm2, %xmm0

    now is generated as:

      movaps  (%rdi), %xmm0
      movaps  %xmm0, %xmm1
      movlps  (%rax), %xmm1
      shufps  $36, %xmm1, %xmm0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112753 91177308-0d34-0410-b5e6-96231b3b80d8

commit be01b597dd0d66bd64714c1bba90b13d6226dc40
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Sep 1 22:16:27 2010 +0000

    Some basic store support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49fd526284ad796438452de4832fefd2e23b51d9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Sep 1 22:15:35 2010 +0000

    Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.

    This caused a miscompilation in WebKit where %RAX had conflicting defs when
    RemoveCopyByCommutingDef was commuting a %EAX use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59f8e5c1c68544f0cb3a46c24db337c0468ebbe7
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 21:57:20 2010 +0000

    Apparently only Darwin passes long double misaligned.  Compensate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 678f546ffc66aeb46e2022a082846e5622f37916
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 21:48:06 2010 +0000

    tidy up trailing whitespace and an 80 column violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20caad13e2bf009db8d29b7bfa76618c3e55b59c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 21:46:45 2010 +0000

    Fix loop unswitching's assumption that a code path which either
    infinite loops or exits will eventually exit. This fixes PR5373.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112745 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1e27fbfe381cd437919f17132edfed0cba66e86
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 21:36:44 2010 +0000

    Revert 112740, it broke some clang tests somehow...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a67676a5dd7a67afd389892165e8fc74e574a3b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 21:34:41 2010 +0000

    cleanup per feedback. use a helper function for getting the first non-reserved
    physical register in a register class. Make sure to assert if the register
    class is empty.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82ccca626ef6e352d7fdad60f3d0dab05db010d0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 21:23:03 2010 +0000

    The register allocator shouldn't consider allocating reserved registers. PBQP version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f38b63a81531cfee6282d72bb31a494af999632
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 21:04:27 2010 +0000

    The register allocator shouldn't consider allocating reserved registers.
    r112728 did this for fast regalloc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97ba2153d678af5d69acc8aedb2d8091747d7d65
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 21:03:03 2010 +0000

    Add a few more missing MMX operations.  This should be it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112740 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8e0d56019ca043d2160f273a3ff8c45696de014
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 20:09:20 2010 +0000

    update the tutorial to use CreateFAdd to create fp operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112733 91177308-0d34-0410-b5e6-96231b3b80d8

commit f230d79f0c83b2a489d2e99bc06f3f856e1af62d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 19:28:41 2010 +0000

    The register allocator shouldn't consider allocating reserved registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112728 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddf983cfb6b2f51f38b99cd73d586a9abea59d36
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Sep 1 19:20:46 2010 +0000

    Disable CorrelatedValuePropagation while I track down selfhost failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ba0363375cb958a3444e9f3f99bd159287fead6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 1 19:16:29 2010 +0000

    tidy up a few 80-column and trailing whitespace bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37d4107c825ad1545b7f4b43db90dd5425eacc91
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 1 18:32:56 2010 +0000

    The output of opt -stats must be sent to stderr. Patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112724 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce7236f17df3a2e573b8016d2e8b7549ac51a2d3
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Sep 1 18:30:15 2010 +0000

    Tentatively add correlated value propagation to the set of standard passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112723 91177308-0d34-0410-b5e6-96231b3b80d8

commit aad7831bd6fd4e4cb1347af3fb5c454e05a65cf6
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Sep 1 18:27:22 2010 +0000

    JumpThreading keeps LazyValueInfo up to date, so we don't need to rerun it
    if we schedule another LVI-using pass afterwards.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01923ea282215142a864fca6ca61bcb261b36c82
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Sep 1 18:01:32 2010 +0000

    Add some more load types in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112721 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce69b05b924a1085778618373e3c1fd0159a0870
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Sep 1 17:29:10 2010 +0000

    Speculatively revert 112699 and 112702, they seem to be causing
    self host errors on clang-x86-64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112719 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8a062a7303799b989865d16000c435b235ba441
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 16:11:17 2010 +0000

    have the makefiles check the llvm-config error code instead of charging
    on an producing weird link errors.  Patch by Yuri Gribov!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 197f2006181eb7067921ec771c99c2b9c0c2a197
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 16:06:39 2010 +0000

    dead code patrol

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112713 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcf0195999781c011f84b1972a0a3d5f0fb26274
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 16:04:34 2010 +0000

    zap dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f366d695f1b43f8afce1e9cc0d178f68b2dc96f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 16:00:50 2010 +0000

    temporarily revert r112664, it is causing a decoding conflict, and
    the testcases should be merged.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0843d45336f0c58b52510812f4bb70f73abe1188
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 15:44:05 2010 +0000

    zap dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112708 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39410f4cd78df49728f1377e4c75e5c641d43ae5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 15:39:31 2010 +0000

    remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2002fb50f87272e7a3d0efe0db91ed9fa5c8835d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 14:20:41 2010 +0000

    Make tool_output_file's raw_ostream instance a member variable instead
    of a base class.

    This makes it possible to unregister the file from FilesToRemove when
    the file is done. Also, this eliminates the need for
    formatted_tool_output_file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 559ff298db0da609195536d30de02647e2a91826
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 14:17:34 2010 +0000

    Add an interface for unregistering a file from the FilesToRemove list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37380767da63ebb8e3550b7d7ed5673d4b035d8a
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Wed Sep 1 14:15:31 2010 +0000

    COFF: Update tests to reflect changes in last commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 144c93d796ae38c47468c267c3b2dbbe97305dbb
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Wed Sep 1 14:09:36 2010 +0000

    COFF: Fix incorrect SCT_COMPLEX_TYPE_SHIFT. Add a few constants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 892afc75e43ea8a84a5a31508486fa6003bda6f7
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Sep 1 14:07:47 2010 +0000

    Use the SSAUpdator to turn calls to eh.exception that are not in a
    landing pad into uses of registers rather than loads from a stack
    slot.  Doesn't touch the 'orrible hack code - Bill needs to persuade
    me harder :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112702 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce2319fad3b9b4caa5f5af231725eb6ef67f838c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 14:00:35 2010 +0000

    Make the iterator form of erase return void, since it always succeeds,
    and since this is what std::map and std::set do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112701 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9c4aa88d4bd9924e9861d1ec0ba9e6be1b63f67
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Sep 1 13:07:11 2010 +0000

    Define LLVM_GLOBAL_VISIBILITY to be __declspec(dllexport) on
    windows systems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112700 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7257e19e6ed5aca9f867943552aecfa5c816cd3
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Sep 1 10:29:33 2010 +0000

    If PrototypeValue is erased in the middle of using the SSAUpdator
    then the SSAUpdator may access freed memory.  Instead, simply pass
    in the type and name explicitly, which is all that was used anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112699 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfed6d9dd17ad8a81fae14de79f53f6c0512784e
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Sep 1 09:26:00 2010 +0000

    Add convenience class for working with eh.exception calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04a096c15eb4011b5afd627f865eb7a91494cf30
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 05:19:06 2010 +0000

    Attempt to fix buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 270d2693724818b1da8737beb44787511ed2c248
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 05:14:33 2010 +0000

    add a gross hack to work around a problem that Argiris reported
    on llvmdev: SRoA is introducing MMX datatypes like <1 x i64>,
    which then cause random problems because the X86 backend is
    producing mmx stuff without inserting proper emms calls.

    In the short term, force off MMX datatypes.  In the long term,
    the X86 backend should not select generic vector types to MMX
    registers.  This is being worked on, but won't be done in time
    for 2.8.  rdar://8380055

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112696 91177308-0d34-0410-b5e6-96231b3b80d8

commit f14809e6e3cbd326de64013ea882253eca7096e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 1 05:10:14 2010 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1526fbd1015bdafc8ce529bf77b15a543d1ef2e2
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Sep 1 05:08:25 2010 +0000

    Use movlps, movlpd, movss and movsd specific nodes instead of pattern matching with movlp pattern fragment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18c60afbf659f7dc42da0e7ce56257a79a975bb8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 1 01:45:53 2010 +0000

    Revert 112442 and 112440 until the compile time problems introduced
    by 112440 are resolved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3466b23bfeb8f952a7cd04304c5085637620f5a4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Sep 1 00:57:08 2010 +0000

    minor change, simplify some logic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112689 91177308-0d34-0410-b5e6-96231b3b80d8

commit e822415f27069f66393bbf25dd9a068fd0e60128
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Sep 1 00:51:36 2010 +0000

    Move some functions around so they can be used for some other to come function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c33439307887d23fe5b172245e1ac251bdc9e7a
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 1 00:40:09 2010 +0000

    Add some MMX intrinsics that duplicate functionality
    available in normal llvm operators.  We aren't going to
    use those for MMX any more because it's unsafe for the
    optimizers to synthesize new MMX instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f6491734d65262df770e8e76c256f9daa89e9bf
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 23:50:19 2010 +0000

    Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.
    This patch was developed on top of original patch by Artur Pietrek.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e80089e1521b5c168deaf8c65a6b23393754f53
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Aug 31 23:43:55 2010 +0000

    Testcase for llvm checkin 112674.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50712d70ea7878dd2bc422e4b759db388d554f5f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 31 23:38:13 2010 +0000

    Remove noisy semicolon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d55113764bcb9962c649f181a423f76c4fe337d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 31 23:00:16 2010 +0000

    licm is wasting time hoisting constant foldable operations,
    instead of hoisting them, just fold them away.  This occurs in the
    testcase for PR8041, for example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112669 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39197f3b97a079627a1802d4d93fffde07cb2ef2
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Aug 31 22:55:11 2010 +0000

    This is the second of three patches to implement support for the .loc directive
    and output the dwarf line number tables.  This takes the current loc info after
    an instruction is assembled and saves the needed info into an object that has
    vector and for each section.  These objects will be used for the final patch to
    build and emit the encoded dwarf line number tables.  Again for now this is only
    in the Mach-O streamer but at some point will move to a more generic place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 237480870edc74b3b0dc424c084527adac58033b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 31 22:53:17 2010 +0000

    Reapply r112432, now that the real problem is addressed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112667 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4e240d02d24cfc0fdd87ec9ac6f6c12c530da3b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 31 22:52:12 2010 +0000

    Reapply r112433, now that the real problem is addressed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5132accd3d6fb7daebf5d23906c7a4d51ec3f8f4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 31 22:50:31 2010 +0000

    Revert r110916. This patch is buggy because the code inside the
    inner loop doesn't update all the variables in the outer loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112665 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1d5123d9b7907b4295b68ce194c146b1274ec0d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 31 22:41:22 2010 +0000

    We have a chance for an optimization. Consider this code:

    int x(int t) {
      if (t & 256)
        return -26;
      return 0;
    }

    We generate this:

         tst.w   r0, #256
         mvn     r0, #25
         it      eq
         moveq   r0, #0

    while gcc generates this:

         ands    r0, r0, #256
         it      ne
         mvnne   r0, #25
         bx      lr

    Scandalous really!

    During ISel time, we can look for this particular pattern. One where we have a
    "MOVCC" that uses the flag off of a CMPZ that itself is comparing an AND
    instruction to 0. Something like this (greatly simplified):

      %r0 = ISD::AND ...
      ARMISD::CMPZ %r0, 0         @ sets [CPSR]
      %r0 = ARMISD::MOVCC 0, -26  @ reads [CPSR]

    All we have to do is convert the "ISD::AND" into an "ARM::ANDS" that sets [CPSR]
    when it's zero. The zero value will all ready be in the %r0 register and we only
    need to change it if the AND wasn't zero. Easy!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f6dec8f4d0b359d3cf91f03f23b1906a7833725
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 31 22:38:00 2010 +0000

    Some fixes for NetBSD

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65eecd5b9c0c384e219a80f28f7282e1253f1da5
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 22:35:05 2010 +0000

    Use x86 specific MOVSLDUP node, add more patterns to match it and remove useless load nodes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81446e98790f7f14803aee18abdfd34c055db76f
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 22:22:42 2010 +0000

    Reapply r112623. Included additional check for unused byval argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3176c8295805447473e6d0f1d8f14e91d87bd0ab
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 22:22:11 2010 +0000

    Use x86 specific MOVSHDUP node and add more patterns to match it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112657 91177308-0d34-0410-b5e6-96231b3b80d8

commit f54c970b88c53d765cb6b37db3904b5b4ad02af6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 31 22:05:37 2010 +0000

    And ANDS pattern to match the t2ANDS pattern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72c532e8171694cc3841f67c5817650561a3f98a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 31 22:01:07 2010 +0000

    Stack slot access methods are in TargetInstrInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112653 91177308-0d34-0410-b5e6-96231b3b80d8

commit a80bb49dcb8f43ba5f89e4f1c9f3bb333bccec5b
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Aug 31 21:53:15 2010 +0000

    Comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b97053ae1d147a353d34b47fa8471742d1062f0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 31 21:51:07 2010 +0000

    Make %EFLAGS unallocatable.

    No CCR virtual registers should exist, and %EFLAGS is used in ways that can
    surprise RegAllocFast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c1f8ce127d9e6dd95ba4673f11f9e6417863c05
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 31 21:51:05 2010 +0000

    Track liveness of unallocatable, unreserved registers in machine DCE.

    Reserved registers are unpredictable, and are treated as always live by machine
    DCE.

    Allocatable registers are never reserved, and can be used for virtual registers.

    Unreserved, unallocatable registers can not be used for virtual registers, but
    otherwise behave like a normal allocatable register. Most targets only have
    the flag register in this set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 678b28046f0755485adf6f65f15bf2f63e8b8d65
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 21:38:49 2010 +0000

    Use MOVHLPS node instead of matching using movhlps and movhlps_undef pattern fragments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c025cd047d5d5b82d9127e58d18ab1e984d290a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 31 21:21:25 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112643 91177308-0d34-0410-b5e6-96231b3b80d8

commit f07f556a7929ca893da8242fad93f2e0377b098f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 21:15:21 2010 +0000

    Use MOVLHPS and MOVHLPS x86 nodes whenever possible. Also remove some useless nodes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112642 91177308-0d34-0410-b5e6-96231b3b80d8

commit c80edaac7f7a341147292ed20cb17526f4e98722
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 31 20:58:44 2010 +0000

    Revert r112432. It appears to be exposing a problem in the emacs build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e78e48a7de9a71babcfedc896a11b90b4279e14
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 20:27:17 2010 +0000

    Merge 2010-08-31-InfiniteRecursion.ll into crash.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 662c6df3fe9f0e358c17481a6062b2a4baab60f1
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 20:26:04 2010 +0000

    More cleanups of my JumpThreading transforms, including extracting some duplicated code into a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112634 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3a778e3163654505b28d65ca1315bab73e2d868
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 31 19:54:25 2010 +0000

    Ignore unallocatable registers in RegAllocFast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 117d3b7f711724de1da3197dc3217fb1f9da8067
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 19:41:03 2010 +0000

    Revert r112623. It is causing self host build failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cd72576fda373af2a5e4b6a85fbbb037d9ea3e2
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Aug 31 19:40:21 2010 +0000

    Update the Ada instructions to LLVM 2.7 (from LLVM 2.5).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 145a3c89779c49fbca943172cb25a0d918f94304
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 19:24:27 2010 +0000

    Add an RAII helper to make cleanup of the RecursionSet more fool-proof.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67cee446e11901ff6780a7814a30f345ae716cf9
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 18:55:52 2010 +0000

    Only try to clean up the current block if we changed that block already.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 183d454807c3be0718d6a2183c6ce187bc4f38ae
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 31 18:52:31 2010 +0000

    SP relative offsets need to be adjusted by the local allocation size when
    determining if they're likely to be in range of the SP when resolving
    frame references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112624 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec6b0698c169db171c1ae6ce31d9dc61c65ef858
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 18:50:09 2010 +0000

    Remember byval argument's frame index during argument lowering and use this info to emit debug info.
    Fixes Radar 8367011.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112623 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa55aa15cc118ea7d4ea482fddd33d653b6b47ea
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 31 18:49:31 2010 +0000

    this assert should just be a condition, since this function is just asking if
    the offset is legally encodable, not actually trying to do the encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 991720150dbf00d93aeb66536b240b7a64a46fe9
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 18:49:12 2010 +0000

    Add a test for the duplicated-conditional situation illutrated by PR5652.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112621 91177308-0d34-0410-b5e6-96231b3b80d8

commit b54f92d539f467550b074efeccbd08d7bcf48a3c
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 18:48:48 2010 +0000

    Refactor my fix for PR5652 to terminate the predecessor lookups after the first failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2544118427754497ba2bc3293f6db24813fee751
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 31 18:44:03 2010 +0000

    merge two tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112617 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c139039aa5a9a6093b47fed9979f0eaf780491a
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 18:16:29 2010 +0000

    Manually reduce this testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112615 91177308-0d34-0410-b5e6-96231b3b80d8

commit e36821d2126a0cf85368a77f0174a9f4f881c75b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 31 18:05:08 2010 +0000

    merge two tests and convert to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04440e3aabe527421ecc0268cf8e21750b3097e3
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 17:59:07 2010 +0000

    Add a micro-test for the transforms I added to JumpThreading.

    I have not been able to find a way to test each in isolation, for a few reasons:
    1) The ability to look-through non-i1 BinaryOperator's requires the ability to look through non-constant
       ICmps in order for it to ever trigger.
    2) The ability to do LVI-powered PHI value determination only matters in cases that ProcessBranchOnPHI
       can't handle.  Since it already handles all the cases without other instructions in the def-use chain
       between the PHI and the branch, it requires the ability to look through ICmps and/or BinaryOperators
       as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18da2cbe4fc04e2dab17b794cbe3b06278991f83
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 31 17:58:47 2010 +0000

    Update test for 112609

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98dbe5d16f4baaa6fb3f1243576385c1538ed674
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 31 17:58:19 2010 +0000

    Improve virtual frame base register allocation heuristics.

      1. Allocate them in the entry block of the function to enable function-wide
         re-use. The instructions to create them should be re-materializable, so
         there shouldn't be additional cost compared to creating them local
         to the basic blocks where they are used.
      2. Collect all of the frame index references for the function and sort them
         by the local offset referenced. Iterate over the sorted list to
         allocate the virtual base registers. This enables creation of base
         registers optimized for positive-offset access of frame references.
         (Note: This may be appropriate to later be a target hook to do the
         sorting in a target appropriate manner. For now it's done here for
         simplicity.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112609 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc7d38f0348ce2f8687a75d2c00997e2bbe9e45f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 31 17:56:47 2010 +0000

    Speculatively revert r112433.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112608 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0754e677cf8637c6cfc9de61395f5f62fa880bf
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 31 17:03:33 2010 +0000

    Allow creation of SHT_NULL sections, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f949408a56cd226480dca0c32bcc31f28542268
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Aug 31 09:05:06 2010 +0000

    Stop using the dom frontier in DwarfEHPrepare by not promoting alloca's
    any more.  I plan to reimplement alloca promotion using SSAUpdater later.
    It looks like Bill's URoR logic really always needs domtree, so the pass
    now always asks for domtree info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112597 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee5d8399a7aa6c0f416afd1ef3503e09373032fb
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Aug 31 08:29:37 2010 +0000

    Fix an infinite loop; merging two functions will create a new function (if the
    two are weak, we make them thunks to a new strong function) so don't iterate
    through the function list as we're modifying it.

    Also add back the outermost loop which got removed during the cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b8f4a993a2b6bd923438f27848a844fd112ea68
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 07:55:56 2010 +0000

    Don't perform an extra traversal of the function just to do cleanup.  We can safely simplify instructions after each block has been processed without worrying about iterator invalidation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112594 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af6a96ec8a6c81d1e7ec6338d55ad0d37d86d26
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 31 07:50:46 2010 +0000

    - Cleanup some whitespaces.
    - Convert {0,1} and friends into 0b01, which is identical and more consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112593 91177308-0d34-0410-b5e6-96231b3b80d8

commit a36c27a335fb84de0dc7165db9a36f8e800c8586
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 07:50:31 2010 +0000

    Rename test directory to reflect new pass name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112592 91177308-0d34-0410-b5e6-96231b3b80d8

commit e958bf5fdffa42fbc3a9c5af206686d856986cc0
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 07:48:34 2010 +0000

    Rename ValuePropagation to a more descriptive CorrelatedValuePropagation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09f3ee682f62fe78359b127596974b572d40f02f
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 07:41:39 2010 +0000

    Rename file to something more descriptive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112590 91177308-0d34-0410-b5e6-96231b3b80d8

commit e58fedd7f92811a1d7da877399fb061fe898a03e
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 07:36:34 2010 +0000

    More Chris-inspired JumpThreading fixes: use ConstantExpr to correctly constant-fold undef, and be more careful with its return value.
    This actually exposed an infinite recursion bug in ComputeValueKnownInPredecessors which theoretically already existed (in JumpThreading's
    handling of and/or of i1's), but never manifested before.  This patch adds a tracking set to prevent this case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112589 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f02be1385a013f82cd2339145aeb59662ef65ee
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 31 06:36:46 2010 +0000

    Cleanup Whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81e8dcea629c2cd4077533e13b2a905766fc47e7
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 31 06:36:33 2010 +0000

    System: Fix getMagicNumber on windows.

    getMagicNumber was treating the _binary_ data it read in as a
    null terminated string. This resulted in the std::string
    calculating the length, and causing an assert in other code that
    assumed that the length it passed was the same as the length of
    the string it would get back.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e8285f94be2df7c7d0a987db4f4c8abaf25589d
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 31 06:36:22 2010 +0000

    Fix spelling/typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112585 91177308-0d34-0410-b5e6-96231b3b80d8

commit d76aa7b309bf33f3ad6251b20a8c1b636c644859
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 06:12:08 2010 +0000

    Offset is not always unsigned number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112584 91177308-0d34-0410-b5e6-96231b3b80d8

commit e841a56026bf902601d798ffd01372c9380feaca
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 31 06:11:28 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112583 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02d29c1d3408a3fbb1798b5c081b7a90434df0bc
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Aug 31 05:53:05 2010 +0000

    Switch to DenseSet, simplifying much more code. We now have a single iteration
    where we hash, compare and fold, instead of one iteration where we build up
    the hash buckets and a second one to fold.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112582 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8dcc3f80df8c22961e3037f41b4be2507f83a9f
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 31 04:41:06 2010 +0000

    Remove r111665, which implemented store-narrowing in InstCombine.  Chris discovered a miscompilation in it, and it's not easily
    fixable at the optimizer level. I'll investigate reimplementing it in DAGCombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112575 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd53742fef9bad1fd8e2d2aa5d02113ccf1d2fdc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 02:36:20 2010 +0000

    zap unused method. x86 is the only user and already has a more powerfull version

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112571 91177308-0d34-0410-b5e6-96231b3b80d8

commit f84c9c080dbd95e2ff7ce1909ef306b10d924816
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 31 02:26:40 2010 +0000

    Use X86ISD::MOVSS and MOVSD to represent the movl mask pattern, also fix the handling of those nodes when seeking for scalars inside vector shuffles

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45dcc193710eba13f239b0eed2cb0b7fbc6dbde3
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 31 01:28:42 2010 +0000

    Rewrite slightly so we can expand for floating point types easier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112568 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4a1e47e0a96036b046b3abac1dc67178be94412
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 31 01:27:49 2010 +0000

    Add experimental -disable-physical-join command line option.

    Eventually, we want to disable physreg coalescing completely, and let the
    register allocator do its job using hints.

    This option makes it possible to measure the impact of disabling physreg
    coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112567 91177308-0d34-0410-b5e6-96231b3b80d8

commit de6ebdd65ed2455b9bc728f07e8b112f3c16527d
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 23:59:30 2010 +0000

    Fix a typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11089a0754218cc4e126781b97bf05fe505f4d2b
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 30 23:48:26 2010 +0000

    If we have an unhandled type then assert, we shouldn't get here for
    things we can't handle.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56804511e33cc611a773e512329e8f92c65b4c19
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 30 23:47:24 2010 +0000

    Update the descriptions of NoModRef and ModRef to be consistent
    with the descriptions of Mod and Ref.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 349e21dbee0e8cfc768d4572c7c6f90d8497f6b6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Aug 30 23:41:49 2010 +0000

    Fix borken test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112555 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36ea1f756fce0867bc82c5878e8f29f48f639dc1
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 23:37:41 2010 +0000

    Combine these two tests, and make sure there's a newline at the end of the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f10dcdcc156451ac60dbf5ea7deecd863609d4c
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 23:34:17 2010 +0000

    Cleanups suggested by Chris.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c40b4e9d2fa3b453357fa3ef7643b59fadc7cbc
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 23:22:36 2010 +0000

    Re-apply r112539, being more careful to respect the return values of the constant folding methods.  Additionally,
    use the ConstantExpr::get*() methods to simplify some constant folding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112550 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd363cb40f938a9e7b6375fb5e78c21e3eb1a5b4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Aug 30 22:50:36 2010 +0000

    Expand MOVi32imm in ARM mode after regalloc. This provides
    scheduling opportunities (extra instruction can go in between
    MOVT / MOVW pair removing the stall).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112546 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63530c357ab39a8730e95b8514f091971f83756b
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 22:45:55 2010 +0000

    Add statistics to evaluate this pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112545 91177308-0d34-0410-b5e6-96231b3b80d8

commit af16b922d3856661bc7729a8f84d5a2e51d4c25a
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 22:33:41 2010 +0000

    Revert r112539.  It accidentally introduced a miscompilation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112543 91177308-0d34-0410-b5e6-96231b3b80d8

commit fab346d2b33aea49bb2e9f6e6695c0398b204287
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 22:07:52 2010 +0000

    Fixes and cleanups pointed out by Chris.  In general, be careful to handle 0 results from ComputeValueKnownInPredecessors
    (indicating undef), and re-use existing constant folding APIs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d54f5253012e9b971cba9bceeabf91ca00d3613
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 30 22:05:23 2010 +0000

    Use the existing T2I_bin_s_irs pattern instead of creating T2I_bin_sw_irs, which
    is meant to do exactly the same thing. Thanks to Jim Grosbach for pointing this
    out! :-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74ca9bc1962f84f060e19e89d9d5d755e780d3d3
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Mon Aug 30 21:54:03 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a015893a88125b11fb426bbbbcae064cc40fd84
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Aug 30 21:52:40 2010 +0000

    Remember to clear the shadow kill flag at the same time as clearing the real
    kill flag.

    This could cause duplicate kill flags when the same register was used twice in a
    continuous sequence of STRs.

    There is no small test case. <rdar://problem/8218046>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112534 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d2bbe06fae34f8e4f79c71b2bec8b804caee6d3
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 30 21:41:20 2010 +0000

    Fix llc to run the verifier once, not twice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56b8ad692de2e347972e5fa215c1ae3c9132dcbf
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 21:34:26 2010 +0000

    Remove this from the main tree.  I'll host it out of tree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9378dfec2c67ac319ae4dd1679569e31310b9102
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 30 21:18:41 2010 +0000

    Add comments explaining why it's not necessary to include the
    is-function-local flag in metadata uniquing bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66038c495304c6206c387653d69521e53a69d9b0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 30 20:02:30 2010 +0000

    Remove NEON vmovn intrinsic, replacing it with vector truncate operations.
    Auto-upgrade the old intrinsic and update tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112507 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5e15429d832ce54c1bce313bf845c1e7983c947
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 30 19:49:58 2010 +0000

    Make ARM add rN, sp, #imm instructions rematerializable. That's how the address of locals is calculated, so this should
    help relieve register pressure a bit. Recalculating the local address is
    almost always going to be better than spilling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1da6e24ed831138ed7fd1a07618c661c1576b3fe
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 30 18:34:48 2010 +0000

    Fix LLVM target initialization to deal with sociopathic outside projects
    that like to randomly define things like "X86", regenerate autoconf bits
    and update cmake.

    Fixes PR7852.

    Patch by Xerxes Rånby!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b2a743eaf8a58d4099a311c73ccc6c5be207b2e
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 30 18:31:44 2010 +0000

    Kill a couple of unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ab9d35d41d8baf77549513aa5a774054ad44822
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 30 18:16:27 2010 +0000

    nuke dead ivar which was supposed to be committed with r112496

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112497 91177308-0d34-0410-b5e6-96231b3b80d8

commit d90895cfe89bd9fc34895d2219de61b9937fcf0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 30 18:12:35 2010 +0000

    two changes:
    1) nuke ConstDataCoalSection, which is dead.
    2) revise my previous patch for rdar://8018335,
      which was completely wrong.  Specifically, it doesn't
      make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS,
      because it is for readonly data.  templates (it turns out)
      go to const_coal_nt.  The real fix for rdar://8018335 was
      to give ConstTextCoalSection a section kind of ReadOnly
      instead of Text.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112496 91177308-0d34-0410-b5e6-96231b3b80d8

commit dcad6f9147ec88629310944c6032590a6c91c376
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 30 18:10:48 2010 +0000

    When expanding NEON VST pseudo instructions, if the original super-register
    operand is killed, add it to the expanded instruction as an implicit kill
    operand instead of marking the individual subregs with kill flags.  This
    should work better in general and also handles the case for VST3 where one
    of the subregs was not referenced in the expanded instruction and so was
    not marked killed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112494 91177308-0d34-0410-b5e6-96231b3b80d8

commit e09e3b548b75462492d301eb2f5da1eaf2c51806
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 30 17:20:17 2010 +0000

    MCELF: The value of all common symbols is the offset from the start of the section.  Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cafb19e52f192bf51c2f2483a04e14933aec5cf
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 17:03:45 2010 +0000

    It is possible to try to merge a not-constant with a constantrage, when dealing with ptrtoint ConstantExpr's.
    Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is
    sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 756e682f7ee8e839dbb5ed3fad9233f0a8ed56c8
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 30 15:34:08 2010 +0000

    Partially revert r112480. Caused test failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112486 91177308-0d34-0410-b5e6-96231b3b80d8

commit 545319d9937de961a17341c4c87e7971a33ca452
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Mon Aug 30 15:19:56 2010 +0000

    coff-dump.py: Fix PR7996. Now it is compatible to Python-2.4.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a156d5e389f1abedec838c4d2127afff92a2841
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 30 15:08:02 2010 +0000

    Fix constant-over-index.ll test on windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112483 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba51ca51448775fff695ec4ea22aa1fe5743715d
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 30 14:49:00 2010 +0000

    Test: Fix LLVMC tests on CMake.

    The CMake build didn't define TEST_COMPILE_CXX_CMD. The tests assumed gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112480 91177308-0d34-0410-b5e6-96231b3b80d8

commit aefdf711ae92b28cf9ee2f3aecc00f23d455ef66
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 30 14:46:53 2010 +0000

    Don't print two "0x" prefixes. Use a raw_ostream overload instead of llvm::format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f37167dec427421d7a40747c32e50dbf96b6405
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Mon Aug 30 14:00:29 2010 +0000

    EE/JIT: Do not invoke parent's ctors/dtors from main()! (PR3897)

    On Mingw and Cygwin, the symbol __main is resolved to
    callee's(eg. tools/lli) one, to invoke wrong duplicated ctors
    (and register wrong callee's dtors with atexit(3)).
    We expect, by callee, ExecutionEngine::runStaticConstructorsDestructors()
    is called before ExecutionEngine::runFunctionAsMain() is called.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02f95eab3aab830869807ff04c876646f020007a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 30 12:00:16 2010 +0000

    The value is offset from the start of the section for non-common symbols, submitted by Jordan Gordeev.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ac4ce4e063728817ce66f67134cbae3e265e46e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 30 11:59:29 2010 +0000

    Index external symbols by symbol table instead of parent section, by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112472 91177308-0d34-0410-b5e6-96231b3b80d8

commit 379beb1252b8a4da7c00a85afe859481dcff7bfb
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 30 11:56:55 2010 +0000

    Mark all common symbols external. This is not exactly correct but it lets apps
    link for now and can be adjusted later. Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51b66072d6cf7f2a514d7e798a6d60aeb35c87d7
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Aug 30 10:57:54 2010 +0000

    Remove a hack that tries to understand incorrect triples from the
    Triple class constructor.  Only valid triples should now be used
    inside LLVM - front-ends are now responsable for rejecting or
    correcting invalid target triples.  The Triple::normalize method
    can be used to straighten out funky triples provided by users.
    Give this a whirl through the buildbots to see if I caught all
    places where triples enter LLVM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 558da2c5d3eb6feb2ea59a67c374a2fdd2a4af99
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Aug 30 10:48:29 2010 +0000

    Correct bogus module triple specifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112469 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91ed802c8d44eeef4b6abd1cf0b8fd901203589c
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 30 07:33:39 2010 +0000

    Add a new example to the LLVM distribution: a trace-based Brainfuck compiler that uses LLVM as its code generator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 948294e4392dd9bcf78568bea395fe5432bc4b0b
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Mon Aug 30 07:25:54 2010 +0000

    Attempt to remove the MSIL backend from CMake as well based on Chris's r112375.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112464 91177308-0d34-0410-b5e6-96231b3b80d8

commit c921e297f8590885ac3d90d3974de256fdc3921b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 30 04:36:50 2010 +0000

    Revert r112461. It was failing on PPC...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 526ae4353f867f242f1d077f23f0c74f1f19ae8f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 30 01:47:35 2010 +0000

    Create Thumb2sI_cpsr and T2sI_cpsr. These new classes indicate that CPSR is the
    optional modified register (instead of reg0). Along with r112461 it will make
    sure that the optional define of CPSR is marked as "def" and will thus mark the
    instructions using these classes (t2ANDS*) as setting the 's' flag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112462 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb4e15667452c3af77f5019e42226211aab9ec09
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 30 01:36:05 2010 +0000

    When adding a register, we should mark it as "def" if it can optionally define
    said (physical) register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61ad96ddfacb9335c9cab992f580028cf331ff45
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 22:28:18 2010 +0000

    revert 112457, it looks like it broke selfhost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f04d48c885fa553e2b42bd4442f83ab4ed50de2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 19:54:28 2010 +0000

    rewrite DwarfEHPrepare to use SSAUpdater to promote its allocas
    instead of PromoteMemToReg.  This allows it to stop using DF and DT,
    eliminating a computation of DT and DF from clang -O3.  Clang is now
    down to 2 runs of DomFrontier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2700340de3991fc91ce98c548e1488bd9e9cbc2f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 19:28:28 2010 +0000

    inline function into its only caller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69e4619abc5cc3afcdef998ee58c74ae6dba31d1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:42:23 2010 +0000

    two changes: 1) make AliasSet hold the list of call sites with an
    assertingvh so we get a violent explosion if the pointer dangles.

    2) Fix AliasSetTracker::deleteValue to remove call sites with
       by-pointer comparisons instead of by-alias queries.  Using
       findAliasSetForCallSite can cause alias sets to get merged
       when they shouldn't, and can also miss alias sets when the
       call is readonly.

    #2 fixes PR6889, which only repros with a .c file :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112452 91177308-0d34-0410-b5e6-96231b3b80d8

commit e89e6aa8c2c6fd22e7431d57822bbab5706fa5f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:22:25 2010 +0000

    LICM does get dead instructions input to it. Instead of sinking them
    out of loops, just delete them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34a368473b742af8ce7a1f18bba92b9b248c93c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:18:40 2010 +0000

    use moveBefore instead of remove+insert, it avoids some
    symtab manipulation, so its faster (in addition to being
    more elegant)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112450 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4aa13417e64e1d6373b0e91ba71ea19a4792b5a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:11:16 2010 +0000

    revert 112448 for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4288b7b52285a18a96d1c8b14b9f56ae6627cce1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:03:33 2010 +0000

    optimize LICM::hoist to use moveBefore.  Correct its updating
    of AST to remove the hoisted instruction from the AST, since it
    is no longer in the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112448 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1adf10268e966b334b482c895ed6245851b675a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 18:00:00 2010 +0000

    fix some bugs (found by inspection) where LICM would not update
    LICM correctly.  When sinking an instruction, it should not add
    entries for the sunk instruction to the AST, it should remove
    the entry for the sunk instruction.  The blocks being sunk to
    are not in the loop, so their instructions shouldn't be in the
    AST (yet)!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112447 91177308-0d34-0410-b5e6-96231b3b80d8

commit b60c09a0447b50c2593e478bde2d9094264a3106
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 17:46:00 2010 +0000

    rework the ownership of subloop alias information: instead of
    keeping them around until the pass is destroyed, keep them
    around a) just when useful (not for outer loops) and b) destroy
    them right after we use them.  This should reduce memory use
    and fixes potential bugs where a loop is deleted and another
    loop gets allocated to the same address.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19ebd4b19011b3193dddbcedf9f74faf6099e238
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 17:23:19 2010 +0000

    apparently unswitch had the same "Feature".  Stop its
    claims that it preserves domfrontier if it doesn't really.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a4c75360c220d30db50c8183cdfbf1a916d9be0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 17:21:35 2010 +0000

    now that loop passes don't use DomFrontier, there is no reason
    for the unroller to pretend it supports updating it.  It still
    has a horrible hack for DomTree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112444 91177308-0d34-0410-b5e6-96231b3b80d8

commit b200b458ba98a15244511be5017a44f50e356e6d
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 16:40:03 2010 +0000

    Make IVUsers iterative instead of recursive.

    This has the side effect of reversing the order of most of
    IVUser's results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112442 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85eb172fcbcb1db541347d8c2d57939ff094b0ee
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 16:39:22 2010 +0000

    Optionally rerun dedicated-register filtering after applying
    other filtering techniques, as those may allow it to filter
    out more obviously unprofitable candidates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112441 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3461853cd98cd8169c7c4b599f2181ed730ad4eb
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 16:32:54 2010 +0000

    Fix several areas in LSR to do a better job keeping the main
    LSRInstance data structures up to date. This fixes some
    pessimizations caused by stale data which will be exposed
    in an upcoming change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a095d7e3027bd68d1ceafb887730fd815b0f371
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 16:09:42 2010 +0000

    Refactor the three main groups of code out of
    NarrowSearchSpaceUsingHeuristics into separate functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6258ca254402c1f0d1f40c74ec46ef0fe7bc8c29
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:30:29 2010 +0000

    Delete a bogus check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 010bb7bb8a83b35f8f8bbd5c1b5f337c3442209f
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:27:08 2010 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c596b348bfcaf3a6b16cd63cb14bbcd160f02d0
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:21:38 2010 +0000

    Move this debug output into GenerateAllReuseFormula, to declutter
    the high-level logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53a75bce96c1f545f4cb678ba762eba521e9e6ea
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:19:11 2010 +0000

    Delete an unused declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c12c6b7b0c0954ca2012a481030dcae2923caad
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:18:49 2010 +0000

    Do one lookup instead of two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f6323d4aeb6fc427b22b0715d5d382a8ac7aa4e
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:16:58 2010 +0000

    Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it folds
    all applicable addrecs before recursing on getMulExpr, instead of
    recursing on getMulExpr for each one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112433 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ae2ed0ac1e8edad82f382328d40681e938e85c2
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:10:06 2010 +0000

    Batch up subtracts along with adds, when analyzing long chains of
    operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112432 91177308-0d34-0410-b5e6-96231b3b80d8

commit f86ff447b42568c7b93e579184ba3a6a45b5467a
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 15:07:13 2010 +0000

    Micro-optimize GroupByComplexity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112431 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a50995cabfa539050284df7d2ae211f639dc14b
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:55:19 2010 +0000

    Hold AddRec->getLoop() in a variable, to make the Mul code more consistent
    with the Add code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39b5f6cd11a300e6919220ef12bd8dd554136104
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:53:34 2010 +0000

    Rename a variable, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112429 91177308-0d34-0410-b5e6-96231b3b80d8

commit b43c08807dfb28f9f8ccb7a1a7b2d73d7eba6ace
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:52:02 2010 +0000

    Use iterators instead of indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 988c6e1d17415010f14a948c5fd5f72db6600214
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:50:21 2010 +0000

    Don't worry about union types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112427 91177308-0d34-0410-b5e6-96231b3b80d8

commit 602409ab29460320ea0f7e828b9c5e8fe9210192
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:49:42 2010 +0000

    Make this test less dependent on register allocation choices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e5325425e542754f348f92c9d653bde8b3cd271
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:49:00 2010 +0000

    Use exec.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112425 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1792651fea5a8bac741dc94eb25b59bf4c06dd72
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Aug 29 14:48:15 2010 +0000

    Delete an unused declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112424 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa3fd26ce2925c4f89d6a30023478675fef0daf6
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Sun Aug 29 12:41:50 2010 +0000

    Fix lowering of INSERT_VECTOR_ELT in SPU.
    The IDX was treated as byte index, not element index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83c1116e3fe53a1e390722a9d27a30b3c94da389
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 29 11:31:07 2010 +0000

    Fix whitespaces. No functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 813619f1307f7e559f1bbd365cf58ebf30f81dab
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 07:05:51 2010 +0000

    Stop explicitly scheduling domfrontier before the loop passes,
    since none of them use it.  With this, we now only run
    domfrontier (an N^2 analysis) 3 times at clang -O3: once for
    "early" per-function cleanup, once at the start of the
    per-function pipeline to support SRoA, and once late because
    the EHPrepare class uses it.

    EHPrepare needs to stop using it, this is silly and wasteful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112420 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46fb28114a688c7207855cf19121bc7afdf06ea2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 07:02:56 2010 +0000

    licm preserves the cfg, it doesn't have to explicitly say it
    preserves domfrontier.  It does preserve AA though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 130c0d0e8d6ec63a8fc8c19afa97861914b90fe0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 06:49:44 2010 +0000

    now that it doesn't use the PromoteMemToReg function, LICM doesn't
    require DomFrontier.  Dropping this doesn't actually save any runs
    of the pass though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112418 91177308-0d34-0410-b5e6-96231b3b80d8

commit e869cffef1750ea2ba30d1f0e7cd66b2e0948aab
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 06:43:52 2010 +0000

    completely rewrite the memory promotion algorithm in LICM.
    Among other things, this uses SSAUpdater instead of
    PromoteMemToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89d703307026e7f5f1c001240d7b1a07b9a4aafb
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Aug 29 05:57:34 2010 +0000

    Remove NEON vaddl, vaddw, vsubl, and vsubw intrinsics.  Instead, use llvm
    IR add/sub operations with one or both operands sign- or zero-extended.
    Auto-upgrade the old intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dadbc5ef0f3532e146e31b2ceda54bd809687c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 05:12:21 2010 +0000

    use getUniqueExitBlocks instead of a manual set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dbbc25b09da09dea31836a11b243a896186371f
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sun Aug 29 05:07:40 2010 +0000

    A couple of small missed optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112411 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0b753a2691953dcb980e5957f6bc1cb3e3afaed
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:55:06 2010 +0000

    reimplement LICM::sink to use SSAUpdater instead of PromoteMemToReg.
    This leads to much simpler code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112410 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21f9afb652570b6d81e4148aa4cc02e7ad7b488
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:54:06 2010 +0000

    implement SSAUpdater::RewriteUseAfterInsertions, a helpful form of RewriteUse.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59b65be34547656f34bd38961de55855cdd44958
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:53:24 2010 +0000

    remove dead proto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 744c306426003a8eec9ae22456b88db78aaf5f37
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:28:20 2010 +0000

    reduce indentation in LICM::sink by using early exits, use
    getUniqueExitBlocks instead of getExitBlocks and a manual
    set to eliminate dupes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112405 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0d28897381b0bbf11ca3bedfefabeb613818da4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:23:04 2010 +0000

    modernize this pass a bit: use efficient set/map and reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00b8c531373b5fb6f7eb3724fcb567cc5144cf26
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Aug 29 04:22:35 2010 +0000

    Flesh out the list of things I've worked on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112403 91177308-0d34-0410-b5e6-96231b3b80d8

commit d790bce2281a615262bceb08a8a1b78839395ed2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:14:47 2010 +0000

    when merging two alias sets, the result set is volatile if either
    of the sets is volatile.  We were dropping the volatile bit of the
    merged in set, leading (luckily) to assertions in cases like
    PR7535.  I cannot produce a testcase that repros with opt, but this
    is obviously correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20321b2e9ca3e467acc782f1f7992db3440bc9dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:13:43 2010 +0000

    more cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ab2d4f63a10b486f54a25c931fbae3d80c121e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 04:06:55 2010 +0000

    clean this up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112400 91177308-0d34-0410-b5e6-96231b3b80d8

commit f82fd1f48c5e0da90417929e31706f4d6fb354e3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 29 03:55:31 2010 +0000

    - Add a parameter to T2I_bin_irs for those patterns which set the S bit.
    - Create T2I_bin_sw_irs to be like T2I_bin_w_irs, but that it sets the S bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 386510f683782d1165277f844557cc8c832086ff
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 03:19:04 2010 +0000

    merge a bunch of shuffle tests into sse2.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112398 91177308-0d34-0410-b5e6-96231b3b80d8

commit b69853836ce79544edd28e23aecb4e5a8e106d58
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 03:08:08 2010 +0000

    add a bunch more common shuffles to the instprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112397 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ff99a4c165c3812fdb4d4aae0303600d2a0eeb9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 29 03:07:47 2010 +0000

    add some nounwind's

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f44cf9fc30d31e118f95e915fb971cc167c4524
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 29 03:06:09 2010 +0000

    Name ANDflag to ANDS, which is less stupid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50a3ef3b66a1bb79039a8ceec5b8b9e503c9b0c3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 29 03:02:28 2010 +0000

    File missing from last commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fb8635590c9f613c43a3e670b9ef9d93bf747e7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 29 03:02:11 2010 +0000

    Create an ARMISD::AND node. This node is exactly like the "ARM::AND" node, but
    it sets the CPSR register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112393 91177308-0d34-0410-b5e6-96231b3b80d8

commit 654304500e0c484ea058214b122b283e67005a8c
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Sat Aug 28 21:12:51 2010 +0000

    Minor change.

    This is test for git svn dcommit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91c823aee125382595d148d5df6a21b511585de0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 20:42:31 2010 +0000

    I have manually decoded the imm field of an insertps one too many
    times.  This patch causes llc and llvm-mc (which both default to
    verbose-asm) to print out comments after a few common shuffle
    instructions which indicates the shuffle mask, e.g.:

    	insertps	$113, %xmm3, %xmm0     ## xmm0 = zero,xmm0[1,2],xmm3[1]
    	unpcklps	%xmm1, %xmm0    ## xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
    	pshufd	$1, %xmm1, %xmm1        ## xmm1 = xmm1[1,0,0,0]

    This is carefully factored to keep the information extraction (of the
    shuffle mask) separate from the printing logic.  I plan to move the
    extraction part out somewhere else at some point for other parts of
    the x86 backend that want to introspect on the behavior of shuffles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a8cc301ac4a8bc290f981da25b56e0fef95965e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 20:40:28 2010 +0000

    fixme accomplished

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112386 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c8c732b042693bd808d33f189f632f2577e4e78
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 20:34:35 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112385 91177308-0d34-0410-b5e6-96231b3b80d8

commit 525ca7966cae7425a4c149b00f9562527ea3a13d
Author: NAKAMURA Takumi <geek4civic@gmail.com>
Date:   Sat Aug 28 20:24:43 2010 +0000

    Add me to the "blame list"!

    And it is my 1st test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112384 91177308-0d34-0410-b5e6-96231b3b80d8

commit f94de99d9b1bc709f287551c03a3bd354a30a014
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 28 20:14:05 2010 +0000

    Remove obsolete keywords which are no longer relevant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112382 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9a08e0364f3a6c46742b360c3178453ce4fee76
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 28 20:11:28 2010 +0000

    Remove unions from the vim syntax highlighting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7477e23b04c16b31f1d2912b6c866334c5c6efb1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 17:59:08 2010 +0000

    fix the buildvector->insertp[sd] logic to not always create a redundant
    insertp[sd] $0, which is a noop.  Before:

    _f32:                                   ## @f32
    	pshufd	$1, %xmm1, %xmm2
    	pshufd	$1, %xmm0, %xmm3
    	addss	%xmm2, %xmm3
    	addss	%xmm1, %xmm0
                                            ## kill: XMM0<def> XMM0<kill> XMM0<def>
    	insertps	$0, %xmm0, %xmm0
    	insertps	$16, %xmm3, %xmm0
    	ret

    after:

    _f32:                                   ## @f32
    	movdqa	%xmm0, %xmm2
    	addss	%xmm1, %xmm2
    	pshufd	$1, %xmm1, %xmm1
    	pshufd	$1, %xmm0, %xmm3
    	addss	%xmm1, %xmm3
    	movdqa	%xmm2, %xmm0
    	insertps	$16, %xmm3, %xmm0
    	ret

    The extra movs are due to a random (poor) scheduling decision.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112379 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfb87234eed280fbda38313010ec7b0844fb31ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 17:28:30 2010 +0000

    fix the BuildVector -> unpcklps logic to not do pointless shuffles
    when the top elements of a vector are undefined.  This happens all
    the time for X86-64 ABI stuff because only the low 2 elements of
    a 4 element vector are defined.  For example, on:

    _Complex float f32(_Complex float A, _Complex float B) {
      return A+B;
    }

    We used to produce (with SSE2, SSE4.1+ uses insertps):

    _f32:                                   ## @f32
    	movdqa	%xmm0, %xmm2
    	addss	%xmm1, %xmm2
    	pshufd	$16, %xmm2, %xmm2
    	pshufd	$1, %xmm1, %xmm1
    	pshufd	$1, %xmm0, %xmm0
    	addss	%xmm1, %xmm0
    	pshufd	$16, %xmm0, %xmm1
    	movdqa	%xmm2, %xmm0
    	unpcklps	%xmm1, %xmm0
    	ret

    We now produce:

    _f32:                                   ## @f32
    	movdqa	%xmm0, %xmm2
    	addss	%xmm1, %xmm2
    	pshufd	$1, %xmm1, %xmm1
    	pshufd	$1, %xmm0, %xmm3
    	addss	%xmm1, %xmm3
    	movaps	%xmm2, %xmm0
    	unpcklps	%xmm3, %xmm0
    	ret

    This implements rdar://8368414

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 644a67e233fa0e6bf949c1b7a4dd48c8011c6144
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 17:15:43 2010 +0000

    improve comments in the unpcklps generating logic, introduce
    a new EltStride variable instead of reusing NumElems variable
    for a non-obvious purpose.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112377 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb7d587ae6f58a32385c5cd0e23b6daa53024091
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sat Aug 28 16:39:32 2010 +0000

    Don't cast Win32 FILETIME structs to int64. Patch by Dimitry Andric!

    According to the Microsoft documentation here:
    http://msdn.microsoft.com/en-us/library/ms724284%28VS.85%29.aspx

    this cast used in lib/System/Win32/Path.inc:

    __int64 ft = *reinterpret_cast<__int64*>(&fi.ftLastWriteTime);

    should not be done.  The documentation says: "Do not cast a pointer to a
    FILETIME structure to either a ULARGE_INTEGER* or __int64* value because
    it can cause alignment faults on 64-bit Windows."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112376 91177308-0d34-0410-b5e6-96231b3b80d8

commit a534a8d6491e94965262e7fab195e6c766bf54e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 16:33:36 2010 +0000

    remove the MSIL backend.  It isn't maintained, is buggy, has no testcases
    and hasn't kept up with ToT.  Approved by Anton.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 055d5e741b770cada50bfcc88417e810c6113364
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 28 10:29:41 2010 +0000

    Update ocaml test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2727023a5b92484fadb63a2d1251827389c15bde
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 28 09:47:42 2010 +0000

    Remove unions from the ocaml bindings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 711e9645c78121cdec904604fcda090654c8e89f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Aug 28 05:12:57 2010 +0000

    Use pseudo instructions for VST1 and VST2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112357 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04398f88f3c8fb24e0e2fea554a0ef3358ddd1ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 04:09:24 2010 +0000

    remove unions from LLVM IR.  They are severely buggy and not
    being actively maintained, improved, or extended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 526ac099f1a3844b0c78fc84530d6d73e7d1d9e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:51:24 2010 +0000

    remove the ABCD and SSI passes.  They don't have any clients that
    I'm aware of, aren't maintained, and LVI will be replacing their value.
    nlewycky approved this on irc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29579e78fb8c4376ee1aaa85c1ff1dff09122520
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:45:03 2010 +0000

    remove dead proto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112354 91177308-0d34-0410-b5e6-96231b3b80d8

commit a34e648ca372dbcac37d88d4d3765bbdfc00142a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:43:50 2010 +0000

    more dead thing zapping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0045af941abfc54ba08d11eb6e2d391fc574ccd7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:42:45 2010 +0000

    zap dead method

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92c0e655cf9d66b5fb5e9c305259875bbd6f488c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:36:51 2010 +0000

    for completeness, allow undef also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26a3c1d629a0bce3704946d674308bf26f184220
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:21:03 2010 +0000

    squish dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112350 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5bbefc3a608fdbb0d3ac3fe8e2288d99497234c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 03:18:45 2010 +0000

    zap dead code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83508a96c22f05683e9b2435fd19a1f0099f0b13
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Aug 28 02:46:39 2010 +0000

    Clean up the logic of vector shuffles -> vector shifts.
    Also teach this logic how to handle target specific shuffles if
    needed, this is necessary while searching recursively for zeroed
    scalar elements in vector shuffle operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76a2df8a4a776709a5f48eea40308c79ffdd11d8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 01:50:57 2010 +0000

    handle the constant case of vector insertion.  For something
    like this:

    struct S { float A, B, C, D; };

    struct S g;
    struct S bar() {
      struct S A = g;
      ++A.B;
      A.A = 42;
      return A;
    }

    we now generate:

    _bar:                                   ## @bar
    ## BB#0:                                ## %entry
    	movq	_g@GOTPCREL(%rip), %rax
    	movss	12(%rax), %xmm0
    	pshufd	$16, %xmm0, %xmm0
    	movss	4(%rax), %xmm2
    	movss	8(%rax), %xmm1
    	pshufd	$16, %xmm1, %xmm1
    	unpcklps	%xmm0, %xmm1
    	addss	LCPI1_0(%rip), %xmm2
    	pshufd	$16, %xmm2, %xmm2
    	movss	LCPI1_1(%rip), %xmm0
    	pshufd	$16, %xmm0, %xmm0
    	unpcklps	%xmm2, %xmm0
    	ret

    instead of:

    _bar:                                   ## @bar
    ## BB#0:                                ## %entry
    	movq	_g@GOTPCREL(%rip), %rax
    	movss	12(%rax), %xmm0
    	pshufd	$16, %xmm0, %xmm0
    	movss	4(%rax), %xmm2
    	movss	8(%rax), %xmm1
    	pshufd	$16, %xmm1, %xmm1
    	unpcklps	%xmm0, %xmm1
    	addss	LCPI1_0(%rip), %xmm2
    	movd	%xmm2, %eax
    	shlq	$32, %rax
    	addq	$1109917696, %rax       ## imm = 0x42280000
    	movd	%rax, %xmm0
    	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112345 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6acf8921617581b1043af191d81487f0362000f
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Aug 28 01:30:02 2010 +0000

    Straighten out any triple strings passed on the command line before
    they hit the rest of the system.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112344 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb3be5f479687a3fb0f81d0dd9abf12d479c7174
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 28 01:20:38 2010 +0000

    optimize bitcasts from large integers to vector into vector
    element insertion from the pieces that feed into the vector.
    This handles a pattern that occurs frequently due to code
    generated for the x86-64 abi.  We now compile something like
    this:

    struct S { float A, B, C, D; };
    struct S g;
    struct S bar() {
      struct S A = g;
      ++A.A;
      ++A.C;
      return A;
    }

    into all nice vector operations:

    _bar:                                   ## @bar
    ## BB#0:                                ## %entry
    	movq	_g@GOTPCREL(%rip), %rax
    	movss	LCPI1_0(%rip), %xmm1
    	movss	(%rax), %xmm0
    	addss	%xmm1, %xmm0
    	pshufd	$16, %xmm0, %xmm0
    	movss	4(%rax), %xmm2
    	movss	12(%rax), %xmm3
    	pshufd	$16, %xmm2, %xmm2
    	unpcklps	%xmm2, %xmm0
    	addss	8(%rax), %xmm1
    	pshufd	$16, %xmm1, %xmm1
    	pshufd	$16, %xmm3, %xmm2
    	unpcklps	%xmm2, %xmm1
    	ret

    instead of icky integer operations:

    _bar:                                   ## @bar
    	movq	_g@GOTPCREL(%rip), %rax
    	movss	LCPI1_0(%rip), %xmm1
    	movss	(%rax), %xmm0
    	addss	%xmm1, %xmm0
    	movd	%xmm0, %ecx
    	movl	4(%rax), %edx
    	movl	12(%rax), %esi
    	shlq	$32, %rdx
    	addq	%rcx, %rdx
    	movd	%rdx, %xmm0
    	addss	8(%rax), %xmm1
    	movd	%xmm1, %eax
    	shlq	$32, %rsi
    	addq	%rax, %rsi
    	movd	%rsi, %xmm1
    	ret

    This resolves rdar://8360454

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112343 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc750d34062a71d545989145aad097e71d125f24
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 28 00:51:03 2010 +0000

    Completely disable tail calls when fast-isel is enabled, as fast-isel
    doesn't currently support dealing with this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 382091b0adf2ae98206719ab891b7fe4c0642106
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 28 00:49:13 2010 +0000

    Trim a #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112340 91177308-0d34-0410-b5e6-96231b3b80d8

commit db209353cd509f225ca286b68cdb997eeff3ec4b
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 28 00:39:27 2010 +0000

    Fix an index calculation thinko.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112337 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8e25519b7a2e7d132c30903a611d0a51996ff70
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Aug 28 00:20:11 2010 +0000

    We don't need to custom-select VLDMQ and VSTMQ anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9254e44d1120f1fe2c893c0203217b0f6ef4721d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 28 00:11:12 2010 +0000

    Update CMake build. Add newline at end of file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112332 91177308-0d34-0410-b5e6-96231b3b80d8

commit e19c25cff95f847e069e9516ecf1cf566ae39120
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 27 23:57:52 2010 +0000

    When merging Thumb2 loads/stores, do not give up when the offset is one of
    the special values that for ARM would be used with IB or DA modes.  Fall
    through and consider materializing a new base address is it would be
    profitable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0921008bf6bbdf537926fd7e481fe661044b2293
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 27 23:31:36 2010 +0000

    Add a prototype of a new peephole optimizing pass that uses LazyValue info to simplify PHIs and select's.
    This pass addresses the missed optimizations from PR2581 and PR4420.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112325 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8f04319212c955a9c933342810fda53997459b7
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 27 23:29:38 2010 +0000

    Improve the precision of getConstant().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112323 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5755bf79d0d88a8106c13a3426cb1aba9b6d2d2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 27 23:18:17 2010 +0000

    Change ARM VFP VLDM/VSTM instructions to use addressing mode #4, just like
    all the other LDM/STM instructions.  This fixes asm printer crashes when
    compiling with -O0.  I've changed one of the NEON tests (vst3.ll) to run
    with -O0 to check this in the future.

    Prior to this change VLDM/VSTM used addressing mode #5, but not really.
    The offset field was used to hold a count of the number of registers being
    loaded or stored, and the AM5 opcode field was expanded to specify the IA
    or DB mode, instead of the standard ADD/SUB specifier.  Much of the backend
    was not aware of these special cases.  The crashes occured when rewriting
    a frameindex caused the AM5 offset field to be changed so that it did not
    have a valid submode.  I don't know exactly what changed to expose this now.
    Maybe we've never done much with -O0 and NEON.  Regardless, there's no longer
    any reason to keep a count of the VLDM/VSTM registers, so we can use
    addressing mode #4 and clean things up in a lot of places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112322 91177308-0d34-0410-b5e6-96231b3b80d8

commit f04a75a44a3be1381ff06b4809453aee25fc7eb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 23:15:21 2010 +0000

    tidy up test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63874210b2ff6e723c5f7ea5eab0e84ab272e489
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 23:05:54 2010 +0000

    no really, fix the test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112317 91177308-0d34-0410-b5e6-96231b3b80d8

commit e06802cbcd71b9c187e3e965a9717f6aa0e9ec77
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 23:05:27 2010 +0000

    fix this test.  It's not clear what it's really testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9559218ea3aaebb8c26e790abecf85121359a370
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 22:53:44 2010 +0000

    Enhance the shift propagator to handle the case when you have:

    A = shl x, 42
    ...
    B = lshr ..., 38

    which can be transformed into:
    A = shl x, 4
    ...

    iff we can prove that the would-be-shifted-in bits
    are already zero.  This eliminates two shifts in the testcase
    and allows eliminate of the whole i128 chain in the real example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57d78a61ad06ef540423733c20a36697e117a234
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Aug 27 22:25:51 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112305 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8cb7dd444d1c92d08512b6c9a8dbd5a516d43f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 22:24:38 2010 +0000

    Implement a pretty general logical shift propagation
    framework, which is good at ripping through bitfield
    operations.  This generalize a bunch of the existing
    xforms that instcombine does, such as
      (x << c) >> c -> and
    to handle intermediate logical nodes.  This is useful for
    ripping up the "promote to large integer" code produced by
    SRoA.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 154f6e8f778b009239be3c365fd62e205bdd5239
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 27 21:56:59 2010 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7659d53c9a27f73fd10cb129ef67fce38adf6782
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 27 21:44:35 2010 +0000

    Unsigned value cannot be < 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c0d51a9eb31166825896a6230fdfc3b68dd4ca6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 21:39:59 2010 +0000

    When merging adjacent operands, scan ahead and merge all equal
    adjacent operands at once, instead of just two at a time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112299 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5aedc15863dd258b35fb81d6a86aece0b379406
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 27 21:38:11 2010 +0000

    Fix a couple of typos.

    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112297 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7969ead630ddd868b37ff23416ac6035e7114bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 21:04:34 2010 +0000

    remove some special shift cases that have been subsumed into the
    more general simplify demanded bits logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e504d892770755a8e6c73aafe27ca4ee0d177c5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 20:45:56 2010 +0000

    Make the {A,+,B}<L> + {C,+,D}<L>  -->  Other + {A+C,+,B+D}<L>
    transformation collect all the addrecs with the same loop
    add combine them at once rather than starting everything over
    at the first chance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0362c12bbc7c0db3a607c99855e856f8253b9dee
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 20:44:45 2010 +0000

    merge and filecheckize test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112289 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a695b72f892ea0538b4603d7d0ae66be11de999
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 20:42:10 2010 +0000

    merge two tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e048b6cbfdf56df94d6a57f9b37fe6470afb229
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Aug 27 20:39:09 2010 +0000

    Remove now unneeded command line flag that enables 'optimize compares.'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70870f8985c3ba8b8d9ea1882f05afc8aff58e83
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 27 20:32:56 2010 +0000

    Fix typos in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112286 91177308-0d34-0410-b5e6-96231b3b80d8

commit e193ff6625fae4ed7c882eea6c1fabf083210d3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 20:32:06 2010 +0000

    teach the truncation optimization that an entire chain of
    computation can be truncated if it is fed by a sext/zext that doesn't
    have to be exactly equal to the truncation result type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b0d97e5a3bb24f54c9aaf34cf96533d63a84e7b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 18:55:03 2010 +0000

    Switch ScalarEvolution's main Value*->SCEV* map from std::map
    to DenseMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0806ce7a8fd0806216d7b5f5cb27632307cd5fae
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 18:49:08 2010 +0000

    get this test passing on linux builders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 859269d08551a4e6673d144d0ff1604eb2dd57dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 27 18:31:05 2010 +0000

    Add an instcombine to clean up a common pattern produced
    by the SRoA "promote to large integer" code, eliminating
    some type conversions like this:

       %94 = zext i16 %93 to i32                       ; <i32> [#uses=2]
       %96 = lshr i32 %94, 8                           ; <i32> [#uses=1]
       %101 = trunc i32 %96 to i8                      ; <i8> [#uses=1]

    This also unblocks other xforms from happening, now clang is able to compile:

    struct S { float A, B, C, D; };
    float foo(struct S A) { return A.A + A.B+A.C+A.D; }

    into:

    _foo:                                   ## @foo
    ## BB#0:                                ## %entry
    	pshufd	$1, %xmm0, %xmm2
    	addss	%xmm0, %xmm2
    	movdqa	%xmm1, %xmm3
    	addss	%xmm2, %xmm3
    	pshufd	$1, %xmm1, %xmm0
    	addss	%xmm3, %xmm0
    	ret

    on x86-64, instead of:

    _foo:                                   ## @foo
    ## BB#0:                                ## %entry
    	movd	%xmm0, %rax
    	shrq	$32, %rax
    	movd	%eax, %xmm2
    	addss	%xmm0, %xmm2
    	movapd	%xmm1, %xmm3
    	addss	%xmm2, %xmm3
    	movd	%xmm1, %rax
    	shrq	$32, %rax
    	movd	%eax, %xmm0
    	addss	%xmm3, %xmm0
    	ret

    This seems pretty close to optimal to me, at least without
    using horizontal adds.  This also triggers in lots of other
    code, including SPEC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112278 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0a557ce511c9e79551ac5320cdc68fe7a1404ad
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 27 17:13:24 2010 +0000

    Add alignment arguments to all the NEON load/store intrinsics.
    Update all the tests using those intrinsics and add support for
    auto-upgrading bitcode files with the old versions of the intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112271 91177308-0d34-0410-b5e6-96231b3b80d8

commit f623181f3cc769b8f7450044a0a308f3fc8220cb
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 27 17:12:29 2010 +0000

    Use LVI to eliminate conditional branches where we've tested a related condition previously.  Update tests for this change.
    This fixes PR5652.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112270 91177308-0d34-0410-b5e6-96231b3b80d8

commit c38c18ef88e35e2d4986cb12b23475043465a853
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 15:26:01 2010 +0000

    Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way
    return to avoid needing two calls to test for equivalence, and sort
    addrecs by their degree before examining their operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fa5cff61d4408ac54c8e7f7cc21fd30d2af6b18
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 15:16:40 2010 +0000

    Clarify a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112266 91177308-0d34-0410-b5e6-96231b3b80d8

commit f48bda2c4f0f7cd6ac0a952f076382755df0768d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 15:16:09 2010 +0000

    Parse " (Hidden)" and cope with it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112265 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00c1a8a2988ec94acbe33d8f604a06458027cf77
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 27 15:15:31 2010 +0000

    Default to looking for clang++ in the PATH, rather than trying to
    guess a path that will work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c413f20852607d27cc9a15371b8048235d41dfb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Aug 27 14:43:06 2010 +0000

    Properly handle passing of FP stuff to varargs function on Win64:
    value should be copied to the corresponding shadow reg as well.
    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cc4fea240afad6d771aec421c524cf6a23685f2
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Aug 27 10:40:51 2010 +0000

    MCELF: Port EmitInstruction changes from MachO streamer. Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b75dc101c6bcc4fb17dd3d5a39b9ed48b0cf7a5
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Aug 27 10:38:39 2010 +0000

    MCELF: Always overwrite FixedValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112259 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6d4e5fe222166789e439001ca120c11142d0ca5
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Fri Aug 27 02:49:45 2010 +0000

    Fix the msvs 2010 build.

    The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
    implements parts of C++0x based on the draft standard. An old version of
    the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to
    compile. This is because the template<class U, class V> pair(U&& x, V&& y)
    constructor is selected, even though it later fails to implicitly convert
    U and V to frist_type and second_type.

    This has been fixed in n3090, but it seems that Microsoft is not going to
    update msvc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 238d1b9fb45062736d0ea78dffd5e4f02caaa641
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 27 01:30:14 2010 +0000

    X86: Fix an encoding issue with LOCK_ADD64mr, which could lead to very hard to find miscompiles with the integrated assembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697794b96390864502e691f8d845cec331aea37d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 23:35:15 2010 +0000

    Revert r112213. It is not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112242 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9bf183677b0d91e35c9ad0031b07a693ae8dbef
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 23:32:16 2010 +0000

    Simplify eliminateFrameIndex() interface back down now that PEI doesn't need
    to try to re-use scavenged frame index reference registers. rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112241 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0ce8c5b42824d116c4336679b8bab9b64b13a4e
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 22:53:27 2010 +0000

    If node is not available then use FuncInfo.ValueMap to emit debug info for byval parameter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112238 91177308-0d34-0410-b5e6-96231b3b80d8

commit e50b7555dc5bb6aa91f43871fa1a64a64a11d6dd
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 22:42:12 2010 +0000

    Remove the now obsolete frame index virtual re-use algorithm from PEI. Pre-RA
    virtual base registers handle this function, and more. A bit more cleanup
    to do on the interface to eliminateFrameIndex() after this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112237 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc6748f6ec00b5f8ce30e2876a163c7b7e092d73
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 22:23:39 2010 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d4a91a44e408884d8e68fd3497d0f0b9efdd362
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 22:20:47 2010 +0000

    rename test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8486c44f33449ee119bbc7e62e4f9fac7fc8ac9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 22:14:59 2010 +0000

    optimize "integer extraction out of the middle of a vector" as produced
    by SRoA.  This is part of rdar://7892780, but needs another xform to
    expose this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57b39790ab6e4d91ecb369df2ef891c53570d36e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 21:56:30 2010 +0000

    tidy up a bit. no functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 507b121978cde2d09deb581fa0c626321a0ad024
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 21:55:42 2010 +0000

    optimize bitcast(trunc(bitcast(x))) where the result is a float and 'x'
    is a vector to be a vector element extraction.  This allows clang to
    compile:

    struct S { float A, B, C, D; };
    float foo(struct S A) { return A.A + A.B+A.C+A.D; }

    into:

    _foo:                                   ## @foo
    ## BB#0:                                ## %entry
    	movd	%xmm0, %rax
    	shrq	$32, %rax
    	movd	%eax, %xmm2
    	addss	%xmm0, %xmm2
    	movapd	%xmm1, %xmm3
    	addss	%xmm2, %xmm3
    	movd	%xmm1, %rax
    	shrq	$32, %rax
    	movd	%eax, %xmm0
    	addss	%xmm3, %xmm0
    	ret

    instead of:

    _foo:                                   ## @foo
    ## BB#0:                                ## %entry
    	movd	%xmm0, %rax
    	movd	%eax, %xmm0
    	shrq	$32, %rax
    	movd	%eax, %xmm2
    	addss	%xmm0, %xmm2
    	movd	%xmm1, %rax
    	movd	%eax, %xmm1
    	addss	%xmm2, %xmm1
    	shrq	$32, %rax
    	movd	%eax, %xmm0
    	addss	%xmm1, %xmm0
    	ret

    ... eliminating half of the horribleness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d706ddb973d4e046c34f84d6ec7525229d0bb3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 21:51:41 2010 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ff3cca372fcbfa8b7af7de88eaced343525c007
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 21:50:56 2010 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112224 91177308-0d34-0410-b5e6-96231b3b80d8

commit e69bf1c3a1332c251a90d34a836f2f566f51c20c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 21:35:52 2010 +0000

    add m_BitCast for matching a bitcast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 647d91acc111f987bd142af3bfec540d3ddaa91a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 21:29:54 2010 +0000

    Turn off the scavenging based frame reg reuse briefly to measure whether it's
    still having a significant effect. It shouldn't be now that the pre-RA
    virtual base reg stuff is in. Assuming that's valididated by the nightly
    testers, we can simplify a lot of the PEI frame index code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112220 91177308-0d34-0410-b5e6-96231b3b80d8

commit feca189a5c972c11a629fc0333e925f8ea065378
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 26 20:53:12 2010 +0000

    zap the now unused MVT::getIntVectorWithNumElements

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112218 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95854d84ddf2a1e441b6e4fea922d379d5c1d1d3
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 20:33:42 2010 +0000

    Speculatively revert r112207.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35492177974fa402cd748376b9727127d803a741
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 20:32:32 2010 +0000

    80 col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92f5061a33f7ad4dbea6ffe0bb846bc26b9130b4
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 20:06:46 2010 +0000

    Update DanglingDebugInfo so that it can be used to track llvm.dbg.declare also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44f49cfa3921b2a79ecd484ccb4c12ad8e66d133
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 26 18:51:29 2010 +0000

    Use pseudo instructions for VST3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ef2f0f480b2f52d20530ad4bcb6f33d0aa48d1c
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 18:36:14 2010 +0000

    Donot forget to resolve dangling debug info in a case where virtual register, used for a value, is initialized after a dbg intrinsic is seen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 563a32af10ac2bc7fe01d4d8b856d00a4e3e9629
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 26 18:33:51 2010 +0000

    Reapply r112176 without removing the other CMN patterns (that was unintentional).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112206 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4ec520b17a51438a1ea7057452a734913b80c61
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 26 18:12:22 2010 +0000

    Experimental clang-based code-completion support for vim. This currently
    depends on some clang patches which are not yet upstream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112204 91177308-0d34-0410-b5e6-96231b3b80d8

commit def0ee15e4d18844981e7183ea134c97742855fb
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 26 18:12:04 2010 +0000

    MCELF: Fix a thinko of mine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d3773c19eb849ad6a9b3cf0f8189ec82b9bbcd0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 26 18:08:11 2010 +0000

    Fix comment typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112202 91177308-0d34-0410-b5e6-96231b3b80d8

commit be3b34819e0330d9c3d6c5cb2fd6febffbd93c1f
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 26 17:47:45 2010 +0000

    Fix prototypes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46089366189449829ef87b4e1f0ba4384801be27
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 26 17:40:24 2010 +0000

    Make JumpThreading smart enough to properly thread StrSwitch when it's compiled with clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112198 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6188a155c3993ed5ef5cfaf1fde227e6fba2af6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 26 17:23:02 2010 +0000

    MCELF: Compensate for the addend on i386. Patch by Roman Divacky, with some cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112197 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae0bb53948c3883068987ec123e7c867aa2ef6f7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 17:02:47 2010 +0000

    Restrict the  register to tGPR to make sure the str instruction will be
    encodable as a 16-bit wide instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 333601a1c4aae295fa36826bbbc42056cfb68f0f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 26 15:50:25 2010 +0000

    Revert r112176; it broke test/CodeGen/Thumb2/thumb2-cmn.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112191 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87def10306da514baf45a41c47738958f11a7df8
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 26 15:41:53 2010 +0000

    Reapply r112091 and r111922, support for metadata linking, with a
    fix: add a flag to MapValue and friends which indicates whether
    any module-level mappings are being made. In the common case of
    inlining, no module-level mappings are needed, so MapValue doesn't
    need to examine non-function-local metadata, which can be very
    expensive in the case of a large module with really deep metadata
    (e.g. a large C++ program compiled with -g).

    This flag is a little awkward; perhaps eventually it can be moved
    into the ClonedCodeInfo class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1efce69379982893f64c104c91a2a6313de1a35e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 26 15:25:35 2010 +0000

    StringRef::compare_numeric also differed from StringRef::compare for characters > 127.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112189 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbe3d050dc3057e259f7d870e2dbf81b211f29d6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 26 14:21:08 2010 +0000

    Do unsigned char comparisons in StringRef::compare_lower to be more consistent with compare in corner cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112185 91177308-0d34-0410-b5e6-96231b3b80d8

commit be815c0090189c08f618f74365954c1ceea40312
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 26 09:07:33 2010 +0000

    There seems to be a (potential) hardware bug with the CMN instruction and
    comparison with 0. These two pieces of code should give identical results:

      rsbs r1, r1, 0
      cmp  r0, r1
      mov  r0, #0
      it   ls
      mov  r0, #1

    and:

      cmn  r0, r1
      mov  r0, #0
      it   ls
      mov  r0, #1

    However, the CMN gives the *opposite* result when r1 is 0. This is because the
    carry flag is set in the CMP case but not in the CMN case. In short, the CMP
    instruction doesn't perform a truncate of the (logical) NOT of 0 plus the value
    of r0 and the carry bit (because the "carry bit" parameter to AddWithCarry is
    defined as 1 in this case, the carry flag will always be set when r0 >= 0). The
    CMN instruction doesn't perform a NOT of 0 so there is never a "carry" when this
    AddWithCarry is performed (because the "carry bit" parameter to AddWithCarry is
    defined as 0).

    The AddWithCarry in the CMP case seems to be relying upon the identity:

      ~x + 1 = -x

    However when x is 0 and unsigned, this doesn't hold:

       x = 0
      ~x = 0xFFFF FFFF
      ~x + 1 = 0x1 0000 0000
      (-x = 0) != (0x1 0000 0000 = ~x + 1)

    Therefore, we should disable *all* versions of CMN, especially when comparing
    against zero, until we can limit when the CMN instruction is used (when we know
    that the RHS is not 0) or when we have a hardware fix for this.

    (See the ARM docs for the "AddWithCarry" pseudo-code.)

    This is related to <rdar://problem/7569620>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112176 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef08896e8c0750e8461a31a3f9cadd183925296e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 06:57:07 2010 +0000

    Add a hackaround for PR7993 which is causing failures on x86 builders that lack sse2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 968d1fc94ddcc1991746cb18c4fabff7cac892d5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 05:52:42 2010 +0000

    I think enough general codegen bugs are fixed to allow this to work
    on random hosts, lets see!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c9ad818686b19542170e4e5a50453c99b037b5b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 05:51:22 2010 +0000

    implement SplitVecOp_CONCAT_VECTORS, fixing the included testcase with SSE1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112171 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6b4561076eadb02f1d5733a3fb55ae6e2fe6334
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 26 05:33:30 2010 +0000

    Use pseudo instructions for VST1d64Q.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 158b446d196254369eb827b9b36751699d6d19e1
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 05:25:05 2010 +0000

    Make sure this forces the x86 targets

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112169 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3257b2fc1c520fa61e9ac721f6d0fd619043b9e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 05:24:29 2010 +0000

    fix sse1 only codegen in x86-64 mode, which is something we
    apparently try to support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0335c5426d4bd5a75191f317df368d745505996e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 26 03:48:11 2010 +0000

    Revert r111922, "MapValue support for MDNodes. This is similar to r109117,
    except ...", it is causing *massive* performance regressions when building Clang
    with itself (-O3 -g).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112158 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6f8c7966940bc544e3c3ded877ece8e0c2b527f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 26 03:48:08 2010 +0000

    Revert r112091, "Remap metadata attached to instructions when remapping
    individual ...", which depends on r111922, which I am reverting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112157 91177308-0d34-0410-b5e6-96231b3b80d8

commit 610ea4e0e4b4e09ab1bbf2bbcf8badf5d45a4c4d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 02:57:35 2010 +0000

    zap dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 536de00aa69c10ada727daf944c6f3ace45bdf16
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Aug 26 02:29:53 2010 +0000

    Updated CMake library dependencies. Removed unnecessary component name
    from llvm-link/CMakeLists.txt

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112153 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a4668ea1f05bfd901e2fee013ab9a53736cacd3
Author: John McCall <rjmccall@apple.com>
Date:   Thu Aug 26 02:11:48 2010 +0000

    SmallVector's growth policies don't like starting from zero capacity.
    I think there are good reasons to change this, but in the interests
    of short-term stability, make SmallVector<...,0> reserve non-zero
    capacity in its constructors.  This means that SmallVector<...,0>
    uses more memory than SmallVector<...,1> and should really only be
    used (unless/until this workaround is removed) by clients that
    care about using SmallVector with an incomplete type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c8e531e71c3a3bb7824a9abb9f618a4df57adc7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 01:14:37 2010 +0000

    remove dead proto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112131 91177308-0d34-0410-b5e6-96231b3b80d8

commit df9e67455206e4fe2149ae325522bfc0fdcc3549
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 26 01:13:54 2010 +0000

    zap dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a345c5fc4e4b1c3be81d21fde12d7ddaaf2ca18
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 26 01:02:53 2010 +0000

    Fix PR7748 without using microsoft extensions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112128 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec068b6b742cf512b73ccd4b3a4d6e65516d964e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 26 00:58:06 2010 +0000

    Enable pre-RA virtual frame base register allocation. rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112127 91177308-0d34-0410-b5e6-96231b3b80d8

commit d674fbf51c85c3d1355fa4998a2130a225b5a8c9
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 26 00:22:55 2010 +0000

    Rewrite ExtractGV, removing a bunch of stuff that didn't fully work,
    and was over-complicated, and replacing it with a simple implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112120 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3bd9f824392c8f44ffe0cac21d1e4e29203c2dd
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 26 00:13:36 2010 +0000

    Revert svn 107892 (with changes to work with trunk).  It caused a crash if
    a VLD result was not used (Radar 8355607).  It should also fix pr7988, but
    I haven't verified that yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112118 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd8051ca9a45c6dff206fa2122d12b548469fb0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 23:43:14 2010 +0000

    temporarily disable this, which started failing on the llvm-i686-linux
    builder.  I will investigate tonight.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 784e14372e65556a1d7a251601b08e1a2ba8bd12
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 23:33:07 2010 +0000

    Convert llvm-extract to use lazy loading. This makes it substantially
    faster on large modules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112110 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9af1e1d4200e1bb24f91636777049133aea03ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 23:31:42 2010 +0000

    we should pattern match the SSE complex arithmetic ops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112109 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfb07ef55609f78bde20e25fc5a65f2ec9cc9785
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 25 23:27:42 2010 +0000

    Start converting NEON load/stores to use pseudo instructions, beginning here
    with the VST4 instructions.  Until after register allocation, we want to
    represent sets of adjacent registers by a single super-register.  These
    VST4 pseudo instructions have a single QQ or QQQQ source register operand.
    They get expanded to the real VST4 instructions with 4 separate D register
    operands.  Once this conversion is complete, we'll be able to remove the
    NEONPreAllocPass and avoid some fragile and hacky code elsewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2817c507bb12f0ab38dd5ee647bd1abde934d8cd
Author: John McCall <rjmccall@apple.com>
Date:   Wed Aug 25 23:11:24 2010 +0000

    Provide an explicit specialization of SmallVector at N=0 which does
    not require its type argument to be complete if no members are
    actually used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e9074937b95ef11c899656af2cb8271a8a54e64
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 23:05:45 2010 +0000

    add a specialization for the MVT form of getTypeAction, since it is
    trivial.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2997e9d64d89744835aeb6398e0e0291bd23aa7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 23:00:45 2010 +0000

    remove some llvmcontext arguments that are now dead post-refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16986ca25c2ce6d837591014b82af0e112a9dc85
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 22:49:25 2010 +0000

    Change handling of illegal vector types to widen when possible instead of
    expanding: e.g. <2 x float> -> <4 x float> instead of -> 2 floats.  This
    affects two places in the code: handling cross block values and handling
    function return and arguments.  Since vectors are already widened by
    legalizetypes, this gives us much better code and unblocks x86-64 abi
    and SPU abi work.

    For example, this (which is a silly example of a cross-block value):
    define <4 x float> @test2(<4 x float> %A) nounwind {
     %B = shufflevector <4 x float> %A, <4 x float> undef, <2 x i32> <i32 0, i32 1>
     %C = fadd <2 x float> %B, %B
      br label %BB
    BB:
     %D = fadd <2 x float> %C, %C
     %E = shufflevector <2 x float> %D, <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
     ret <4 x float> %E
    }

    Now compiles into:

    _test2:                                 ## @test2
    ## BB#0:
     addps %xmm0, %xmm0
     addps %xmm0, %xmm0
     ret

    previously it compiled into:

    _test2:                                 ## @test2
    ## BB#0:
     addps %xmm0, %xmm0
     pshufd $1, %xmm0, %xmm1
                                            ## kill: XMM0<def> XMM0<kill> XMM0<def>
     insertps $0, %xmm0, %xmm0
     insertps $16, %xmm1, %xmm0
     addps %xmm0, %xmm0
     ret

    This implements rdar://8230384

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5523e1b3cc818a58021babe2fb95571dc4f71346
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 22:45:53 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112099 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec4ab297a8af9ef0c95f336626652ceebc8bfe02
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 21:36:50 2010 +0000

    Remap metadata attached to instructions when remapping individual
    instructions, not when remapping modules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21b7e372033b382b292b4e126961fd30d0eab46f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 25 21:26:37 2010 +0000

    Revert this for now, PUNPCKLDQ dont operate on v4f32

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112090 91177308-0d34-0410-b5e6-96231b3b80d8

commit f896c5635dc98dcc21ed02208fc818fa0c8f5cd2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 25 21:11:02 2010 +0000

    X86: Fix misencode of RI64mi8. This fixes OpenSSL / x86_64-apple-darwin10 / clang -O3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112089 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e25a99560f0a3c2ffd85f28660bd153baabccc7
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 25 20:41:24 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112086 91177308-0d34-0410-b5e6-96231b3b80d8

commit e843348dda625b122c09112c29d8db12d4d7128f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 25 20:39:26 2010 +0000

    Remove dead argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cec653bf771b477028a7b5b9b01ff17f7f73b6f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 25 20:34:28 2010 +0000

    Add some statistics for PEI register scavenging

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112084 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0efc425ca453b64aee04d0b4f667043cee5a3b1
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 20:23:38 2010 +0000

    Add a FIXME comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5357514976a16b6f1134fe183b7657065a3c1b23
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 20:22:53 2010 +0000

    Fix the bitcode reader to clear out function-specific state
    from MDValueList between each function, now that the bitcode
    writer is reusing the index space for function-local metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112082 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef191dd1a55169e0ce87353ed7bd26810deb2e67
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 20:20:21 2010 +0000

    Fix a bug found by inspection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f35733a80fb6b120fbc1bd21a9d8ac295257c1c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 20:17:19 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 698cf196b0fb30fdee6704ce66f31d098f3d7f5d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Aug 25 20:09:43 2010 +0000

    MCELF: Use precomputed symbol indices, patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112079 91177308-0d34-0410-b5e6-96231b3b80d8

commit f76b3f2828ba23c225d7924008d3ae709375a9d9
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 19:28:39 2010 +0000

    Fix header define to reflect the name of the file.

    Patch by Adam Treat!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112077 91177308-0d34-0410-b5e6-96231b3b80d8

commit df023ff56f8ad36ca6ba92edf97e2c0e5a8ee3f5
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Wed Aug 25 19:27:27 2010 +0000

    MC: Fix inconsistant naming in COFF object writer. Patch by Cameron Esfahani.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 971fed7c58c5cc8b523eb684a13a82268a140476
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 25 19:11:34 2010 +0000

    Don't override the var from the enclosing scope.

    When doing copy/paste/modify, it's apparently rather important to remember
    the 'modify' bit...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bed347febb10300c92e1a5f7e45f46cb626fa08
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 25 19:00:00 2010 +0000

    zap dead code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bb11a1d2cfc79d408c671a7a4fd3914921c8e93
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 25 18:52:02 2010 +0000

    DIGlobalVariable can be used to encode debug info for  globals that are directly folded into a constant by FE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112072 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5acbd4d25335ec078797a12a42298ae2cb105f9
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 18:37:04 2010 +0000

    lto_codegen_set_gcc_path was removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112069 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6c97f16f20c5ecb75455fca91dd469d8fe40d31
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 18:22:12 2010 +0000

    Fix a few missing entries in lto.exports.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112068 91177308-0d34-0410-b5e6-96231b3b80d8

commit c69f7fdd6c509d658f489d6c0308b567bbc4083d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Aug 25 17:27:58 2010 +0000

    Remove dead recursive function. Yay for clang -Wunused-function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112060 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd5252202d32e6db143c9be70d7d9bc251721a3d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 17:11:16 2010 +0000

    Clear FunctionLocalMDs in purgeFunction along with the rest of the
    function-specific state.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f38c669d3c7eea1485c0c7a6bd05e38bc0f5a1d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 17:09:50 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112056 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0ba04f1fe6a89453eb9038b2c863d06e4a440af
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 25 17:09:03 2010 +0000

    Eliminate an unnecessary cast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112055 91177308-0d34-0410-b5e6-96231b3b80d8

commit e015fe3afb11be177d314fc1b8809fa8c0588faa
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 25 16:58:05 2010 +0000

    ARM/Thumb2: Fix a misselect in getARMCmp, when attempting to adjust a signed
    comparison that would overflow.
     - The other under/overflow cases can't actually happen because the immediates
       which would trigger them are legal (so we don't enter this code), but
       adjusted the style to make it clear the transform is always valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112053 91177308-0d34-0410-b5e6-96231b3b80d8

commit e468d80f5af5f65ff3651d638d53fa6815b7652b
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 08:45:06 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b10960a4dee2b13016314a90d0e7d2b957014d8
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 08:44:54 2010 +0000

    Remove getsect checks, the result is unused and is broken anyhow.
    Fixes PR7967.

    Owen: You added these, any reason?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112041 91177308-0d34-0410-b5e6-96231b3b80d8

commit d14fde974cf9f4a7179e3cdc175291560e3423cc
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 08:43:57 2010 +0000

    Do type checks before we bother to do everything else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b8a0b0ff141959b48afcc4f0318aed7a89a92d0
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 07:57:29 2010 +0000

    Add another basic test cribbed from the x86 fast-isel tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22ea729a6d6290b3131e325a14e0bba6dad6a1f8
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 07:53:15 2010 +0000

    Run this on thumb and arm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ebd475fdd5a20305ae6ff902fb44a1d3d097ff
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Aug 25 07:50:11 2010 +0000

    Fix nasty mingw32 bug, which e.g. prevented llvm-gcc bootstrap there.
    Mark _alloca call as clobberring EFLAGS, otherwise some DCE might remove
    other flags-clobberring stuff (e.g. cmp instructions) occuring after
    _alloca call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d75e4f39fb3d959b4df1755f2a50599acee4b1f
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 07:47:00 2010 +0000

    Make this testcase actually executed with fast-isel on arm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 330e8acc6b5cba47f36c889a0c29c70eef34d1b8
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 07:23:49 2010 +0000

    Reorganize load mechanisms. Handle types in a little less fixed way.
    Fix some todos.  No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d9dfa5199df6cf41674e34f4389100b4519a8c3
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 06:45:22 2010 +0000

    Apparently this is needed for llvm-link to link.

    Untested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112029 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae89be442373412d9f6033bc11bd7e603d15d009
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 04:58:56 2010 +0000

    Allow strict subclasses of register classes, this way we can handle
    ARM instructions with:

    foo GPR, rGPR

    which happens a lot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112025 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddfc13df52c42c9868c10f16b659f4318b8cf96a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 25 03:40:20 2010 +0000

    buildbot/valgrind: Ignore leaks in /usr/bin/as.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112022 91177308-0d34-0410-b5e6-96231b3b80d8

commit c593bb4361c093e2b95cec901bf283dd9c3539a4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 25 02:55:40 2010 +0000

    PUNPCKLDQ should also be used for v4f32

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112020 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4cab104063a4613d417d80cf4d9b6a7b1cb45bb
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 25 02:35:37 2010 +0000

    teach lowering to get target specific nodes for pshufd, emulating the same isel behavior for now, so we can pass all vector shuffle tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112017 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ad39c244e22363895b999c372e03f35b70bafb4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 25 01:47:16 2010 +0000

    Convert test to use filecheck and make it more specific

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 388e9131def0ca04e5b54f590eb3e9d826eed8b1
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 25 01:16:47 2010 +0000

    In the default address space, any GEP off of null results in a trap value if you try to load it.  Thus,
    any load in the default address space that completes implies that the base value that it GEP'd from
    was not null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 529aa11d65d4ae55a5dbfd19df63973634c7ab52
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 25 00:41:18 2010 +0000

    Split out register class subclassing to a separate function and clean up
    accordingly.  No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112008 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4854cc969ba139261ebcf044317d738bdd7d65f
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 23:21:59 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16ad35af7509cdc59b96d45ba244c6aa47561937
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 23:21:12 2010 +0000

    Don't include the is-function-local bit in the FoldingSetNodeID
    for MDNodes, since this information is effectively implied by
    the operands. This allow allows the code to avoid doing a
    recursive is-it-really-function-local check in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2af2e9a5d7727a094cb63f63508f00dbf30cc94b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 24 23:20:40 2010 +0000

    split the vector case of getCopyFromParts out to its own function,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34ff0f793b0a96c0f35adb7f6fc3684667a33871
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 23:16:53 2010 +0000

    Use Bits.data() instead of &Bits[0].

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29f017245199511ba9534fc0328360bfa5a6f7be
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 24 23:10:06 2010 +0000

    split the vector case out of getCopyToParts into its own function.  No
    functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e04b939bcd13847e8fdc7db7109e704108a122d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 24 22:43:11 2010 +0000

    tidy up, reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cc0c1cb3bded08fca6b8f480bc4672497d4a26a
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 22:34:11 2010 +0000

    Fix predicate and add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111981 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee147d3e9e8dc4b04ecb07de77c7f764590c0fa0
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 22:07:27 2010 +0000

    Rework braindead conditionals I put in yesterday.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f9043393d22678ed216afeb1ee767da6f96c918
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 22:03:02 2010 +0000

    Fix thumb2 mode loads to have the correct operand ordering.  Add a todo
    to fix this in the port.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8df39e1d89b4eb79fed678483c185d9fdf2b9822
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 24 22:00:55 2010 +0000

    NULL loads are only invalid in the default address space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111972 91177308-0d34-0410-b5e6-96231b3b80d8

commit b900b304b28b9d8c336f7c176f7d560ddd2e4c5f
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 24 21:59:42 2010 +0000

    Add support for inferring values for the default cases of switches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40dbb99821471525e4d0d15bd6eaa37f5827644c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 24 21:19:33 2010 +0000

    Add ARM heuristic for when to allocate a virtual base register for stack
    access. rdar://8277890&7352504

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d41626bed1bde6a52137221f084d6f8054d1ea5
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Aug 24 21:14:47 2010 +0000

    Change the parsing of .loc back to allow the LineNumber field to be optional as
    it is with other assemblers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d31f9549e0cd5b710836c8fdf1000467fad9328
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 24 21:04:52 2010 +0000

    Fix COFF x86-64 relocations. PR7960.

    Multiple symbol reloc handling part of the patch by Cameron Esfahani.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86fd75703c3db67c8b1b359342808ae91c44a8a4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 20:54:50 2010 +0000

    XFAIL this on mingw, following remove_arguments_test.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 522b59f3691c7159ed3a63a47f4dbff79145f375
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 24 20:47:29 2010 +0000

    Add support for inferring that a load from a pointer implies that it is not null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111959 91177308-0d34-0410-b5e6-96231b3b80d8

commit d70a4a7c322074135ff2ad67e69b50b25150797a
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Aug 24 20:32:42 2010 +0000

    First bit of support for the dwarf .loc directive.  This patch updates the
    needed parsing for the .loc directive and saves the current info from that
    into the context.  The next patch will take the current loc info after an
    instruction is assembled and save that info into a vector for each section for
    use to build the line number tables.  The patch after that will encode the info
    from those vectors into the output file as the dwarf line tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bbb054acc147724a64a912e4a82e18166ff39fd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 20:23:51 2010 +0000

    Add a testcase for basic bugpointing in the presence of metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ee03c98dc8ec0a663a189f61241ae680369fe75
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 24 20:00:52 2010 +0000

    - Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
    - Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111952 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb4336f2ff30fdff828425a7c36165ebd7520b9b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 24 19:37:56 2010 +0000

    MC/X86: Tweak imul recognition, previous hack only applies for the imul form
    taking immediates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111950 91177308-0d34-0410-b5e6-96231b3b80d8

commit da7c20e883196bc75e84edc3d4c215acd2540028
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 19:37:11 2010 +0000

    Link NamedMDNodes after linking GlobalValues, so that MDNodes
    which reference GlobalValues are properly remapped.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14df6b9bbd15cd322f98fc496c4227cbd6bfe5c0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 19:31:04 2010 +0000

    When linking NamedMDNodes, remap their operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111948 91177308-0d34-0410-b5e6-96231b3b80d8

commit a86a6006dd971423084ddea4dd8ffdfe79f0ecea
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 24 19:24:18 2010 +0000

    MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f60ed72dda6acdf195d11a00637658b3e7493af
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 24 19:13:42 2010 +0000

    MC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
    dollars in identifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1232333e2f8778d93dfcb87781f73b68d9f93398
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 24 19:13:38 2010 +0000

    MC/X86: Warn on scale factors > 1 without index register, instead of erroring,
    for 'as' compatibility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111945 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25d6828fa445d9f12f94699df490a1b716744c94
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 24 19:05:43 2010 +0000

    Move enabling the local stack allocation pass into the target where it belongs.
    For now it's still a command line option, but the interface to the generic
    code doesn't need to know that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 120bac61d659732a53ec412e100df9810cfaa7a1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 18:50:07 2010 +0000

    Use MapValue in the Linker instead of having a private function
    which does the same thing. This eliminates redundant code and
    handles MDNodes better. MDNode linking still doesn't fully
    work yet though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ce275aa37e9c102fb98b3492e2f97744518044a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 24 18:12:12 2010 +0000

    MC/Parser: Accept leading dollar signs in identifiers.
     - Implemented by manually splicing the tokens. If this turns out to be
       problematically platform specific, a more elegant solution would be to
       implement some context dependent lexing support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91cae8d7302527463b551ef69716b1a9be26a44d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 18:09:44 2010 +0000

    Don't cast away qualifiers with C-style casts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7585541f8e2dd852c09f46edad69648afea71da0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 24 18:04:52 2010 +0000

    add ARM cmd line option to force always using virtual base regs when possible.
    Intended to help ease reproducing problems by increasing base register usage
    after heuristics for only using the when needed are in place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0db59022af7538e35706d00862cefc02be0e10df
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 24 17:44:07 2010 +0000

    Apply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
    patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111929 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81ff9845e3dc51d8ff975b2b91e43c019fe3b902
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 24 17:34:39 2010 +0000

    Relocate against parent if the symbol is not in section or it's a common symbol, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19b222f53d1eab216a3c0cbfc816ff8df24c2cd3
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 24 17:21:18 2010 +0000

    Turn LVI on, previously detected failures should be fixed now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9061d8630b83e7d96a1a1e9ec3ec687514d7b8ed
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 17:10:10 2010 +0000

    MapValue support for MDNodes. This is similar to r109117, except
    that it avoids a lot of unnecessary cloning by avoiding remapping
    MDNode cycles when none of the nodes in the cycle actually need to
    be remapped. Also it uses the new temporary MDNode mechanism.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55a5beb98dc28492686e06ede4a67e1e5946cabf
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 15:55:12 2010 +0000

    Fix X86's isLegalAddressingMode to recognize that static addresses
    need not be RIP-relative in small mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01bed7215f878ef805f6de5a13a187e93983f758
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 15:34:03 2010 +0000

    MDNode, MDString, and NamedMDNode are not meant to be subclassed;
    make their protected members private. And remove an unnecessary
    explicit keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111915 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2f86de1812652b0b1448eb4f656dd9f86a2bd9b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 14:35:45 2010 +0000

    Add a comment explaining why this code doesn't just call
    ParseMetadataValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b191dc4d336122259d8f0b23bdb1f3cb0cae3f5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 14:31:06 2010 +0000

    Add a comment explaining why this code is more complex than it
    initially seems it should require.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111913 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0eb47212e094be8514c8471bc45a5a3a5ee5e1b
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Tue Aug 24 11:50:48 2010 +0000

    Fix SPU BE to use all the available return registers.
    llc used to assert on the added testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111911 91177308-0d34-0410-b5e6-96231b3b80d8

commit d759bca004e8ccf711048d7101abb14d55451625
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Tue Aug 24 11:05:51 2010 +0000

    Remove some dead code from SPU BE that remained
    from 64bit vector support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111910 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2f9034f156130fa678ff9bb3e45520f790a36ce
Author: John McCall <rjmccall@apple.com>
Date:   Tue Aug 24 09:16:51 2010 +0000

    Check in a couple of changes that I apparently never committed:
      - teach DifferenceEngine to unify successors of calls and invokes
        in certain circumstances
      - basic blocks actually don't have their own numbering;  did that change?
      - add llvm-diff to the Makefile and CMake build systems

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90bfec8b0ba0c437b346f73d68014c2bd9cfbf4e
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 24 07:55:44 2010 +0000

    Don't assume that all constants with integer types are ConstantInts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a761cc700a21548345e2496c274c772a52b0d12
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 02:40:27 2010 +0000

    Add braces to fix dangling else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111896 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad05d652617f6223ba3c74df4ce8c1ad7667f5e9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 02:24:03 2010 +0000

    Extend function-local metadata to be usable as attachments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e98ca44b84e4115faf34596e3602a234d907763
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 02:10:52 2010 +0000

    When we know we have an MDValue or MDString, call EnumerateMetadata
    directly instead of going through EnumerateValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111894 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9a500bd6a4e4eddbfe49c63d3b241b48f74a750
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 02:05:17 2010 +0000

    Give ParseInstructionMetadata access to the PerFunctionState object.
    This is in preparation for generalizing its parsing of function-local
    values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111893 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d99f2b21c28ae977a8b095e5b85020334f05749
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 24 02:01:24 2010 +0000

    Simplify this code. NamedMDNode operands are MDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 391d7b8f20776a52eabf5313262e08e905d1a611
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 24 01:16:15 2010 +0000

    Use pshufhw and pshuflw in more cases and fix getTargetShuffleNode number of arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111890 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac9520af1c15a569bb86cc2b72beb98277106bd9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 24 01:11:30 2010 +0000

    Add comments for what the condition code symbols mean.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111889 91177308-0d34-0410-b5e6-96231b3b80d8

commit e134b4e639b4e81fc9db34287b22d5b0f62f488a
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 01:10:52 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111887 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2e53a0e6250a8aeab2cc5f5f57084cce2c9cdbb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Aug 24 01:10:22 2010 +0000

    llvmc: Improve error handling in EmitEdgeClasses().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26f1e2b10b5b2fcc77f8e1c9fd019a0fb67f925f
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 01:10:04 2010 +0000

    Fix the opcode and the operands for the load instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fbee0a09fdba1176a6adc634eb56d6e19ffaebf
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 00:50:47 2010 +0000

    Add register class hack that needs to go away, but makes it more obvious
    that it needs to go away.  Use loadRegFromStackSlot where possible.

    Also, remember to update the value map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a12e394f24a3871a1422a2d7cc03ec5ca7069dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 24 00:43:25 2010 +0000

    fix rdar://7997827 - Accept and ignore LL and ULL suffixes on integer literals.

    Also fix 0b010 syntax to actually work while we're at it :-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 580f9a1227baf634138e668b2c8f8424d564fc8f
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 24 00:07:24 2010 +0000

    Add some more debugging code, make it more obvious that RegOffset is
    getting an address for an object and select some default values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111871 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6335518e9a17d6557bf6515b3953d5a129fbf659
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 24 00:06:12 2010 +0000

    Revert r107202. It is not adding any value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 857aec15de3034903472e7215f84f8553b48aa8f
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 23 23:28:04 2010 +0000

    Don't need the extra register here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111864 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba7da88ba74d77a773eb7241d0baece8821a0516
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 23:21:23 2010 +0000

    llvmc: Make syntax more consistent.

    CompilationGraph and LanguageMap definitions do not use special syntax anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 472851d4ae5ef24054873bfccd08f42568f88df4
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 23 23:16:25 2010 +0000

    Let FE use derived types for DW_TAG_friend.
    Patch by Alexander Herz!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8daccbcb9c457d52b8101a62466b164329f0c789
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 23 23:14:31 2010 +0000

    Add some more "get address into register" code and a more TODOs/FIXMEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45e1fad21f2808de50c986f90e82b1743ed138e8
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 23 22:32:45 2010 +0000

    Add an ARMFunctionInfo member and use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51c24607a895517834a028a9225dcf098d592ffa
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 23 22:32:05 2010 +0000

    Verify that a non-uniqued non-temporary MDNode is not deleted via
    MDNode::deleteTemporary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1533aa4cd5912abdc4078f0bdafb773227a85dd4
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 23 21:44:12 2010 +0000

    Start getting ARM loads/address computation going.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111850 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5df513fc5458c67881bc4dc9645ed61ba9b4190
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 21:32:00 2010 +0000

    Fix thinko. Having no tests is great ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111848 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd6267f94cdeac1f70ad5bbb4a940e28e53a3ffa
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 23 21:29:29 2010 +0000

    Remove the MFI storage of the local allocation block size. It's not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52bf616eeca0f43484db960deef97582e79ad1b3
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 21:23:52 2010 +0000

    Reduce code duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41d72706a2830cbec8eb6f86c3a018cbd1a599d6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 21:19:37 2010 +0000

    ELFObjectWriter: Run ComputeSymbolTable before recording relocations. This way we can use the information it has computed and don't have to recompute the same stuff over and over again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111844 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d571f7ada6d14b306a827b0b478ffe0fe31088a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Aug 23 20:41:02 2010 +0000

    Start using target speficic nodes for shuffles: pshufhw and pshuflw

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111837 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31a2f34f9c40b8e58f3c8df491d3b128116dcad7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 23 20:40:38 2010 +0000

    Better handling of local offsets for downwards growing stacks. This corrects
    relative offsets when there are offsets encoded in the instructions and
    simplifies final allocation in PEI. rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e98612edbdacd3fe2b2758102cf2032174758dc
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Aug 23 20:30:51 2010 +0000

    tyops

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92d97d90fb0577c3ef37ed01c3b131c8f5670769
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 23 19:59:27 2010 +0000

    Turn LVI back off, I have a testcase now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111834 91177308-0d34-0410-b5e6-96231b3b80d8

commit e89086fc6f40eba4e1e77e7efa51b1f09986f616
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 23 19:39:25 2010 +0000

    Add a new llvm.x86.int intrinsic, allowing access to the
    x86 int and int3 instructions.  Patch by Peter Housel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 192db787480df57c0f5e5cc7117969d9354546b2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 19:24:16 2010 +0000

    llvmc: Allow multiple LanguageMaps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39c172910f4f0ffa037bbd9f2538b808dbab422b
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 19:24:12 2010 +0000

    Add a TODO.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111828 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb9bfca4d1b1575f4d26cd56e3c523cc7a0ec272
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 19:24:08 2010 +0000

    llvmc: Properly handle (error) in edge properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111827 91177308-0d34-0410-b5e6-96231b3b80d8

commit acfbb22137e02d251f4f07fb98df83786b15748e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 19:24:00 2010 +0000

    llvmc: Do not mention plugins in the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1993a69f61111220e60fa306f25663ccab7191c0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Aug 23 19:23:54 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111825 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc64ed193985fa6e2778cfff86aebecf7e5682ef
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 19:05:46 2010 +0000

    Add the symbol offset to the relocation value when we relocate against section. By Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111824 91177308-0d34-0410-b5e6-96231b3b80d8

commit a41d7541009b073c0c365d032e3b485e28afdaca
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 23 18:43:24 2010 +0000

    formatted_tool_output_file::close needs to flush its buffer before
    closing the underlying stream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a84bb4aac6c43181e8d5d21f677e186cfb0628a
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 23 18:25:56 2010 +0000

    Handle qualified constants that are directly folded by FE.
    PR 7920.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9be4a58d84f321f2f86f6dfa13515b681f743f9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 18:24:20 2010 +0000

    Use the proper relocation section + cleanup, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c3d05378fda29cf9325ed3bfb5732ad2b0c6e5d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 18:16:08 2010 +0000

    Avoid O(n*m) complexity in StringRef::find_first(_not)_of(StringRef).

    - Cache used characters in a bitset to reduce memory overhead to just 32 bytes.
    - On my core2 this code is faster except when the checked string was very short
      (smaller than the list of delimiters).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111817 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3233da64210cc98c61c02a929bd2535e853f7fad
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 23 18:12:23 2010 +0000

    Re-enable LazyValueInfo.  Monitoring for failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111816 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb6a57bdaccdc4af4835c0683ed17bcde8f76141
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 23 17:52:01 2010 +0000

    Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111815 91177308-0d34-0410-b5e6-96231b3b80d8

commit b257a53cdcc5decd6b81030723d9c65e97c88356
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 23 17:44:13 2010 +0000

    StringRef tweaks:

    - Respect find_first_of(char's From parameter instead of silently dropping it.
    - Prefer std::string() to std::string("")

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111814 91177308-0d34-0410-b5e6-96231b3b80d8

commit c82a0d6785eb0f8a49d0051fe2b337e8d5a3bfeb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 23 17:30:29 2010 +0000

    random improvement for variable shift codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111813 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5c383d8194fbbb762922d3d324900f63f0c3c6a
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Mon Aug 23 08:54:19 2010 +0000

    Try to escape the '$'s in these so they reach the underlying 'sh' invocation.
    I have no idea how lit did the right thing here, but other test runners don't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111805 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7237c8242f5f4e12fa76ef6d06418e14e4d6ad6
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Mon Aug 23 08:25:07 2010 +0000

    Fix some GCC warnings by providing a virtual destructor in the base of a class
    hierarchy with virtual methods and using llvm_unreachable to properly indicate
    unreachable states which would otherwise leave variables uninitialized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d941391af7a9dec9476a59ed8311f0b09a769bd
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Aug 23 07:38:51 2010 +0000

    Revert invalid r111792. Jump tables are not broken on x86-64 / coff,
    it's COFF emitter which does not support differences of two symbols
    (and needs to be fixed). GAS is pretty fine with code produced.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111801 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2acb6331c8a9c4ad042342161c5fe03503382bec
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 23 05:25:23 2010 +0000

    Revert part of my last commit. the mingw32 build bot doesn't seem to like it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c7d78c3513d0ab20d2e6d1d9fa52719967be3d7
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 23 04:45:37 2010 +0000

    Workaround broken jump tables on x86-64 COFF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111792 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e9e9274f85db8a65076cb876e8731b781d09a9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 23 03:12:06 2010 +0000

    remove some dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01f89ecfe9a2c2e67bc35e703474a2081e76a07d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Aug 22 23:45:14 2010 +0000

    Verify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c5d83c6005cfca3ea0ff45be89f27fd452aebc5
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Aug 21 20:19:51 2010 +0000

    Delete dead comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111744 91177308-0d34-0410-b5e6-96231b3b80d8

commit faa11ca459a5504c3b79bc8f2c874761a97b1be1
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Aug 21 17:21:11 2010 +0000

    Use rip-rel addressing on win64 by default. For this we just
    defaults to small pic code model.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ce960acadd05b34086fab89200f2eac665f5612
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 21 15:07:23 2010 +0000

    Use MDNode::destroy(). Fixes a delete/free mismatch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9da72a4aac3357551039ac7c758d212dffddb05b
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sat Aug 21 05:58:13 2010 +0000

    MC: Add partial x86-64 support to COFF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4795cc83541a403fdbe032d74a99805ff6ca9395
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 21 02:52:29 2010 +0000

    Add an assert to MDNode::deleteTemporary check that the node being deleted
    is not non-temporary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111713 91177308-0d34-0410-b5e6-96231b3b80d8

commit f37449511471dc408cb6a69f4797ec0694be47de
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 21 02:32:36 2010 +0000

    Fix x86 fast-isel's cmp+branch folding to avoid folding when the
    comparison is in a different basic block from the branch. In such
    cases, the comparison's operands may not have initialized virtual
    registers available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eb5b1dafbb760e00bef0161fb38edee590baecb
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Aug 21 01:32:18 2010 +0000

    Prepare LowerVECTOR_SHUFFLEv8i16 to use x86 target specific nodes directly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111704 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce9353ef1c6943534e29675ce182b55e0141af34
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 20 23:22:43 2010 +0000

    Replace some NEON vmovl intrinsic that I missed earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111696 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4262be2e449e7f702bcffa055147c792f04e146
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 20 22:55:05 2010 +0000

    This is the first step towards refactoring the x86 vector shuffle code. The
    general idea here is to have a group of x86 target specific nodes which are
    going to be selected during lowering and then directly matched in isel.

    The commit includes the addition of those specific nodes and a *bunch* of
    patterns, and incrementally we're going to switch between them and what we
    have right now. Both the patterns and target specific nodes can change as
    we move forward with this work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111691 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbd260ddf0a0a60dc7942a67f7b7566aa31f041a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 22:39:47 2010 +0000

    CreateTemporaryType doesn't needs its Context argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111687 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6295fa905117b667da5470541dfebd2e385ed92
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Aug 20 22:05:50 2010 +0000

    Create the new linker type "linker_private_weak_def_auto".

    It's similar to "linker_private_weak", but it's known that the address of the
    object is not taken. For instance, functions that had an inline definition, but
    the compiler decided not to inline it. Note, unlike linker_private and
    linker_private_weak, linker_private_weak_def_auto may have only default
    visibility.  The symbols are removed by the linker from the final linked image
    (executable or dynamic library).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d8d9094825f1033e740dfcbdd1940c8fd94780a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 22:02:26 2010 +0000

    Introduce a new temporary MDNode concept. Temporary MDNodes are
    not part of the IR, are not uniqued, and may be safely RAUW'd.
    This replaces a variety of alternate mechanisms for achieving
    the same effect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111681 91177308-0d34-0410-b5e6-96231b3b80d8

commit c72661c5707dd60225b067c7b2dd177400563a9c
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Aug 20 21:18:55 2010 +0000

    Test should pass on non-Darwin x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111678 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2c0ff0eb3631be90c35c28c99abea9229877c9a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 20 20:54:37 2010 +0000

    Fix --disable-threads build, PR7949.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111676 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dd5eb9e2978e6ed742b686bbeffd448bfd789ac
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 20 20:25:31 2010 +0000

    Downwards growing stack allocation order reverses relative offsets

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111673 91177308-0d34-0410-b5e6-96231b3b80d8

commit dba9fb889001b9c93682d4ff653fc93864aa9302
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 20 19:04:43 2010 +0000

    Add more dbg output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22866ae1c5e1717fbfc4058741d529cdc687944f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Aug 20 18:56:46 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111669 91177308-0d34-0410-b5e6-96231b3b80d8

commit fab88314acd163c522ee96a680d5607cdfa294e1
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Aug 20 18:29:27 2010 +0000

    Don't run test on PPC darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04e8d4aadfe28862710b907f6c0450576f68862d
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 20 18:24:43 2010 +0000

    Re-apply r111568 with a fix for the clang self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111665 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebd23f0f30dafcda9d8e09463bea974ae85a9b1f
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Fri Aug 20 18:24:35 2010 +0000

    Fix vmcore.ml test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 030452eb6a1d5ce5c62f6e4d11fd5a0105d43f77
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 18:22:57 2010 +0000

    Reword NamedMDNode's comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0098ae45e206d6f88abf5489b75667d3e3ac35e1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 18:16:26 2010 +0000

    llvmc: Fix alias generation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 203209174ac51b9d1cad2b0d64bfc05caf2fb32b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 18:07:37 2010 +0000

    Delete SlowOperationInformer, which is no longer used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111661 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0ceffa04862bad36513ad9ba1fedff15ca035e6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 18:03:05 2010 +0000

    Convert DbgInfoPrinter to use errs() instead of outs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 074ebdd60e0f03c87bb01a4b18dd150127f4ffa1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 17:38:44 2010 +0000

    Add include guards to Support/Regex.h.

    If the omission was intentional, please add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06d89037ba5f2436af1f6262be1934eca92a9e9d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 17:38:38 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90bbd89365892cab0fca9bc061273c746a360a10
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 20 17:34:22 2010 +0000

    Add explicit initializer for UseLocalStackAllocationBlock in MFI constructor

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cdc6c483abfc7ec773d54f6bf454c24aa2192ee
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:59:15 2010 +0000

    Convert tools to use tool_output_file, and introduce error
    checking to places which previously lacked it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 494df380eaae263a66e986948937b6acbc3bb4d5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:56:11 2010 +0000

    Diagnose attempts to update standard output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111649 91177308-0d34-0410-b5e6-96231b3b80d8

commit a06a3076ec79d1d749e936bc966b29b2679e5ea3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:54:27 2010 +0000

    Convert FileUpdate to use tool_output_file, and to use
    errs() instead of outs() for its verbose messages.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1797020ff21345651231550525770837d5e84562
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 20 16:48:30 2010 +0000

    properly check for whether base regs were inserted

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34135446c15b1b3d901c04878d4eeda4e0a7d933
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:45:58 2010 +0000

    Convert tablegen to use tool_output_file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75c23dd30f14bf2de017b52dd97f559756a35e77
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:44:56 2010 +0000

    Make outs() close its file when its stream is destructed, so that
    pending output errors are detected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111643 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbe3fb64ea431683d1e2acc7e66dc9d97221f559
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:39:41 2010 +0000

    Delete raw_stdout_ostream and raw_stderr_ostream, which are unused
    outside of outs() and errs() themselves, and they don't really
    need custom classes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17878b4b70b7702e22624db962645d6c65f246fc
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:36:19 2010 +0000

    Add an inspirational quote.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69179aa27bb77a804c4f87c46e99e55cde04d096
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:35:30 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c384c3476c396cb92990ab2fc336ae9eabb07ad
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:34:20 2010 +0000

    Move raw_ostream's Error flag into raw_fd_ostream, as that's the only
    class which is using it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111639 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bcb5da97a1582b1cafe0ba2abab1f29e6e5d8b3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 16:27:38 2010 +0000

    Export error-handling functions in formatted_tool_output_file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89cab2325830102fff74b04bf39adec0970c528e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 20 14:54:37 2010 +0000

    Fix a typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cf4790598ce91d410656954cf73f7518a1640b7
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Fri Aug 20 14:51:26 2010 +0000

    Fix the running of ocaml tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111626 91177308-0d34-0410-b5e6-96231b3b80d8

commit df10af48a596a8f650465afbba8ac8a38ced4cfd
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Fri Aug 20 14:51:22 2010 +0000

    Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d557d3016242b241a50ebbc9ad6b4334a6ae2d8
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Fri Aug 20 14:51:16 2010 +0000

    Fix arguments to ocaml's llvm_params.

    Thanks to Jianzhou Zhao for finding this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 878a4cd670377da20fa93c07e8a011a00ead9289
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 20 14:20:17 2010 +0000

    Fix some Ocaml tests: the %t substitution now returns an absolute path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111623 91177308-0d34-0410-b5e6-96231b3b80d8

commit da724affd10c3c4964db80d7e7c5f0690d8d2181
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 20 14:19:38 2010 +0000

    The %ocamlopt setting has embedded quotes.  Copy the entire value instead
    of stopping at the first embedded quote.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8532eccec4d371b6d24979ce93fc27b2f255a5a9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Aug 20 13:03:33 2010 +0000

    Update LLVMC tests for r111620.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3033678e48eeaac0c7e7a569fcf634aa5d7bad3e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 11:24:51 2010 +0000

    llvmc: Do not prefix option names with AutoGenerated.

    Since they now live in the namespace 'autogenerated'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111620 91177308-0d34-0410-b5e6-96231b3b80d8

commit e357df5038aa5a35ed78c685328c534191627613
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 11:24:44 2010 +0000

    llvmc: Cut global namespace pollution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111619 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4247fd189dc992ac10a331c1f6d458b7a163a29c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 11:24:35 2010 +0000

    Disambiguate calls to WriteGraph() to disable ADL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 874b0d977220733ea8af67481f0e9bf805423ff6
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 20 11:24:31 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111617 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25ed606757ebf3d9f4295a5be2e272f7e4e07be9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 20 04:54:02 2010 +0000

    Replace the arm.neon.vmovls and vmovlu intrinsics with vector sign-extend and
    zero-extend operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5600431a5dd9d379a6f17499f87c52092e1f19ce
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 01:12:13 2010 +0000

    Use tool_output_file in llvm-extract and llvm-link too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111604 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe4351b4f40a53e3a9b250be7b92046ac005a74f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 01:07:01 2010 +0000

    Use the new tool_output_file in several tools. This fixes a variety
    of problems with output files being left behind or output streams
    being left unclosed. Fix llvm-mc to respect the -o option in all
    modes, rather than hardcoding outs() in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ffcaad77d33f44d58626b9a73579cf9d80538a0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 01:03:44 2010 +0000

    Make the SCC printing passes use errs() instead of outs(), as the
    other printing passes do, and update the documentation accordingly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79723d8c15a3ed82b8f5fc5c6423b2684df99f06
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 01:02:14 2010 +0000

    Print chatty verbose messages to errs() instead of outs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111599 91177308-0d34-0410-b5e6-96231b3b80d8

commit d199f8e33a850147cfdfb5d4ebd6522bbf79af47
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 01:00:03 2010 +0000

    Minor cleanups to follow the common convention for pass
    registration variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ad3f4f10cf416311949cbda9aa042d43fc649ad
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 00:56:16 2010 +0000

    Minor cleanups to follow the common convention for pass
    registration variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111596 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c11b7a481cdfaf0bd474df4d131babda484146a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 20 00:48:10 2010 +0000

    Introduce a new tool_output_file class, which extends raw_ostream with
    functionality that most command-line tools need: ensuring that the
    output file gets deleted if the tool is interrupted or encounters an
    error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111595 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2cdf1f7229d635624d23f3d8c5e4073dd2c7ca1
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 20 00:36:24 2010 +0000

    Fix loop conditionals (MO.isDef() asserts that it's a reg) and
    move some constraints around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111594 91177308-0d34-0410-b5e6-96231b3b80d8

commit eea169df11dd29af6ffe3ca43ed465f0eec4dbc6
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 20 00:20:31 2010 +0000

    Add a couple of random comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62133ed6021f91b1c208e6164c372196dbccfc05
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 19 23:52:39 2010 +0000

    If the target says that an extending load is not legal, regardless of whether
    it involves specific floating-point types, legalize should expand an
    extending load to a non-extending load followed by a separate extend operation.
    For example, we currently expand SEXTLOAD to EXTLOAD+SIGN_EXTEND_INREG (and
    assert that EXTLOAD should always be supported).  Now we can expand that to
    LOAD+SIGN_EXTEND.  This is needed to allow vector SIGN_EXTEND and ZERO_EXTEND
    to be used for NEON.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96f8af14d954b5b89ed24816926545ec40640005
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 19 23:52:25 2010 +0000

    Better handling of offsets on frame index references. rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111585 91177308-0d34-0410-b5e6-96231b3b80d8

commit fed2eccae7cd184dd59eb41188ae265ebda18d15
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 23:45:39 2010 +0000

    CrashRecovery/Darwin: On Darwin, raise sends a signal to the main thread instead
    of the current thread. This has the unfortunate effect that assert() and abort()
    will end up bypassing our crash recovery attempts. We work around this for
    anything in the same linkage unit by just defining our own versions of the
    assert handler and abort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111583 91177308-0d34-0410-b5e6-96231b3b80d8

commit c26c301b474fa8aba853dd5536e51b7c99da8dd3
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 19 23:45:15 2010 +0000

    Previous revert failed to remove this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a33396923cf0e6bbee2fa59c2be717654045132
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 19 23:39:00 2010 +0000

    Update comment to remove special case for vector extending loads.  An
    extending vector load should extend each element in the same way as the
    corresponding scalar extending load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111577 91177308-0d34-0410-b5e6-96231b3b80d8

commit e700297e4a52fd8d7c1e803680ae1f6b43b86a72
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 19 23:33:02 2010 +0000

    Update debug logs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f2cfb83899812f0ee3c49dfcc82a1db08c0245e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 19 23:32:47 2010 +0000

    Properly update MachineDominators when splitting critical edge.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111574 91177308-0d34-0410-b5e6-96231b3b80d8

commit c38264b657e4c04d5266dd8f7b56fd088d5947e2
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 19 23:25:16 2010 +0000

    Revert r111568 to unbreak clang self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40d63c4fb736f99aa3ac182527146f06eb4caa6e
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 19 22:15:40 2010 +0000

    When a set of bitmask operations, typically from a bitfield initialization, only modifies the low bytes of a value,
    we can narrow the store to only over-write the affected bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79fbf4f6809b334d39eb27ff337610e9bf3d297e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Aug 19 20:04:19 2010 +0000

    llvmc: Update examples.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88c52108b33ac773c4e2237e29af84d57f4fd647
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Aug 19 20:03:53 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111552 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cdb606c18a371a5bc82f3efb7ad7b517dbebf9c
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 19 19:47:08 2010 +0000

    Disable LVI while I evaluate a failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111551 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae5135f58f81e087e301cf6939f6cabf6b7aa1c4
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 19 19:04:40 2010 +0000

    Tentatively enabled LVI by default.  I'll be monitoring for any failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111543 91177308-0d34-0410-b5e6-96231b3b80d8

commit f154735001603c54f7fd6047eac0eb7e40056b23
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 19 18:52:17 2010 +0000

    Correct header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dca7d007c3a1c817e04e5f5a79fbf8e6e454086
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 19 18:52:02 2010 +0000

    Silence 'unused' warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17d56e50c505a509ab76095a18b985d2f50db1e8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 19 18:33:29 2010 +0000

    It's possible to sink a def if its local uses are PHI's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111537 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3d67a3849cdbd5c527491f76b8379807bf3bf75
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Thu Aug 19 18:16:39 2010 +0000

    Fix the msvc 2010 build.

    The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
    implements parts of C++0x based on the draft standard. An old version of
    the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to
    compile. This is because the template<class U, class V> pair(U&& x, V&& y)
    constructor is selected, even though it later fails to implicitly convert
    U and V to frist_type and second_type.

    This has been fixed in n3090, but it seems that Microsoft is not going to
    update msvc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28ac368e14e767bb402cf658779870857c109163
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Aug 19 17:58:35 2010 +0000

    Do not assert when reading an exponent out of range.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111534 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81cbda13134d0e686d80b38b674b113d2e8d9f41
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 19 17:52:13 2010 +0000

    Add Thumb1 support for virtual frame indices.

    rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08ff9e3b5819897edbf845a7745c3b8bb639e007
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 19 17:33:48 2010 +0000

    Remove disabled assertion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58428d683c03bdcf9f14430421c310043e7b1275
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 19 17:33:11 2010 +0000

    Teach machine-sink to break critical edges when appropriate. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a74bb528b136bf44f927ae92e192adc3b2c0cf9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 17:21:21 2010 +0000

    buildbot/valgrind: Update RegisterPass false positive suppression for API
    changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ebbbdc9c5a31d92c936f6c1c3500a748abf5dcf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 17:21:17 2010 +0000

    buildbot/valgrind: Suppress warnings about leaks in /bin/grep.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ff6bfe0dfa2509dc1539693eeb06aa5d0e4fbd8
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 19 17:21:10 2010 +0000

    Re-re-revert this patch.  It seems to be causing performance
    and correctness regressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111527 91177308-0d34-0410-b5e6-96231b3b80d8

commit e52dee713fcb9c9d17c7293fa29c1daffd15456d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 16:47:54 2010 +0000

    tests: Haste makes waste.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01bf352f81abed24e03ebc097fc8b37bd6383fb4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 16:46:52 2010 +0000

    tests: Ignore whitespace in llvm_supports_binding() and llvm_gcc_supports().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111524 91177308-0d34-0410-b5e6-96231b3b80d8

commit fed22fffa22fbf03ab34f343b52ccb82037cbb9b
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 19 15:35:27 2010 +0000

    Silence warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a53d549d33a0fe8d7a828cced30ee66a34c780f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 19 13:44:49 2010 +0000

    MCELF: Count the section orders properly. Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111517 91177308-0d34-0410-b5e6-96231b3b80d8

commit e024196ff71945ba3d385944d9f6c57333a511a5
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Thu Aug 19 12:42:38 2010 +0000

    Fixed and reactivated a partial specialization test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f06f60f40e3c9679655e5a0a18ac7353b922888
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Aug 19 06:11:05 2010 +0000

    Use std::string instead of StringRef in ClangAttrEmitter.cpp; per report on
    cfe-dev, fixes an error compiling with MSVC.  Using a StringRef here doesn't
    look safe in any case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 231bcf4da15bbf222188e6ea64bd75e428c854c3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 19 02:47:08 2010 +0000

    Update local stack block allocation to let PEI do the allocs if no additional
    base registers were required. This will allow for slightly better packing
    of the locals when alignment padding is necessary after callee saved registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35eed7279016bdece7fe7a1f57991ab571a4fb57
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 19 01:29:07 2010 +0000

    Revert r111199; it breaks -debug-pass=Structure output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4af433bd7175951199434696d796cd0184fd5a74
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 19 01:25:50 2010 +0000

    Reapply the virtual register patch from 109102. The places where we were
    depending on the number of virtual registers appear to have all been handled
    now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 438646171640418825ed037db1cb0914701aeb31
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 19 01:18:43 2010 +0000

    fix PR7465, mishandling of lcall and ljmp: intersegment long
    call and jumps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27f758ea0ed62a38099988b70c94579cb2e41ecb
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 19 01:02:31 2010 +0000

    Process the step before the start, because it's usually the simpler
    of the two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a5aadfe1cfc685357ba6df2304969c95db48f91
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 19 01:00:34 2010 +0000

    minor progress towards fixing PR7465

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111494 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd88bcba9ae9825e870db35cf45ae0fb3582ae27
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 19 00:37:05 2010 +0000

    Add an AddOptionalDefs method and use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f4ab139d00c4fb9216801d826a1306cb4598db3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 19 00:22:45 2010 +0000

    lit/GoogleTest: Add .exe to the suffix when looking for tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3feec8ea594ed7b181afc496a8a038ee3b662c8e
Author: Sena Hunt <rideau3@gmail.com>
Date:   Thu Aug 19 00:19:03 2010 +0000

    Add include missing for VC build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111484 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb663c42fa7ddd1ede5a5bba1b8ed1fde257fd82
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Aug 19 00:09:07 2010 +0000

    Testcase for llvm-gcc checkin 111482.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59ddec1ae533dc299078d953e838a75ffce334b3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 19 00:05:48 2010 +0000

    Add the "isCompare" attribute to the defm instead of each individual instr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27811edb3a9422f1f74f1adfd302ce153010f84b
Author: Sena Hunt <rideau3@gmail.com>
Date:   Thu Aug 19 00:03:05 2010 +0000

    Remove three spurious semicolons

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111480 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb5ac7460a1ffdb8a4bad0779f7ba8e6483a43d1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 23:56:46 2010 +0000

    Don't call Predicate_* in Mips.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b8c0255cd687fcff61653878609731af9f1df66
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 18 23:38:16 2010 +0000

    Remove extra header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111456 91177308-0d34-0410-b5e6-96231b3b80d8

commit b768608bd82dea4353b498f9c9337c3d27264391
Author: Sena Hunt <rideau3@gmail.com>
Date:   Wed Aug 18 23:23:09 2010 +0000

    Finish full attribute class emission for clang.

    For more information, see the accompanying clang patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c58f365457732b90a074902bb2fde3742885e23
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 18 23:14:02 2010 +0000

    Add a newline to debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111453 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2bb843f09b9573b16cca6001af54f3691f0e9cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 23:09:49 2010 +0000

    refix PR1143 by making basicaa analyze zexts of indices aggresively,
    which I broke with a recent patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03ed528fecc6685729e5e48f501e9c412c396447
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 18 23:09:25 2010 +0000

    If any def of a machine-sink candidate has local uses, it's obviously not safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e2c7da0d1611458a7ea45728f1ce86b4096aa73
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 22:52:09 2010 +0000

    GetLinearExpression is only called when TD is non-null, pass as
    a reference instead of pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111445 91177308-0d34-0410-b5e6-96231b3b80d8

commit a43076100c7a36307ee6ededaeb96c84e18bd6c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 22:47:56 2010 +0000

    rework GEP decomposition to make a new VariableGEPIndex struct instead of
    using a pair.  This tidies up the code a bit.  While setting things up, add
    a (currently unused) field to keep track of how the value is extended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65db4282654aca4a80b8a268948c7b32ca5a7c92
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 18 22:44:49 2010 +0000

    Enable ARM base register reuse to local stack slot allocation. Whenever a new
    frame index reference to an object in the local block is seen, check if
    it's near enough to any previously allocaated base register to re-use.

    rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95c34d4a70db1e2bced8fd75ba501dcbc49d46db
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 22:35:56 2010 +0000

    Add a testcase to verify that commands don't crash when they hit
    errors on stderr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111440 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5ee9b2e7a0a2f07570a31be28706ff8a66d4607
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 22:26:19 2010 +0000

    Make raw_fd_ostream consider itself the owner of STDOUT_FILENO when
    constructed with an output filename of "-". In particular, allow the
    file descriptor to be closed, and close the file descriptor in the
    destructor if it hasn't been explicitly closed already, to ensure
    that any write errors are detected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111436 91177308-0d34-0410-b5e6-96231b3b80d8

commit f989e405c475268a5e2cf86775cfa9e39553cab4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 22:22:44 2010 +0000

    When sending stats output to stdout for grepping, don't emit normal
    output to standard output also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111435 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3da0019578695463932428a45c53c7ef317dd21
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 22:07:29 2010 +0000

    move gep decomposition out of ValueTracking into BasicAA.  The form of
    decomposition that it is doing is very basicaa specific and is only used
    by basicaa.

    Now with less tree breakingness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08b7a663d359a8851f9c1efcdd5998a00db17619
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 22:04:43 2010 +0000

    Tidy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 827207276a5b1799825dc10dd1354e056776858b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 18 21:32:07 2010 +0000

    Minor simplification. Gets rid of a needless temporary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ec32ff5c3bad4b1d4ef4a4ed19c3af6f6e2fce8
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 18 21:11:37 2010 +0000

    Use ConstantRange to propagate information through value definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111425 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff7a4d331fcbdbccb34e95eacf484a208df659cf
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 20:32:46 2010 +0000

    When sending stats output to stdout for grepping, don't emit normal
    output to standard output also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60e08f7521d39bddf7c3508d2d2b3865a57a4269
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 20:29:53 2010 +0000

    Thinking about it, we don't need MachineDominatorTree after all. The DomValue
    map discovers the iterated dominance frontier for free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111400 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce8fca142aae543c53c5e3bcecb29ec686c8accb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 20:16:39 2010 +0000

    Introduce a ScopedFatalErrorHandler class to make it easy to register
    fatal error handlers which automatically get unregistered at the end
    of a scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111398 91177308-0d34-0410-b5e6-96231b3b80d8

commit de75c84fe46138e5378ce7f7cc4a594f0f1b912e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 20:06:05 2010 +0000

    Revert r111394. It was too aggressive.

    We must complete the DFS, otherwise we might miss needed phi-defs, and
    prematurely color live ranges with a non-dominating value.

    This is not a big deal since we get to color more of the CFG and the next
    mapValue call will be faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111397 91177308-0d34-0410-b5e6-96231b3b80d8

commit 458a46830fefd8a66ec35bacbcb692259b10cae8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 19:00:11 2010 +0000

    Aggressively prune the DFS when inserting phi-defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111394 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7bf1f135dcbb144673600cf951fbf5b04d6580b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 19:00:08 2010 +0000

    Add the LiveIntervalMap class. Don't hook it up yet.

    LiveIntervalMap maps values from a parent LiveInterval to a child interval that
    is a strict subset. It will create phi-def values as needed to preserve the
    VNInfo SSA form in the child interval.

    This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with
    enough differences that the code can't be reused:

    - We don't need to manipulate PHI instructions.
    - LiveIntervals have kills.
    - We have MachineDominatorTree.
    - We can use df_iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111393 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56b1afadd46e914dbf4ea00d48bde49cc5caa662
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 19:00:05 2010 +0000

    Add df_iterator::getPathLength and getPath as a way of getting a path from the
    entry node to the current node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111392 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad2b0fecb47812bc8e843414223b0199f78cafab
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 18 18:43:08 2010 +0000

    Revert r111375, "move gep decomposition out of ValueTracking into BasicAA.  The
    form of", it doesn't pass tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfdccf0dfbd9286476e3cc87498f845af86543a8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 18 18:41:13 2010 +0000

    Improve whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111384 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2792e04e60eff90967478fa1ecfef821132f482
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 18 18:40:57 2010 +0000

    Marked with ATTRIBUTE_USED so that clang doesn't complain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111383 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6829486ab22e050107689000c974bb2ab7d2a85
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 18 18:39:01 2010 +0000

    Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb06f157d4ccc2ca81c763fb2d23b631ccf6155c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 18 18:22:37 2010 +0000

    MC/ELF: Allow null values in virtual sections, ELF doesn't use special
    directives for putting contents in .bss, for example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111376 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7c0a703ed8621a8ed1ec39ab5f9103ed8ca5907
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 18:22:17 2010 +0000

    move gep decomposition out of ValueTracking into BasicAA.  The form of
    decomposition that it is doing is very basicaa specific and is only used
    by basicaa.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94977adb6c5e67c85d8810d72aab836778a979dc
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 18 17:57:37 2010 +0000

    Add hook for re-using virtual base registers for local stack slot access.
    Nothing fancy, just ask the target if any currently available base reg
    is in range for the instruction under consideration and use the first one
    that is. Placeholder ARM implementation simply returns false for now.

    ongoing saga of rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5de51477abd8c57434691986e7ffaddb79d69fc1
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:55:15 2010 +0000

    Eliminate some redundancy by relying on raw_fd_ostream to handle "-"
    properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111373 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6c64a0b953864f932dd2878d24ae5c3988dc6c0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:42:59 2010 +0000

    Allow the -analyze option to follow the -o option, which defaults to
    standard output, instead of just hardcoding outs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fa68da667a3b74a563db3485caa8088fdd8bd79
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:40:10 2010 +0000

    Don't translate "-" to outs() manually; raw_ostream does that automatically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111371 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8c9495fa7fcf1386a866551e1e9d1db64c92ece
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:26:50 2010 +0000

    Don't translate "-" to outs() manually; raw_ostream does that
    automatically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e3005406d5eb4380a062906b2e7b289e48a34ec
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:21:42 2010 +0000

    Don't register stdout to be deleted on a signal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111368 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1f2fb410b23951741f7f20dd56d0acd48a1ef87
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 17:20:51 2010 +0000

    Remove an unused command-line option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a0250d46a932b459c7617b1c65cc07070b07b3b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 18 16:09:47 2010 +0000

    Preserve subregs on PHI source operands. Patch by Krister Wombell!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 753f72f3561f9c8aed597bca686ff0f0edf27e65
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Aug 18 10:20:29 2010 +0000

    Fix a bug with insertelement on SPU.
    The previous algorithm in LowerVECTOR_SHUFFLE
    didn't check all requirements for "monotonic" shuffles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4970511c8d8704fc4eb5cd98bed29fcc339c80f3
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Aug 18 10:04:39 2010 +0000

    Remove all traces of v2[i,f]32 on SPU.

    The "half vectors" are now widened to full size by the legalizer.
    The only exception is in parameter passing, where half vectors are
    expanded. This causes changes to some dejagnu tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d6598ca0264d929755cb45f31d3b553f66787a6
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Aug 18 09:50:30 2010 +0000

    Change SPU C calling convention to match that described in
    "SPU Application Binary Interface Specification, v1.9" by
    IBM.
    Specifically: use r3-r74 to pass parameters and the return value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c0a0b27c44e27dbfc82ae2e524053ece9da5428
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 04:55:12 2010 +0000

    fix a buggy test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e5dcaab4a98ac75ee6c50cfbe5756b738b4e5e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 04:28:19 2010 +0000

    fix PR7589: In brief:
      gep P, (zext x) != gep P, (sext x)

    DecomposeGEPExpression was getting this wrong, confusing
    basicaa.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07ae3ecb335cf2e7bd0d6a145061699f8a22d08d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 04:25:43 2010 +0000

    filecheckize and detrivialize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111350 91177308-0d34-0410-b5e6-96231b3b80d8

commit dca8b96169ae68ddab595f575308a44bfd6a7a01
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 03:14:36 2010 +0000

    Fix PR7755: knowing something about an inval for a pred
    from the LHS should disable reconsidering that pred on the
    RHS.  However, knowing something about the pred on the RHS
    shouldn't disable subsequent additions on the RHS from
    happening.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49da937d26abe0c2b47d701f7dcb126b6274f09e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 03:13:35 2010 +0000

    fit in 80 cols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 244b72e3c7e71fd790d66969c14cf4236c509b86
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 02:42:11 2010 +0000

    remove some dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e892ad25bbe8985fa9bb1295aae06a46f9a9c59
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 02:41:56 2010 +0000

    remove some dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111344 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74ef5a80d5fbe9668388a06a0ef6355826b92494
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 02:40:44 2010 +0000

    remove some code that is dead now that lea's are modeled with segment registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111343 91177308-0d34-0410-b5e6-96231b3b80d8

commit b38591c1bf32331150386c35385d3aa92561faf7
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 02:37:06 2010 +0000

    remove dead prototype.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111342 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0223c78964653bc92d7ef8abfff104bf6f5a9a0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 18 01:45:52 2010 +0000

    Expand ZERO_EXTEND operations for NEON vector types.
    Testcase from Nick Lewycky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111341 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdebec6138e3d04c75ec86edb804ed26d2b8d36f
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 01:35:53 2010 +0000

    Fix the "Finished Creating" messages for aliases to print the
    right name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88d021070d4a2ed0092b27cd644cce1a645bd3ad
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 18 01:34:52 2010 +0000

    Revert r111321. This doesn't fix a problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55a3bf524912c5c9fdf8fe47e9deddf3d192c10b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 00:33:47 2010 +0000

    stomp some more undefined behavior, PR7775.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111337 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0bcec3b5d353caae59c7a96bbeb2c68002f603
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 00:29:18 2010 +0000

    don't emit zero bit fields with Emit, fixing undefined behavior,
    PR7778

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b231592f467e80df3a9bee594fe01030aa0c6d0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 18 00:11:25 2010 +0000

    Don't pass in a null pointer to std::string's ctor, an empty string
    ref should produce an empty std::string.  This fixes PR7879.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 346e966e12199365031a0fea03b66a38469c60ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 23:26:04 2010 +0000

    fix a broken link

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3306a8fed1731c07bc25f01cde884d3d06f421d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 23:22:10 2010 +0000

    include config.h to get config params, hopefully unbreaking mingw builder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 051aa62fcc8227d9811d72c88f49c1a310196b7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 23:11:56 2010 +0000

    Fix the rest of rdar://8318441 which happens when a raw_fd_ostream
    (e.g. errs()) fails in close() due to (e.g.) a broken pipe.  As
    previously written, the had_error() flag would get set and then
    the raw_ostream dtor would report a fatal error.  There is nothing
    the client can do about this and we have no way to report the error,
    so just eat it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b0474d516a1d84a89b187e394bf8f4a461e8289
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 23:03:53 2010 +0000

    report_fatal_error can't use errs(), because errs() can call
    into report_fatal_error.  Just blast the string to stderr with write(2)
    and hope for the best!  Part of rdar://8318441

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111320 91177308-0d34-0410-b5e6-96231b3b80d8

commit b028e819a29c5e753f3eedc8edc72830e4059fc3
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 17 22:55:27 2010 +0000

    Temporarily revert r110987 as it's causing some miscompares in
    vector heavy code.  I'll re-enable when we've tracked down the problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111318 91177308-0d34-0410-b5e6-96231b3b80d8

commit e74a32feae54e167401661ffd4f7f63aed2d6a43
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 17 22:50:37 2010 +0000

    Tweak IVUsers' concept of "interesting" to exclude add recurrences
    where the step value is an induction variable from an outer loop, to
    avoid trouble trying to re-expand such expressions. This effectively
    hides such expressions from indvars and lsr, which prevents them
    from getting into trouble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c826dda417cb34b30d5cd7d1161bd0f3621e02f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 22:41:55 2010 +0000

    Add materialization of virtual base registers for frame indices allocated into
    the local block. Resolve references to those indices to a new base register.
    For simplification and testing purposes, a new virtual base register is
    allocated for each frame index being resolved. The result is truly horrible,
    but correct, code that's good for exercising the new code paths.

    Next up is adding thumb1 support, which should be very simple. Following that
    will be adding base register re-use and implementing a reasonable ARM
    heuristic for when a virtual base register should be generated at all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111315 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd32bf5b2f7e9edc8133cbff3a578a4de1182683
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 22:35:20 2010 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111312 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57abd953f61c85fcfb5fda93283412e0f31434f6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 17 22:32:39 2010 +0000

    CrashRecovery: Clear the current context on the first crash, to avoid re-entering it if the cleanup code crashes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85ee980009cdc9a06c3fd6af430d01e02c0306cf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 17 22:32:37 2010 +0000

    CrashRecovery: Add CrashRecoveryContext::GetCurrent(), so clients can find the active context from anywhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111308 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb96e3dd054c0ea95c28b39b21be0123bd05da43
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 17 22:32:34 2010 +0000

    CrashRecovery: Make CrashRecoveryContext static methods thread safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fe103b96035a431300d87f1c37a8c53a64fb0cb
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Aug 17 22:17:24 2010 +0000

    Make fast scheduler handle asm clobbers correctly.
    PR 7882.  Follows suggestion by Amaury Pouly, thanks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 406eedc8b578a42774da02671cc18d9df1d7debb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 21:08:28 2010 +0000

    Revert part of one of the prev. patches - tailjmp will follow later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111291 91177308-0d34-0410-b5e6-96231b3b80d8

commit e31ced0473312bec251bdf3350861aad9c590140
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 21:06:07 2010 +0000

    More fixes for win64:
      - Do not clobber al during variadic calls, this is AMD64 ABI-only feature
      - Emit wincall64, where necessary
    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111289 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5c76b469497e87f558c7ddec286334fd0a9a678
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 21:06:01 2010 +0000

    Enable more win64 calls folding opportunities.
    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28fcc3ab8421b6c186f9cf0d764f22c73d089e9d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 21:05:54 2010 +0000

    Add some win64 coff goodness.
    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f5d561ed6f3a8d4a92f0922fc25728c7eac1003
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 21:00:37 2010 +0000

    PHI elimination shouldn't require machineloopinfo since it's used at -O0. Move the requirement to LiveIntervalAnalysis instead. Note this does not change the number of times machineloopinfo is computed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111285 91177308-0d34-0410-b5e6-96231b3b80d8

commit aec767aaa8f0e707850c7cd79457c8271943b387
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 20:57:42 2010 +0000

    Machine CSE preserves CFG. Pass manager was freeing machineloopinfo after machine cse before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111281 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4860506781bff56d1a70f7379aca0dca948662f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 17 20:39:04 2010 +0000

    Don't call tablegen'ed Predicate_* functions in the ARM target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111277 91177308-0d34-0410-b5e6-96231b3b80d8

commit d224414cb60895333fd2c87110382358f88ae446
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 20:21:30 2010 +0000

    silence warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111274 91177308-0d34-0410-b5e6-96231b3b80d8

commit c43f9d6b442bb4982e2b14439e6c5ee7a5ca58ab
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 19:45:05 2010 +0000

    Remove dead code. Fixes a GCC warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111271 91177308-0d34-0410-b5e6-96231b3b80d8

commit a08e16df47e56b197c5344b8e58ef8f2c1e5a430
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 19:34:40 2010 +0000

    This patch enables "make unittests" on enable-shared/mingw.
    Patch by Takumi Nakamura!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d9d912ec020fd9c657aad715a34087aded7ab39
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 17 19:03:03 2010 +0000

    This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
    Patch by Takumi Nakamura!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111268 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7fd48d3203472834249b8781a781c24b934c6af
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 18:39:16 2010 +0000

    80 column cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111266 91177308-0d34-0410-b5e6-96231b3b80d8

commit a157410db8567452718033b3a059f23e9372a556
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 18:20:28 2010 +0000

    Sketch i386 relocations handling, from Roman Divacky.

    Hello world builds & runs now on i386/ELF with -integrated-as.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 257e83a4dbb8bae49520f7a0f82cdb406d613e9e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 17 18:17:12 2010 +0000

    Don't call Predicate_* methods directly from Sparc target.
    Modernize predicates a bit.

    The Predicate_* methods are not used by TableGen any longer. They are only
    emitted for the sake of legacy code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111263 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb488dcc614eff2ed801c3799918dc5e00ae82c8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 18:13:53 2010 +0000

    Add hook to examine an instruction referencing a frame index to determine
    whether to allocate a virtual frame base register to resolve the frame
    index reference in it. Implement a simple version for ARM to aid debugging.

    In LocalStackSlotAllocation, scan the function for frame index references
    to local frame indices and ask the target whether to allocate virtual
    frame base registers for any it encounters. Purely infrastructural for
    debug output. Next step is to actually allocate base registers, then add
    intelligent re-use of them.

    rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4751a78d22fe74ec2a0110ec0c07ba210f486e2a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 18:00:41 2010 +0000

    explicitly handle no-op cases for clarity. Fixes clang warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111260 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7dd8abc9ef55bcf2c8985cdbea68c3133281af2
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 17:56:13 2010 +0000

    Use the correct entry size for relocation entries, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ad395dc8f5811070611e019bc6aaa5324148b6b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 17:43:50 2010 +0000

    Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b7b390811b37e494fec8ce055f7e1fb0d18a285
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 17 17:39:21 2010 +0000

    When rotating loops, put the original header at the bottom of the
    loop, making the resulting loop significantly less ugly.  Also, zap
    its trivial PHI nodes, since it's easy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5652989a9bd581c7dae0ca37bd4d6f16fe723841
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Aug 17 17:37:22 2010 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111254 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb3b0864b59c16a055ac63795692c65c61cf9f3b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 17:30:07 2010 +0000

    Differentiate between RELA and REL relocations, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111252 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1d2beb75fad856ab82ad5264ff5f9a6f33bd8bf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Aug 17 17:23:19 2010 +0000

    Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoid
    printing "lsl #0".  This fixes the remaining parts of pr7792.  Make
    corresponding changes for encoding/decoding these instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 705a6dd2dbb31dc718c414527d1e0d727acda5f2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 17:15:14 2010 +0000

    Fix debug message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111250 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef5fdd840728d2912935a07b0e3144aa4cda8a3b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 17:13:42 2010 +0000

    add some &nbsp;'s to a pre to avoid newlines being eaten
    and the formatting being thrown off.  I admit to not knowing
    what is going on here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111249 91177308-0d34-0410-b5e6-96231b3b80d8

commit e425f2218fe02459aa96463790a7bbe471622c04
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 17 17:07:02 2010 +0000

    Use the getUniquePredecessor() utility function, instead of doing
    what it does manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 995be4cca864d767514af218092ddf944f706a23
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 17:02:29 2010 +0000

    One baby step towards i386 ELF, from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ef3b9c095d695ee4bfcbcc31fcf44a8b4b2421d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 16:20:04 2010 +0000

    fix emacs language spec's, patch by Edmund Grimley-Evans!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07dfcac53242e4078136454507b7b74c4cf94bbc
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Aug 17 16:19:18 2010 +0000

    When creating a JIT, try to load the program so that we can resolve symbols
    against it. This affects Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26d92c185c026e5a686ffeffad6988b0454bea63
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 15:50:23 2010 +0000

    Revert r111230, we have to find a better place for the host-specific code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ae57970105783fab151f79d6b8969d2e32b591f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 17 15:42:43 2010 +0000

    Fix failure of unittests/ExecutionEngine/JIT/MultiJITTest.cpp on
    cygwin when built with ENABLE_SHARED=1.  Patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 691368fcd61f9efc1eeb420654c4d9c73c6f086b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 13:55:45 2010 +0000

    Micro-optimize MCObjectWriter to do a byteswap if necessary and then write the
    whole integer to the stream instead of doing byte-sized writes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 477530bfe43076630a27dc0af165d595bb9f54f9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 11:45:38 2010 +0000

    There is this new "LLVM" compiler that supports __builtin_bswap but thinks it's gcc 4.2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111228 91177308-0d34-0410-b5e6-96231b3b80d8

commit be21892cfbd599a322c9a2524cc7d9e6112bc8a3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Aug 17 05:54:34 2010 +0000

    Allow more cases of undef shuffle indices and add tests for them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2426863757be2b057e92c71f27b4112a4edd3d29
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 01:34:49 2010 +0000

    Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4964b0368f74bb43908a66e01ca13cf7d8635634
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 17 01:30:33 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111223 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8f72fa365ceb0d3987e953b50297b5de25ccb49
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 17 01:25:29 2010 +0000

    Copy over some overridden MI wrappers for ARM fast-isel.  This is where
    we're adding predicates and optional defs to the MachineInstrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111222 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8d7766efb9c61c90f50d682d945402f68db0c1d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 17 01:20:36 2010 +0000

    PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994

    good:
    LBB0_2:
      mov     r2, r0
      . . .
      mov     r1, r2
      bne     LBB0_2

    bad:
    LBB0_2:
      mov     r2, r0
      . . .
    @ BB#3:
      mov     r1, r2
      b       LBB0_2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111221 91177308-0d34-0410-b5e6-96231b3b80d8

commit db09fb5b15977a31516f293a5c50d8e88d689e83
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 17 01:18:37 2010 +0000

    Remove predicate workaround, we're going to require that predicate
    and optional def operands are handled in the backend support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111220 91177308-0d34-0410-b5e6-96231b3b80d8

commit 445cd611a4149098cc353a8f9dbee3a4d32dc66c
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 17 00:46:57 2010 +0000

    Make arm fast-isel possible to enable via command line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111219 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e07966374030a4b1dabbefc9a37e5d5b4a4310c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 00:33:24 2010 +0000

    Try to silence a overeager GCC warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ed9c7506512f5d6626e32236d9ad79ff8c23ba6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Aug 17 00:00:46 2010 +0000

    A round of minor cleanups for ELFObjectWriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24c939c192eb1ec0e2d03389f53b3596d787dcba
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 23:44:29 2010 +0000

    Add a testcase for svn 111208.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 558a04b11a5a847cb830aaab5c146e201a9bcaef
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 16 23:42:33 2010 +0000

    Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111210 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42d06044ac53f7f281544b20f0d52abc499bf66f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 23:37:17 2010 +0000

    Ignore undef shuffle indices when checking for a VTRN shuffle.  Radar 8290937.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 420c527140accae379de12c26b27c50bcf42509b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 16 23:26:09 2010 +0000

    tidy up. remove unused local.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111206 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb28f3ba55f5424d11238b2c1507e8d69f71c508
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 16 23:00:12 2010 +0000

    Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46af39f44fe3a9a2328c34f82194728c9c08979e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 22:57:28 2010 +0000

    The plural of analysis is analyses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111200 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9dc447a64006c15f772c54c81c3c958315fb2b2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 22:45:12 2010 +0000

    Make dumpPassStructure be a PMDataManager abstraction, rather than
    a Pass abstraction, since that's the level it's actually used at.
    Rename Pass' dumpPassStructure to dumpPass.

    This eliminates an awkward use of getAsPass() to convert a PMDataManager*
    into a Pass* just to permit a dumpPassStructure call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d573d1b255a7e06a0d59b44c3021dcfdb940006
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 16 22:30:41 2010 +0000

    Better handle alignment requirements for local objects in pre-regalloc frame
    mapping. Have the local block track its alignment requirement, and then
    apply that when the block itself is allocated. Previously, offsets could
    get adjusted in PEI to be different, relative to one another, than the
    block allocation thought they would be, which defeats the point of doing
    the allocation this way. Continuing rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a828ea541e04f79040d7137511f06c960a17587
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 22:26:55 2010 +0000

    Generalize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
    that the high halfword is zero.  The shift need not be exactly 16 bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fc409c5f47c4e3deac9e75353a7445641ee0218
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 22:21:13 2010 +0000

    Convert test to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e8a9b9cfaece48b2da4dae3e8c761a1ce0f294e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 22:03:47 2010 +0000

    Make some of PMTopLevelManager's members non-public. In particular,
    make its constructor protected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111193 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4ef72bdbfc4433d0812cdb57c60afe8090ab98a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 21:57:30 2010 +0000

    Remove redundant inline keywords.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111192 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcdf8e4efecd07af01332f914bb55b9515aa1947
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 21:38:42 2010 +0000

    Eliminate the TopLevelManagerType enum; instead, just make
    PMTopLevelManager's constructor take a PMDataManager *, which already
    provides the needed abstraction support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111189 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9ffd788e9b8c3a7139d1f28cc4d01c898da9fd8
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 16 21:18:51 2010 +0000

    Comment out some broken/unused/useless instructions which mess up disassembly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20fae158a4cb1fa8a95866a7ae113844267bd962
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 16 21:17:09 2010 +0000

    Fixes for generation of ELF relocations.  Patch by Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e1c97893c9cf90fa35467dc9eabe8bf1c2773e0
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 16 21:03:32 2010 +0000

    Don't attempt to SimplifyShortMoveForm in 64-bit mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111182 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7e2fe56d97eed5054d8878cba818e5f93abf780
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 16 20:08:40 2010 +0000

    Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
    emission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba9b2a434b38e376824522689caaa9323c14dbfb
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 16 19:15:06 2010 +0000

    Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175 91177308-0d34-0410-b5e6-96231b3b80d8

commit de8febb1d5b15e72516b3415f19fd08f5418751a
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:57:57 2010 +0000

    Add ELF ObjectWriter and Streamer support.

    I forgot to add these files in commit 111172.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f8902d196d94c3a081e253ead1d573e11cc72ab
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:36:14 2010 +0000

    Hookup ELF support for X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111173 91177308-0d34-0410-b5e6-96231b3b80d8

commit de88526f917c533b3da409c3a9e602b8e80028ac
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:35:43 2010 +0000

    Add ELF ObjectWriter and Streamer support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111172 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3cb5b963e0e4649b6c5afb402ff89cb92ba6647
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:35:06 2010 +0000

    Layout helper function.

    Introduce a helper method to add a section to the end of a layout. This
    will be used by the ELF ObjectWriter code to add the metadata sections
    (symbol table, etc) to the end of an object file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111171 91177308-0d34-0410-b5e6-96231b3b80d8

commit aed93f3009b6b3097d3a63e0cb2f0083a0379b21
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:34:31 2010 +0000

    Record a symbol's size which is needed for ELF symbol tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5223d095f77ed8260fa8e30ecf34bd599cfd3f55
Author: Matt Fleming <matt@console-pimps.org>
Date:   Mon Aug 16 18:33:46 2010 +0000

    ELF entry size support.

    Some ELF sections contain fixed-sized entries. Provide a way to record
    the entry size of a section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111169 91177308-0d34-0410-b5e6-96231b3b80d8

commit 158a79f632403eb29339d68c20999e202d02f7ad
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 18:27:34 2010 +0000

    Rename sat_shift operand to shift_imm, in preparation for using it for other
    instructions besides saturate instructions.  No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99ecbe1d84f4ac60749decf6c19b70994b296105
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Aug 16 18:24:54 2010 +0000

    Partially revert r111155. It looks like MSVC is calling an operator<() that
    clang says is unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e0c0cc248a22b7633065d7952625476bd3a7b03
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 16 18:06:15 2010 +0000

    track local frame size in MFI, not local to the pass, since PEI needs it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84cdef4c361b0cdd61a5cf35913a90dce8c424d2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 17:34:25 2010 +0000

    Revert r111031. The way LLVM defines loop invariance, the property of an
    expression being loop invariant is not equivalent to the property of
    properly dominating the loop header.

    Other optimizations have also made this optimization less important.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 165b896af4c3293e8bd375307b6450aef1e81cd2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Aug 16 17:18:20 2010 +0000

    Remove unused functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 635d9dcf0f3337cb69789c91ad970fb4c868c6da
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Aug 16 17:18:18 2010 +0000

    Remove unused functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111155 91177308-0d34-0410-b5e6-96231b3b80d8

commit c13b37b350c923df567cd6abf0ce7ca6f4ef228e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 17:06:03 2010 +0000

    Remove unused code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4628060b3c8a05c3892aa1b11e15d8d7ce93091f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 17:05:27 2010 +0000

    Convert a test to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111153 91177308-0d34-0410-b5e6-96231b3b80d8

commit f497f1603c8383431a54578729efdca845e649d4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 17:01:55 2010 +0000

    Placate overzealous compiler warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9366ea156057ebb067c7edb059253358e7107122
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:57:24 2010 +0000

    To create a copy of a SmallVector with an element removed from the
    middle, copy the elements in two groups, rather than copying all the
    elements and then doing an erase on the middle of the result. These
    are SmallVectors, so we shouldn't expect to hit dynamic allocation
    in the common case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111151 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9415cc3d12107879d400add9fb3280834c3fa0b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 16 16:39:59 2010 +0000

    Install Embedded builds into usr/local.  Radar 8313723.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111149 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d07590997aa3d314ba696ab9c8963a9e1bd18b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 16 16:35:20 2010 +0000

    silence a vc2010 warning: " result of 32-bit shift implicitly converted to
    64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111148 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad165bb982869c4169cd82df789ef562661c89f8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:34:09 2010 +0000

    Tidy whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9666621029d9d35f3eb0b0a47106b508e77f80ec
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:31:39 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111145 91177308-0d34-0410-b5e6-96231b3b80d8

commit eff1a8ced861ed645f01295d9930417354fbf293
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:30:01 2010 +0000

    Use const_iterator in a few places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e9b45d6dc487093e4a5d8c908b42043fe4a2b89
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:27:53 2010 +0000

    Use iterators instead of indices in a few more places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ee59e8497829227a906934a74e8f0cea740cf9e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:25:35 2010 +0000

    Micro-optimize SCEVConstant comparison.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111142 91177308-0d34-0410-b5e6-96231b3b80d8

commit aecac32a7a68603420503dcb0749645bc9a8fe2e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:21:27 2010 +0000

    Move SCEVNAryExpr's virtual member functions out of line, and convert
    them to iterators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8

commit eff122bcba388561d81824a7bd44649eba5ff683
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:16:11 2010 +0000

    Use iterators instead of indices in simple cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111138 91177308-0d34-0410-b5e6-96231b3b80d8

commit e581c49d01e60786e8b36adeda2e387d5c7cc583
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:13:54 2010 +0000

    Avoid gratuitous inefficiency in ifndef NDEBUG code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d54f85ad07cf5cdef8b4149ee5e0a3270e337b5
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 16:03:49 2010 +0000

    Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one
    for each add instruction. Ditto for Mul.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111136 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e82a118bb005f10a5c8681b519491fdf58d0343
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:57:14 2010 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 062689b548bfe7ed8b1b35e3da9b9ee159e48e8a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:50:00 2010 +0000

    Instead of having CollectSubexpr's categorize operands as interesting or
    uninteresting, just put all the operands on one list and make
    GenerateReassociations make the decision about what's interesting.
    This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111133 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0df04bbf0833383d0847f2bb3a5bf4bb7ee5b0f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:39:27 2010 +0000

    Put add operands in ScalarEvolution-canonical order, when convenient.
    This isn't necessary, because ScalarEvolution sorts them anyway,
    but it's tidier this way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a5db46c1a5c0b539204a2192ee94bc46f2471e9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:31:45 2010 +0000

    Specialize FoldingSetTrait<SCEV>, providing implementations of node
    comparison and hash computation which don't require constructing
    temporary ID values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111131 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2d4a7583e8e77933d242776239bcb40da797268
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:30:39 2010 +0000

    Add hooks to FoldingSetTrait to allow specializations to provide
    implementations of equality comparison and hash computation. This
    can be used to optimize node lookup by avoiding creating lots of
    temporary ID values just for hashing and comparison purposes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111130 91177308-0d34-0410-b5e6-96231b3b80d8

commit b500e2144933ca7556f0824292b8e233b399f4cd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:04:39 2010 +0000

    Tidy up whitespace in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111129 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2b04415c59831702c0f6c5d4f42380944b5e1e0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 15:03:24 2010 +0000

    Constify FoldingSetNodeIDRef's Data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89f0088837bcdcde73bdb6fc97acb732f1788e8a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 14:53:42 2010 +0000

    Reverse the order of GetNodeProfile's arguments, for consistency
    with FoldingSetTrait::Profile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17f266b0afcff5cb9b125889a91a33b736dff62c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 14:45:36 2010 +0000

    Fix indentation in example code in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 128b93bf152990dad982730f19eea10514deb2e1
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 14:44:03 2010 +0000

    Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't
    actually use ScalarEvolution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111124 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b00897db3b5f4769bbb337551e2a689040d4a5e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 14:41:14 2010 +0000

    Instead, teach SimplifyCFG to trim non-address-taken blocks from
    indirectbr destination lists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 743d9881618aa502c129321c7d39755b3014f526
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 16 14:39:19 2010 +0000

    Revert r111058, the lint check for indirectbr successors that aren't
    address-taken. This can occur normally, if the code which took the
    address got DCEd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 709cb248533e4b887eff8d3ad6fdb3c1524de3d6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Aug 15 23:32:03 2010 +0000

    Test expects SSE, give him SSE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 358a51d3b2e3b8333c2d1951dbd6c1b9a4ce51b7
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Aug 15 22:14:42 2010 +0000

    Updated LLVMLibDeps.cmake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f067a8f024320168a377b7213510f9498914bb4
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Aug 15 22:14:36 2010 +0000

    CMake: Improved COMMENT on a custom command

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f0cc05284e9961a16d4394704276adf53e99435
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Aug 15 20:42:56 2010 +0000

    Restore arch on these test, they fail on arm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64701826383bbd2a35071f3dfe6ba2caa9aa096e
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun Aug 15 19:40:29 2010 +0000

    Mark as XFAIL on darwin 8.  PR 7886.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111108 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6dd1211d023aa0c2c4e88a3bb60b86449ffc2f7
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Aug 15 15:08:27 2010 +0000

    Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33915a62326d105220bbae3fe303b4d64b7da62a
Author: Argiris Kirtzidis <akyrtzi@gmail.com>
Date:   Sun Aug 15 10:27:23 2010 +0000

    Revert r111082. No warnings for this common pattern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c138e06f5a40546f2db816a10254d71c286828d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Aug 15 07:07:24 2010 +0000

    Update tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111096 91177308-0d34-0410-b5e6-96231b3b80d8

commit a486e1f1f9d9649039eb64c45f496c7a54581bc9
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Aug 15 07:07:17 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 401d97371b4bbe900fc82f14d17f3f3366143f18
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Aug 15 07:07:12 2010 +0000

    llvmc: remove dynamic plugins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb8b4274a0e90f892ec94fb15fd8dabc6cfba835
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Aug 14 21:51:50 2010 +0000

    Rework how the non-sse2 memory barrier is lowered so that the
    encoding is correct for the built-in assembler.

    Based on a patch from Chris.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111083 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6b717b237cd1a31b7053d5f1c25bcf049c1c0b0
Author: Argiris Kirtzidis <akyrtzi@gmail.com>
Date:   Sat Aug 14 21:35:10 2010 +0000

    Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f99495bc8af3cc2f80eca25314bcd277d8cb3ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Aug 14 17:26:09 2010 +0000

    improve indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111073 91177308-0d34-0410-b5e6-96231b3b80d8

commit f338a20a18e8bf2f6f5e54c3dc9cdfe84eece819
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Aug 14 03:18:29 2010 +0000

    T2I_rbin_irs rr variant is for disassembly only, so don't provide a pattern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fd3ffe5dcb0d596c3ae1d4512e9dc5fbcb337d5
Author: Ted Kremenek <kremenek@apple.com>
Date:   Sat Aug 14 01:55:09 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111063 91177308-0d34-0410-b5e6-96231b3b80d8

commit f724757aab248147ed7f1db3c6aad8e736bca6f6
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 14 00:43:09 2010 +0000

    LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111061 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22c03e248bdb2db1cf732c0a906717e6424f88e7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 14 00:29:42 2010 +0000

    Teach SimplifyCFG how to simplify indirectbr instructions.
     - Eliminate redundant successors.
     - Convert an indirectbr with one successor into a direct branch.

    Also, generalize SimplifyCFG to be able to be run on a function entry block.
    It knows quite a few simplifications which are applicable to the entry
    block, and it only needs a few checks to avoid trouble with the entry block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 738fe531d4c16f18cffd3ea97ecb066c667616c2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Aug 14 00:15:52 2010 +0000

    Add a local stack object block allocation pass. This is still an
    experimental pass that allocates locals relative to one another before
    register allocation and then assigns them to actual stack slots as a block
    later in PEI. This will eventually allow targets with limited index offset
    range to allocate additional base registers (not just FP and SP) to
    more efficiently reference locals, as well as handle situations where
    locals cannot be referenced via SP or FP at all (dynamic stack realignment
    together with variable sized objects, for example). It's currently
    incomplete and almost certainly buggy. Work in progress.

    Disabled by default and gated via the -enable-local-stack-alloc command
    line option.

    rdar://8277890

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111059 91177308-0d34-0410-b5e6-96231b3b80d8

commit b80aff15bf3dbd16d769a9797979a7cc7f082587
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 23:56:28 2010 +0000

    Add a lint check for an indirectbr destination which has not
    had its address taken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111058 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc353cc79f6740609a467e72200957a39bce74eb
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 13 23:24:25 2010 +0000

    Add a Thumb2 t2RSBrr instruction for disassembly only.
    This fixes another part of PR7792.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 520994f4c709aef475f38219b7611bb94cb2e91b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 13 22:56:53 2010 +0000

    Clean up the Spiller.h interface.

    The earliestStart argument is entirely specific to linear scan allocation, and
    can be easily calculated by RegAllocLinearScan.

    Replace std::vector with SmallVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111055 91177308-0d34-0410-b5e6-96231b3b80d8

commit b924b99c3245b8be06033d1e07cc793b7b9d8210
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 13 22:43:33 2010 +0000

    Temporarily disable tail calls on ARM to work around some linker problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111050 91177308-0d34-0410-b5e6-96231b3b80d8

commit d835339fc65a308abdaf33bb984f1a110f470f3b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 13 21:48:10 2010 +0000

    Move the Thumb2 SSAT and USAT optional shift operator out of the
    instruction opcode.  This fixes part of PR7792.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80257a487c57704a3f2009bbad1c49e71c759f11
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 21:24:58 2010 +0000

    Various optimizations. Don't compare two loops' depths
    when they are the same loop. Don't compare two instructions'
    loop depths when they are in the same block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d4bbd2e1b8d6ab6aed4794b8901c75939033c2d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 13 21:18:48 2010 +0000

    Implement splitting inside a single block.

    When a live range is contained a single block, we can split it around
    instruction clusters. The current approach is very primitive, splitting before
    and after the largest gap between uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 875e32821587a06c06faba5ed1a94a7b6b7d6cff
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 21:17:19 2010 +0000

    Fix LSR's ExtractImmediate and ExtractSymbol to avoid calling
    ScalarEvolution::getAddExpr, which can be pretty expensive, when nothing
    has changed, which is pretty common.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c2f62a65c61982d8496670b138692aeb2d95c01
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 13 20:39:01 2010 +0000

    Add comments to some pattern fragments in x86

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9749d377165ab58286df6efb6f95992a71eb68a8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 13 20:32:35 2010 +0000

    tidy up comments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111040 91177308-0d34-0410-b5e6-96231b3b80d8

commit af32f640af0d14cbe23b7df7125ec8bc31f40dc0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 20:23:25 2010 +0000

    When testing whether one loop contains another, test this directly
    rather than testing whether the loop contains the other's header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16feb1efb3c6fcc4f79ef2f86fc15a7efe62bb5d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 20:17:27 2010 +0000

    Add a const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0387e14b1f56b8ac73c86610fbed2e5c8aa17b2d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 20:17:14 2010 +0000

    When creating a symmetric SCEV with a constant operand, put
    the constant operand on the left, as that's where ScalarEvolution
    will end up canonicalizing to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25a44bc0d036b1d8bd2f8cdac53b9b8247b86caf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 20:11:39 2010 +0000

    An add recurrence is loop-invariant in any loop inside of its
    associated loop. This avoids potentially expensive traversals
    of the add recurrence's operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37697904abe91c6a46751a4eb977c02a5167cc14
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 13 20:08:59 2010 +0000

    tidy up 80 column and whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111033 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc7df3ed32c056d6fe57fa3046eaa602805f03a1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 20:08:53 2010 +0000

    Revert r111007.

    Apparently, this is now fixed in Clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111032 91177308-0d34-0410-b5e6-96231b3b80d8

commit a26588b8d82f60113d8ebb7958a2f1b9d812c0aa
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 13 20:03:15 2010 +0000

    Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators,
    since they can support trivial implementations. This avoids potentially
    expensive traversals of the operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111031 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae3b60df7bd6f4605036ca4dfc6e9e38510cb506
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 13 19:04:21 2010 +0000

    Refactor the code for disassembling Thumb2 saturate instructions along the
    same lines as the change I made for ARM saturate instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111029 91177308-0d34-0410-b5e6-96231b3b80d8

commit d05aa152551b4b0f2b0dc68b8083478e14a5651d
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Aug 13 18:43:45 2010 +0000

    Revert 110491.  While not wrong, it was based on a
    misanalysis and is undesirable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111028 91177308-0d34-0410-b5e6-96231b3b80d8

commit ceb6a19b9bc8edb0788e22bab6e97f8e64cf6da4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 13 17:50:47 2010 +0000

    Fix comment to reflect code, and remove an unused argument

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111022 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8544bd543066ab3d61fe5b6f0845304cda51711
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 13 17:44:10 2010 +0000

    Improve comment to make explicit why not to touch this could before JIT goes MC

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87817c078bebedfe773c66dd285583ae03e8bf2a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 13 16:55:08 2010 +0000

    tidy up whitespace a bit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79a70f9a5bff01df6ea1a7989dc92c7dd93691ad
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 07:03:56 2010 +0000

    One more XFAIL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64b3011b58926e97394897bf88521c72cfa5e0f9
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 07:01:55 2010 +0000

    More XFAILs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111008 91177308-0d34-0410-b5e6-96231b3b80d8

commit cff136429c694525139dc0ece030a7bd33e842dd
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 06:02:45 2010 +0000

    Add a workaround for building with Clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111007 91177308-0d34-0410-b5e6-96231b3b80d8

commit c14ab187911d7ff481d7d735be9fcf6f66ad52f0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 04:15:45 2010 +0000

    Add an XFAIL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111004 91177308-0d34-0410-b5e6-96231b3b80d8

commit f284d6778c76615fd0db86c9dc880fec7de1f40d
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 13 02:37:50 2010 +0000

    Revert last patch and r110954 as I meant to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111001 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9e247bf75cebf44293122487fc7fd673cab3196
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 13 02:30:00 2010 +0000

    Revert r110954 for now, pseudo instructions can't make it through to the JIT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72669d45299a531cff67440588dd4894e9d5a430
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 02:29:35 2010 +0000

    Remove -fexceptions from llvmc tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110999 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96f77303807dc60fdc42a473324bd88605ccb6b8
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Aug 13 02:29:24 2010 +0000

    llvmc: fix two tests, remove XFAILs.

    Tested on Linux and Darwin; please add platform-specific XFAILs/mail me a bug
    report if this still fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110998 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf222a4a89f87c1e5bd7ed26075bf0289982b119
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 13 01:05:26 2010 +0000

    Let LiveInterval::addRange extend existing ranges, it will verify that value
    numbers match. The old check could accidentally leave holes in openli.

    Also let useIntv add all ranges for the phi-def value inserted by
    enterIntvAtEnd. This works as long at the value mapping is established in
    enterIntvAtEnd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110995 91177308-0d34-0410-b5e6-96231b3b80d8

commit e61db7b21e9121408392d1430a63484e46c3321a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 13 01:05:23 2010 +0000

    Remember to actually update SplitAnalysis statistics now that we have a fancy
    function to do it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110994 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe8afde57f8bb08d4d4b23c1c9a7774eedc32e96
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Aug 13 00:29:44 2010 +0000

    Use getAllOnesValue, saves a copy and looks better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64b1466c7ae048f86964c66112da5cb35149b007
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Aug 13 00:17:53 2010 +0000

    Reapply this transformation now that it is passing the external test which it previously failed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110987 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0a117e586648df55eb0683b94c6f4044ad62beb
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Aug 13 00:16:46 2010 +0000

    Move some code from Verifier into SVI::isValidOperands.  This allows us to catch bad shufflevector operations when they are created, rather than waiting for someone to notice later on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110986 91177308-0d34-0410-b5e6-96231b3b80d8

commit c569eb5f9f0f3b3a79474c920c641099cf84ddfe
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 23:56:03 2010 +0000

    Trim #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110983 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3d0444c996e09d5058a74c01fa3e0ecdb24b597
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 23:50:08 2010 +0000

    Tidy up whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110982 91177308-0d34-0410-b5e6-96231b3b80d8

commit d139662ed59c67a3a63f84a42150397a320fd027
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 23:46:28 2010 +0000

    Use .empty() instead of .size().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98271a4d72d74c9ca9ffe3a2dbd20b76d44f29eb
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 23:02:57 2010 +0000

    Handle an empty dupli.

    This can happen if the original interval has been broken into two disconnected
    parts. Ideally, we should be able to detect when the graph is disconnected and
    create separate intervals, but that code is not implemented yet.

    Example:

    Two basic blocks are both branching to a loop header. Our interval is defined in
    both basic blocks, and live into the loop along both edges.

    We decide to split the interval around the loop. The interval is split into an
    inside part and an outside part. The outside part now has two disconnected
    segments, one in each basic block.

    If we later decide to split the outside interval into single blocks, we get one
    interval per basic block and an empty dupli for the remainder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110976 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2a792c8c31a2026cdc52200dea4def4f42fe334
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 23:02:55 2010 +0000

    Update the SplitAnalysis statistics as uses are moved from curli to the new
    split intervals. THis means the analysis can be used for multiple splits as long
    as curli doesn't shrink.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110975 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc3ff60a322ee2c5ff3a6b51383b6b51e695f651
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 12 22:25:23 2010 +0000

    fix PR7876: If ipsccp decides that a function's address is taken
    before it rewrites the code, we need to use that in the post-rewrite pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4358f364b2909897ff9371626292142c517b35
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 12 20:55:18 2010 +0000

    Some small clean-up: use of pseudo instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110954 91177308-0d34-0410-b5e6-96231b3b80d8

commit e89e5e3bded6d22b9fd7b4854b79d3eb784d5bcf
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Aug 12 20:46:17 2010 +0000

    Cleaned up the for-disassembly-only entries in the arm instruction table so that
    the memory barrier variants (other than 'SY' full system domain read and write)
    are treated as one instruction with option operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110951 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7ee108e1b4771a5e053177f4d1e0ac2faf627da
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 20:38:03 2010 +0000

    Also recompute HasPHIKill flags in LiveInterval::RenumberValues.

    If a phi-def value were removed from the interval, the phi-kill flags are no
    longer valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110949 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6b15171c0d3344722cc1a322845eb807694bbc0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 12 20:30:05 2010 +0000

    Make sure ARM constant island pass does not break up an IT block. If the split point is in the middle of an IT block, it should move it up to just above the IT instruction. rdar://8302637

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 724e73d9e852fe7b03570895caa865a01b1ac124
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 12 20:20:53 2010 +0000

    - Teach SSEDomainFix to switch between different levels of AVX instructions. Here we guess that AVX will have domain issues, so just implement them for consistency  and in the future we remove if it's unnecessary.
    - Make foldMemoryOperandImpl aware of 256-bit zero vectors folding and support the 128-bit counterparts of AVX too.
    - Make sure MOV[AU]PS instructions are only selected when SSE1 is enabled, and duplicate the patterns to match AVX.
    - Add a testcase for a simple 128-bit zero vector creation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 772b6335c6334984b660a79dd9fa0e167750598d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 20:01:23 2010 +0000

    Remove trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110944 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d774da38c689e27f718e8a7a555e1a8d65c3a9f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 18:50:55 2010 +0000

    Clean up debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110940 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5ffc7d1579300539ad338d0695d33f787f9f635
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 12 18:20:59 2010 +0000

    Define AVX 128-bit pattern versions of SET0PS/PD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110937 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd583dd13c7e1dbd8003fdb89aa71a5c4f0fc500
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 12 17:31:41 2010 +0000

    Add a test for llvm-gcc svn 110632.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4143aaa57b3b3796f99cbe0fcad8ed55d9d11970
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 12 17:07:14 2010 +0000

    Implement single block splitting.

    Before spilling a live range, we split it into a separate range for each basic
    block where it is used. That way we only get one reload per basic block if the
    new smaller ranges can allocate to a register.

    This type of splitting is already present in the standard spiller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 059867881c5409afe62b60fb8f49ce1eab7089ca
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 15:00:23 2010 +0000

    Optimize ScalarEvolution::getAddExpr's operand factoring code by
    having it finish processing all of the muliply operands before
    starting the whole getAddExpr process over again, instead of
    immediately after the first simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110916 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24a4301d902b360f0159597e19884a1d9beb62ee
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 14:52:55 2010 +0000

    Hoist some loop-invariant code out of a hot loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110915 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2464f6414ccd2a9a78df8c1ab4d0ff216ea99c5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 12 14:46:54 2010 +0000

    Optimize ScalarEvolution::getAddExpr's duplicate operand detection
    by having it finish processing the whole operand list before
    starting the whole getAddExpr process over again, instead of
    immediately after the first duplicate is found.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110914 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce1d28785a4213fb383e6a240f3b7b379b411ffb
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Aug 12 11:31:39 2010 +0000

    Add a 'normalize' method to the Triple class, which takes a mucked up
    target triple and straightens it out.  This does less than gcc's script
    config.sub, for example it turns i386-mingw32 into i386--mingw32 not
    i386-pc-mingw32, but it does a decent job of turning funky triples into
    something that the rest of the Triple class can understand.  The plan
    is to use this to canonicalize triple's when they are first provided
    by users, and have the rest of LLVM only deal with canonical triples.
    Once this is done the special case workarounds in the Triple constructor
    can be removed, making the class more regular and easier to use.  The
    comments and unittests for the Triple class are already adjusted in this
    patch appropriately for this brave new world of increased uniformity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5317d40334ef8e34ee62343043b554a922171b90
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 12 07:01:22 2010 +0000

    Temporarily revert 110737 and 110734, they were causing failures
    in an external testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110905 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e9aa20b9884963186c57b51bca2f00a1f0ee912
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 12 02:08:52 2010 +0000

    Fix comment order

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32eda2a47bd34881933b9d632581270191089d91
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 12 02:06:36 2010 +0000

    Begin to support some vector operations for AVX 256-bit intructions. The long
    term goal here is to be able to match enough of vector_shuffle and build_vector
    so all avx intrinsics which aren't mapped to their own built-ins but to
    shufflevector calls can be codegen'd. This is the first (baby) step, support
    building zeroed vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110897 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8723eb9768c8d8b58531c2b593bd27163f35700
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Aug 12 01:40:54 2010 +0000

    The autogened decoder was confusing the ARM STRBT for ARM USAT, because the .td
    entry for ARM STRBT is actually a super-instruction for A8.6.199 STRBT A1 & A2.
    Recover by looking for ARM:USAT encoding pattern before delegating to the auto-
    gened decoder.

    Added a "usat" test case to arm-tests.txt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 473d8900d05829bf38829ac472a5c1551261a82c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 12 00:55:42 2010 +0000

    MC/X86/AsmParser: Give an explicit error message when we reject an instruction
    because it could have an ambiguous suffix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110890 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd788dfd1b457c58296e6541ae4d0697b985ad61
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 12 00:55:38 2010 +0000

    MC/AsmParser: Push the burdon of emitting diagnostics about unmatched
    instructions onto the target specific parser, which can do a better job.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110889 91177308-0d34-0410-b5e6-96231b3b80d8

commit a25e4b431775c14bb429057ddde4a8a6099b1f7b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 12 00:55:32 2010 +0000

    tblgen/AsmMatcher: Always emit the match function as 'MatchInstructionImpl',
    target specific parsers can adapt the TargetAsmParser to this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dc0f7fe8b9a12fba7dece3344a6fee1aece6814
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 12 00:17:38 2010 +0000

    This is x86 only test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110887 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7f76d71e1dbeb1b5077947be54e6aa1a2d008d9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 23:53:59 2010 +0000

    configure: Add detection of the linker version string.
     - Review appreciated, as long as you understand that I understand that this is
       a horrible hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b4daff9320bbfa64a9789124762bd04f0a3b3d1
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Aug 11 23:35:12 2010 +0000

    Changed the format of DMBsy, DSBsy, and friends from Pseudo to MiscFrm.
    Added two test cases to arm-tests.txt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110880 91177308-0d34-0410-b5e6-96231b3b80d8

commit f257752330f0fec5473bce9ec9ede9484ef66f1c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 11 23:17:54 2010 +0000

    Even if a variable has constant value all the time, it is still a variable in gdb's eyes.
    Tested by scope.exp in gdb testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110876 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfc39594a53c7c802a287f6526b7b92b6a189da8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 11 23:10:46 2010 +0000

    Move the ARM SSAT and USAT optional shift amount operand out of the
    instruction opcode.  This also fixes part of PR7792.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 867981f936b2388ca501c4691a636e75ecc213f6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 11 23:08:22 2010 +0000

    Fix <rdar://problem/8282498> even if it doesn't reproduce on trunk.
    When a register is defined by a partial load:

      %reg1234:sub_32 = MOV32mr <fi#-1>; GR64:%reg1234

    That load cannot be folded into an instruction using the full 64-bit register.
    It would become a 64-bit load.

    This is related to the recent change to have isLoadFromStackSlot return false on
    a sub-register load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110874 91177308-0d34-0410-b5e6-96231b3b80d8

commit db001568a3a6270c611d5ffe825551b0a17c6df2
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 11 22:36:04 2010 +0000

    Fix a subtle use-after-free issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110863 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff5c8ca10d4ea743a19e370bc362674ae2ea7731
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Aug 11 22:04:36 2010 +0000

    Clean up ConstantRange a bit:
     - remove ashr which never worked.
     - fix lshr and shl and add tests.
     - remove dead function "intersect1Wrapped".
     - add a new sub method to subtract ranges, with test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8039ff6d6f487db9c3ede479f312415cec5e1580
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 21:12:09 2010 +0000

    Add testcases for all AVX 256-bit intrinsics added in the last couple days

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110854 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4ec000e70fd43abd755fe15d97f15d1772ee3d5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 20:34:43 2010 +0000

    Make LoopPass::getContainedPass return a LoopPass* instead of a Pass*
    and remove casts from all its callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110848 91177308-0d34-0410-b5e6-96231b3b80d8

commit e96871c8993fc54bee6320ed69171b87962139d8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 20:28:16 2010 +0000

    Remove BasicBlockPass::runOnFunction, which was unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a856c2f566b312b87fd2f4eab902a9468b7094a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 19:21:05 2010 +0000

    Remove rsqrt/sqrt_nr intrinsics since there are no more builtins for them on clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14eba99d2577e402603b1057d55dfae0891e415b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 19:11:05 2010 +0000

    Delete FunctionPass::run, which is unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110843 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea2223c439afae968ccde75b4cbeba088189dce2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 19:05:53 2010 +0000

    Delete FunctionPass::runOnModule, which is unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110842 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9290fea74cc69422127a11e9abc0a968cfd3b7a
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 18:15:01 2010 +0000

    Don't use unsigned char for alignments in TargetData. There aren't
    that many of these things, so the memory savings isn't significant,
    and there are now situations where there can be alignments greater
    than 128.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110836 91177308-0d34-0410-b5e6-96231b3b80d8

commit af0440bd31e886d0f3527bad41fba8a032f12823
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 18:14:00 2010 +0000

    Use ISD::ADD instead of ISD::SUB with a negated constant. This
    avoids trouble if the return type of TD->getPointerSize() is
    changed to something which doesn't promote to a signed type,
    and is simpler anyway.

    Also, use getCopyFromReg instead of getRegister to read a
    physical register's value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110835 91177308-0d34-0410-b5e6-96231b3b80d8

commit dec21aa67701bade44a988624802fe39191421b2
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 17:39:23 2010 +0000

    Reapply r109881 using a more strict command line for llc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110833 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff8bb7b1f8cb6570b71c3f4a428253b8a2936dc3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 11 17:32:46 2010 +0000

    fix silly typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81d3aec24676c2e84d5eab13c4af96878e0635f9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 11 17:31:12 2010 +0000

    Add a target triple, as the runtime library invocation varies a bit by
    platform. It's apparently "bl __muldf3" on linux, for example. Since that's
    not what we're checking here, it's more robust to just force a triple. We
    just wwant to check that the inline FP instructions are only generated
    on cpus that have them."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110830 91177308-0d34-0410-b5e6-96231b3b80d8

commit db46761dba645fe31129803a2124572fc0cc6490
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 17:25:51 2010 +0000

    Fix test and re-enable it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c67f2e3e3e595cc48d2de8d777f7afc314f3856
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 11 16:50:17 2010 +0000

    Fix a FIXME. The SlotIndex::Slot enum should be private.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44d7f79d999c8202266fc0554041e11371b5777c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 16:36:07 2010 +0000

    Temporarily disable some failing tests, until they can be
    properly investigated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110825 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbf615fec2218d7ea4c8f05612c683273c84527a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 11 15:44:15 2010 +0000

    cortex m4 has floating point support, but only single precision.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9714bd94d753f53c976d1b01e1b39aaaae1fec4b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 15:09:00 2010 +0000

    Temporarily disable some failing tests, until they can be
    properly investigated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110808 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fa185e5b2b4e0010f90d742cf4742a97cada5db
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 11 08:43:16 2010 +0000

    Consider this code snippet:

    float t1(int argc) {
      return (argc == 1123) ? 1.234f : 2.38213f;
    }

    We would generate truly awful code on ARM (those with a weak stomach should look
    away):

    _t1:
      movw   r1, #1123
      movs   r2, #1
      movs   r3, #0
      cmp    r0, r1
      mov.w  r0, #0
      it     eq
      moveq  r0, r2
      movs   r1, #4
      cmp    r0, #0
      it     ne
      movne  r3, r1
      adr    r0, #LCPI1_0
      ldr    r0, [r0, r3]
      bx     lr

    The problem was that legalization was creating a cascade of SELECT_CC nodes, for
    for the comparison of "argc == 1123" which was fed into a SELECT node for the ?:
    statement which was itself converted to a SELECT_CC node. This is because the
    ARM back-end doesn't have custom lowering for SELECT nodes, so it used the
    default "Expand".

    I added a fairly simple "LowerSELECT" to the ARM back-end. It takes care of this
    testcase, but can obviously be expanded to include more cases.

    Now we generate this, which looks optimal to me:

    _t1:
      movw   r1, #1123
      movs   r2, #0
      cmp    r0, r1
      adr    r0, #LCPI0_0
      it     eq
      moveq  r2, #4
      ldr    r0, [r0, r2]
      bx     lr
      .align  2
    LCPI0_0:
      .long   1075344593  @ float 2.382130e+00
      .long   1067316150  @ float 1.234000e+00

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110799 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd143a6bb481bdc4253bbf64032415b17bccb23b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 07:17:46 2010 +0000

    Report error if codegen tries to instantiate a ARM target when the cpu does support it. e.g. cortex-m* processors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48c2386ab8ff853590353515a905d2cdc8dcbdf8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 07:00:16 2010 +0000

    ArchV7M implies HW division instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26985b01bc0063c98166421bf2f94ec99a15a4b1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 06:57:53 2010 +0000

    ArchV6T2, V7A, and V7M implies Thumb2; Archv7A implies NEON.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bfeffb5b113e72bf51376988d871b0fac0957f1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 06:51:54 2010 +0000

    Add ARM Archv6M and let it implies FeatureDB (having dmb, etc.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110795 91177308-0d34-0410-b5e6-96231b3b80d8

commit c153186a1c0a44b0f04180c0c88312bfe79568ed
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:37:20 2010 +0000

    MC/ARM: Add basic support for handling predication by parsing it out of the mnemonic into a separate operand form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110794 91177308-0d34-0410-b5e6-96231b3b80d8

commit da6482b8d235b9a62a5ebcb89d31be541f1ddf4a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:37:16 2010 +0000

    MC/ARM: Split mnemonic on '.' characters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110793 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad0290013c6e5562a5cdb281fdb8b63ea03e75b1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:37:12 2010 +0000

    MC/ARM: Fill in ARMOperand::dump a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c0ac926a2bdf0aea292a533f3257b0fb718abb7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:37:09 2010 +0000

    llvm-mc: Add -show-inst-operands, for dumping the parsed instruction representation before matching.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110791 91177308-0d34-0410-b5e6-96231b3b80d8

commit cabedf9823f1a27525d81a4004ff07516f8d8e46
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:37:04 2010 +0000

    MCAsmParser: Add dump() hook to MCParsedAsmOperand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65c1e3b5a2a9e80156c8535c507cb77f4d241f4c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:36:59 2010 +0000

    tblgen/AsmMatcher: Treat '.' in assembly strings as a token separator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84940a55f107d0295daafded3c41056896b2983e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 06:36:53 2010 +0000

    MC/ARM: Add an ARMOperand class for condition codes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48a1d6f4aa3a8f40e575d13543640a8f35f3a0a0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 06:36:31 2010 +0000

    Really control isel of barrier instructions with cpu feature.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22ae72889dbbd495769f89339a45d74960045aea
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 06:30:38 2010 +0000

    Add Cortex-M0 support. It's a ARMv6m device (no ARM mode) with some 32-bit
    instructions: dmb, dsb, isb, msr, and mrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23443eb00b12b7b0c555ad81c9fb00f0fc197822
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Aug 11 06:22:01 2010 +0000

    - Add subtarget feature -mattr=+db which determine whether an ARM cpu has the
      memory and synchronization barrier dmb and dsb instructions.
    - Change instruction names to something more sensible (matching name of actual
      instructions).
    - Added tests for memory barrier codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 847c425c0de2600c74be2f4cee01b3f5395ade11
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 05:24:50 2010 +0000

    MC/ARM: Switch to using the generated match functions instead of stub implementations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110783 91177308-0d34-0410-b5e6-96231b3b80d8

commit f99930e5fd6515dbca4418d1d0c00e38ef2bdfc6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 05:09:20 2010 +0000

    MC/ARM: Enable generation of the ARM asm matcher, not that it can do much.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e36e102e7c640d71657a2e2a58200d30bcb2295
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 04:46:13 2010 +0000

    ARM: Mark some disassembler only instructions as not available for matching --
    for some reason they have a very odd MCInst form where the operands overlap, but
    I haven't dug in to find out why yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110781 91177308-0d34-0410-b5e6-96231b3b80d8

commit e506505a9b3ecc4b49c6ade9e3f41e83abd88d52
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 04:46:10 2010 +0000

    ARM: Quote $p in an asm string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11d45c8fa3723fc7461f62ad17c18e365b36257b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 04:46:08 2010 +0000

    tblgen/AsmMatcher: Downgrade instructions with tied operands to a debug-only warning, for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110779 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b03f2b5fe9ad86a52b16e822d509f9d3339c71b
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 11 04:24:25 2010 +0000

    Improve indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110778 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc179eafeeb9ad79f02768d90fd0a574a3bc0232
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 02:15:33 2010 +0000

    Remove AVX 256-bit cast intrinsics now that clang is using __builtin_shufflevector for those

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110772 91177308-0d34-0410-b5e6-96231b3b80d8

commit f557e865ad750d2437253b001ac64429dbfe92ee
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 01:44:11 2010 +0000

    Remove AVX 256-bit unpack and interleave intrinsics now that clang is using __builtin_shufflevector for those

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a7978bfb3e9aa65a3b15d5d38b30c2161afae19
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 11 01:18:26 2010 +0000

    Remove AVX 256-bit shuffle intrinsics now that clang is using __builtin_shufflevector for those

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110767 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80ef2e2b4883fc54f4099ff2d817a03bd3453edb
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 11 01:05:02 2010 +0000

    Update test to match output of optimize compares for ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91c7ed5e8d6b3addab708209dfe9ce0a56d48acd
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Wed Aug 11 00:51:32 2010 +0000

    CMake: corrections on LLVM.cmake external services.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110763 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88ed2f994d0fc0ae5ca494eda5ab67bd31ca728c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 11 00:23:00 2010 +0000

    Handle ARM compares as well as converting for ARM adds, subs, and thumb2's adds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110762 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0134026bcaeeeb49e866b6c9d6b6c4b8b35cf7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 11 00:22:27 2010 +0000

    Mark ARM compare instructions as isCompare.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f3192285e1f94786f1e07c5fc66a4c40037022d
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Aug 11 00:15:13 2010 +0000

    Make it possible to set the cpu used for codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f279d1a14e36102fd2635b2e412f5501f335759
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 11 00:12:36 2010 +0000

    When analyzing loop exit conditions combined with and and or, don't
    make any assumptions about when the two conditions will agree on when
    to permit the loop to exit. This fixes PR7845.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66a893fd1beb9f744c3fbd2aa38bb62b1e63e1cd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 00:11:19 2010 +0000

    lto: Fix an inverted conditional which prevented the addition of symbols scraped
    from inline assembly, except in cases where they had already been seen (in which
    case they would get added twice).
     - I can't see how this ever worked...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a4b3301115241eb3e1bfc19748b81c95b9dc860
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 11 00:11:17 2010 +0000

    lto: Fix gratuitous memory leaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80758ec52f0b907ef57ef05ada10519e26b01acf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 11 00:01:18 2010 +0000

    Add a separate ARM instruction format for Saturate instructions.
    (I discovered 2 more copies of the ARM instruction format list, bringing the
    total to 4!!  Two of them were already out of sync.  I haven't yet gotten into
    the disassembler enough to know the best way to fix this, but something needs
    to be done.)  Add support for encoding these instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d8450e28e43f7a5f188e2701db94220e7c8d06e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Aug 10 23:48:22 2010 +0000

    Avoid multiple definition warnings when both config.h and
    llvm-config.h are included.

    This is the cmake counterpart of r110547. See bug #7809.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110753 91177308-0d34-0410-b5e6-96231b3b80d8

commit eff07a736fe332e6013d617b1787f4fe313c9845
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 10 23:46:46 2010 +0000

    lto: Reduce nesting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c849f939ffe5808e96ebe2ba165f5617d14ad05
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 10 23:46:39 2010 +0000

    LTOModule.cpp: Fix numerous style issues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17a259e47cc6620f29eba276e8206449bbf22275
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 10 23:46:30 2010 +0000

    Rename and reorder the arguments to isImpliedCond, for consistency and clarity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 477a3708ecc8070c90e7fc425d18bd142bfbb861
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Aug 10 23:46:20 2010 +0000

    We already have this as OperandNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4735c5160e3768151f8c5cf5b9f8a07abed3fbd9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 10 23:27:11 2010 +0000

    CBZ and CBNZ are implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43acc9b30626213c9fc2e59681b67be654370887
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 23:25:42 2010 +0000

    Add AVX matching patterns to Packed Bit Test intrinsics.

    Apply the same approach of SSE4.1 ptest intrinsics but
    create a new x86 node "testp" since AVX introduces
    vtest{ps}{pd} instructions which set ZF and CF depending
    on sign bit AND and ANDN of packed floating-point sources.

    This is slightly different from what the "ptest" does.
    Tests comming with the other 256 intrinsics tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110744 91177308-0d34-0410-b5e6-96231b3b80d8

commit e00dcf8c7a56a942b30d50e6a06d806fdfa4ee27
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 10 23:20:01 2010 +0000

    Now that we're using ConstantRange to represent potential values, make use of that represenation to
    create constraints from comparisons other than eq/neq.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85f6907ff7616f716d0e2c31efb8e4e599d87725
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 10 22:16:05 2010 +0000

    The optimize comparisons pass removes the "cmp" instruction this is checking for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 083ca9b41434f337c42bd785ac1a799ffcf11131
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Aug 10 21:58:00 2010 +0000

    Add test for recent instcombine vector shuffle enhancement

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110737 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdd2440703a970c2ae82c14562560cb489865c64
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 10 21:45:38 2010 +0000

    upgrade to use new intrinsics, patch by Dan Hipschman!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110735 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef84c2cc25322f7f185014640f860fc7375f2cd9
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Aug 10 21:38:12 2010 +0000

    Add the minimal amount of smarts necessary to instcombine of shufflevectors to recognize
    patterns generated by clang for transpose of a matrix in generic vectors.  This is made
    of two parts:

    1) Propagating vector extracts of hi/lo half into their users
    2) Recognizing an insertion of even elements followed by the odd elements as an unpack.

    Testcase to come, but this shrinks the # of shuffle instructions generated on x86 from ~40 to the minimal 8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aa77997e4057974a9e49f183ed67465a7199831
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 10 21:38:11 2010 +0000

    Turn optimize compares back on with fix. We needed to test that a machine op was
    a register before checking if it was defined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110733 91177308-0d34-0410-b5e6-96231b3b80d8

commit f058bbf1ade2d88887dc8466e57a40a2d0c90171
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 21:16:16 2010 +0000

    Give up on register class recalculation when the register is used with subreg
    operands. We don't currently have a hook to provide "the largest super class of
    A where all registers' getSubReg(subidx) is valid and in B".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110730 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddd278157e8e0e3b93c6a25d5b0373095851642a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 10 20:49:33 2010 +0000

    Revert r110718; it broke clang-i386-darwin9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110726 91177308-0d34-0410-b5e6-96231b3b80d8

commit f10da148fc89948da3a59c728bc24b72d1c19a77
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 20:45:07 2010 +0000

    Avoid editing the current live interval during remat.

    The live interval may be used for a spill slot as well, and that spill slot
    could be shared by split registers. We cannot shrink it, even if we know the
    current register won't need the spill slot in that range.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f9f7318ad9939b82a66854210a1065c7aa77d68
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 20:45:01 2010 +0000

    More debug spew

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110720 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5c2ee0ef5a96025ea2aba04e4e1ad328cb68132
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 10 20:23:02 2010 +0000

    Turn optimize cmps on by default so that we can get some testing by the nightly
    ARM testers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110718 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40f1a96bca6148acf6f71650b5a250945cc18b92
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 20:22:49 2010 +0000

    Add missing argument. CreateCompositeTypeEx() users, please verify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2240a8e8e399b225624c24812ea0e6bf66484f6e
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 10 20:03:09 2010 +0000

    Switch over to using ConstantRange to track integral values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110714 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebbcab20acada10f557a17eae86d352a9354eb7a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 20:01:20 2010 +0000

    Do not forget debug info for enums. Use named mdnode to keep track of these types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110712 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd5b909fe67cac940aba1bdc222c5b07c208d5dc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 10 19:36:25 2010 +0000

    tests: Don't error out if HOME isn't present in t the environment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f1f4fe2990016caa4f6e3ffcd66630f7aea997f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 10 19:36:22 2010 +0000

    Delete some unused instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110710 91177308-0d34-0410-b5e6-96231b3b80d8

commit b005a58306271c74b886b1d0b443ac6c37f28fff
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 10 19:30:19 2010 +0000

    Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object.

    Also added a test case to check for the added benefit of this patch: it's optimizing away the unnecessary restore of sp from fp for some non-leaf functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0362878d65b2996815fcc63a1e5eaaf871deeb69
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Aug 10 18:55:09 2010 +0000

    Make it possible to set the flags passed to the assembler.

    Nick, please review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110705 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdabab86e3b97db1a0cc0fd1736a6cc60e2ec1c3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 18:37:40 2010 +0000

    Implement register class inflation.

    When splitting a live range, the new registers have fewer uses and the
    permissible register class may be less constrained. Recompute the register class
    constraint from the uses of new registers created for a split. This may let them
    be allocated from a larger set, possibly avoiding a spill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f0557ef9ab90d54605df0eac34ce60f876cc10c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 10 18:32:02 2010 +0000

    Revert r110655, "Fix ARM hasFP() semantics. It should return true whenever FP
    register is", it breaks a couple test-suite tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24d967da3f174ed2fc476efbd091759ac4dbdd22
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 10 17:38:52 2010 +0000

    MC/AsmParser: Fix a bug in macro argument parsing, which was dropping
    parentheses from argument lists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110692 91177308-0d34-0410-b5e6-96231b3b80d8

commit efe5200aeb971aba32ac7dd7c6d818b8acb32b0e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Aug 10 17:13:58 2010 +0000

    Install llvmCore_Sim to the simulator SDK directory.  Radar 8282845.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110687 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5c39372f4e61ee6944022b34c67464298b8d39f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 17:07:22 2010 +0000

    Recalculate the spill weight and allocation hint for virtual registers created
    during live range splitting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50b8bd34794b2330936cd392b4c49bf3279135a7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 16:48:24 2010 +0000

    Fix test for more architectures. Patch by Tobias Grosser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72fa429b724b9636c1e3be9a087dad071b7b142a
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Aug 10 16:32:15 2010 +0000

    Fix silly bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3403845ce0a52c37d2b4d8043f6afb86a9071222
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 10 16:00:49 2010 +0000

    Revert "MC/MachO: Fix possible null pointer dereference."

    This reverts commit 110575.

    Target.isAbsolute() is true if SD would be null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b399e1e4eaa27d70e0553a22364e3fc1ccd98c2
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Aug 10 15:46:11 2010 +0000

    Use RunPassesOn as in the rest of bugpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110682 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb4ad2f573d634e28d2e20fa8af5813a48eca1cf
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Aug 10 14:49:29 2010 +0000

    Simplify generating LLVMC_BUILTIN_PLUGIN.

    Patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110680 91177308-0d34-0410-b5e6-96231b3b80d8

commit c995da12a2c74b662747fa1231ce0867a9ad1bbf
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Aug 10 14:49:24 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110679 91177308-0d34-0410-b5e6-96231b3b80d8

commit d501a9d1cc1e30f03365531b6983023ab0648dab
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Tue Aug 10 10:39:25 2010 +0000

    Mark this variable as used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110667 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4732c055c884e7ac5ff5930680784f9d87867d2
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Aug 10 09:54:35 2010 +0000

    RegionInfo: Do not assert if a BB is not part of the dominance tree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88cbb4945416dafe197631b18cbe3f46e26c50ad
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Aug 10 09:54:29 2010 +0000

    Fix failing testcase.

    Those look like typos to me.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cb5b803f1b96c3c6a8969864f3eff6b550afba9
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 07:11:13 2010 +0000

    Handle TAG_constant for integers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46e64ccc16af9116cd2e98cc7537e11692a6f6bf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 10 06:26:49 2010 +0000

    Fix ARM hasFP() semantics. It should return true whenever FP register is
    reserved, not available for general allocation. This eliminates all the
    extra checks for Darwin.

    This change also fixes the use of FP to access frame indices in leaf
    functions and cleaned up some confusing code in epilogue emission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a9b0cea6e5f39ef2515be11eeee66501dd68fd4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 10 05:16:06 2010 +0000

    Update CMake...sorry for the breakage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110654 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd6931eb9dfb37a21529ee3412ceaaf95b11635f
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 04:12:17 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37dcebdf291b8580b05f0dbc86faefb74d06cdbe
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 04:09:06 2010 +0000

    Drop "const". It does not add value here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110652 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2a07b838c360335ee4c7ecacaa5da09b5bc6de9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 02:49:24 2010 +0000

    Add AVX movnt{pd,ps,dq} 256-bit intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110650 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4dbe5a1cae5e996c097923d85f2eb7158ecdeb9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Aug 10 02:39:45 2010 +0000

    Add missing null check reported by Amaury Pouly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a453e6c957c5112ca2e81bf36b5f12c6b00570f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 02:34:56 2010 +0000

    Add AVX movmsk 256-bit intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110648 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3288d5be9ea04252d12aaab930b6e05739c96d5
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 02:25:35 2010 +0000

    Remove replicate intrinsics, clang will generate shufflevector for those. The shuffles can't be matched by x86 codegen yet, but will soon

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110647 91177308-0d34-0410-b5e6-96231b3b80d8

commit ead14e6d656cbf9f9e059d6f5b4861c6f84049fc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 01:43:16 2010 +0000

    Support AVX 256-bit load and store intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110645 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6bd1693632fa6589d2b2ee9ccc6a4f9913ad71b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 01:40:05 2010 +0000

    Use i32 instead of i8 for dot product intrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110643 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffe08fb8623460815f8337aaace9f395555fa2ae
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 10 01:37:23 2010 +0000

    Do not include file static variable in pubnames list.
    Refactor and simplify code to avoid redundant checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cc3ed6a06cda916a66d6ec0d96c5e1dae0ddb3b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 10 01:03:34 2010 +0000

    Expand uses of python 2.6's "A if B else C" syntax into regular
    if-else statements, to hopefully support older pythons (PR7850).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2baadcd7a2844e8772bb6d742d7a43d1fb1fb746
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 10 00:34:06 2010 +0000

    remove code setting rw locks to PTHREAD_PROCESS_PRIVATE, which
    is the default.  Patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110636 91177308-0d34-0410-b5e6-96231b3b80d8

commit acfcf43b2b6679cdc267eec6e2ef374fbc725a01
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 00:13:20 2010 +0000

    Patterns to match AVX cmp instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98fb4a1513e6db64c50aca4b24ffb2e9a6e74908
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 10 00:02:26 2010 +0000

    Transpose the calculation of spill weights such that we are calculating one
    register at a time. This turns out to be slightly faster than iterating over
    instructions, but more importantly, it allows us to compute spill weights for
    new registers created after the spill weight pass has run.

    Also compute the allocation hint at the same time as the spill weight. This
    allows us to use the spill weight as a cost metric for copies, and choose the
    most profitable hint if there is more than one possibility.

    The new hints provide a very small (< 0.1%) but universal code size improvement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17a58770dd628d37b612988f40aded611b442206
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 00:02:05 2010 +0000

    Add matching patterns for vblend AVX intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110630 91177308-0d34-0410-b5e6-96231b3b80d8

commit a38318f2afc96865f48b8abe8ca1dfd633308372
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 10 00:00:22 2010 +0000

    Fix the last argument type of AVX vblend intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54be80920ce27b76e0ede3834f17673229a72caa
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 9 23:59:04 2010 +0000

    Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizer
    pass. This pass should expand with all of the small, fine-grained optimization
    passes to reduce compile time and increase happiment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 658d20ac4e6139912a8bd6bf8074ff2aab4cb950
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 23:28:52 2010 +0000

    Undo accidental commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e2f2ea2f273b1ae624bf237c667164d24841f26
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 23:26:06 2010 +0000

    Simplify. Avoid redundant checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a39b420d74c7b52ac668262285fc1e1d27f2036
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Aug 9 22:52:47 2010 +0000

    Wording.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 796963670b1a4740be25c185568d3a140f504375
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Aug 9 22:52:14 2010 +0000

    Next bit of support for the dwarf .file directive.  This patch takes the
    previously collected info from the .file directives and outputs the encoded
    bytes for it.  For now this is only in the Mach-O streamer but at some point
    will move to a more generic place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110617 91177308-0d34-0410-b5e6-96231b3b80d8

commit 156d34e73ee45477a69c02b67b0e5d9152cd87a1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Aug 9 22:32:45 2010 +0000

    ARMBaseRegisterInfo::hasFP() has been broken for a while now. :-(
    This will always be false before PEI:
    (DisableFramePointerElim(MF) && MFI->adjustsStack())
    Which means it's going to make r11 available as a general purpose register even
    if -disable-fp-elim is specified. It's working on Darwin only because r7 is
    always reserved. But it's obviously broken for other targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 161b19000c8df67274b93dce50a37ab5f4c8e0e8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Aug 9 21:51:56 2010 +0000

    Add VCVTPD2PS, VCVTPS2DQ, VCVTPS2PDY, VCVTTPD2DQY, VCVTTPS2DQ and VCVTPD2DQ 256-bit conversion intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110608 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fd6283f018578435afc63592c975cb0817f55ae
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 21:39:24 2010 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e08c5e9e254e313bfa052dd3dfc3083185765a8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Aug 9 21:24:59 2010 +0000

    Add patterns to AVX conversions instructions. Do that instead of declaring more intructions whenever is possible, more coming

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110605 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee788c53a475d19f9c0928010b0eb9fc23bba249
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Aug 9 21:09:46 2010 +0000

    Make it possible to set the target triple and expose that with an option in the
    gold plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6820700a5d6486c3488653b5f34cc1dba44b8c88
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Aug 9 21:03:28 2010 +0000

    Fix a use after free error caught by the valgrind builders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e3735559a5c5751c9f69bfd9f702b1846764b18
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 21:01:39 2010 +0000

    Refactoring. Update DbgVarible to handle queries itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 147a61c75105e73d7b2885664c1b8fb186697436
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 9 20:50:46 2010 +0000

    Add ConstantRange information to the debugging output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 967e4968f670d3effc907f0e6d77d1756f7d53a2
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 9 20:49:43 2010 +0000

    PR7853: fix a silly mistake introduced in r101899, and add a test to make sure
    it doesn't regress again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57b2724051c31613039b70fb62ab20afac65629e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 20:33:20 2010 +0000

    Update cmake library dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110594 91177308-0d34-0410-b5e6-96231b3b80d8

commit f874b2e225194d744bb9987071782a232de4d27b
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 20:33:08 2010 +0000

    CMake: eliminated unnecessary target_link_libraries.

    Next time the build is broken due to wrong library dependencies, just
    try building again (if you are on some Unix and are building all LLVM
    targets) or ask someone to commit the regenerated LLVMLibDeps.cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110593 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a6f46d948b4a9c31cb7b9c4f83cba7b9b125c5b
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 20:20:05 2010 +0000

    It is ok, and convenient, to pass descriptors by value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43cd70bcbd2e15044cb29d697087c2a59b6bd1e5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Aug 9 20:19:16 2010 +0000

    A REG_SEQUENCE instruction may use the same register twice.

    If we are emitting COPY instructions for the REG_SEQUENCE, make sure the kill
    flag goes on the last COPY. Otherwise we may be using a killed register.

    <rdar://problem/8287792>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110589 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcf68b6b08c1e5b238ea796a3baa682946333f46
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Aug 9 19:19:36 2010 +0000

    Explicitly initialize SlowFPBrcc and Pref32BitThumb to false.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e328f33b27775193c80702a1c4f28f16693bde1
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 9 18:51:29 2010 +0000

    Rename a method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110586 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb071c19430b9f414829b396d87c5dd28cf156cf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Aug 9 18:35:19 2010 +0000

    Change -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32-bit to 16-bit optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68ead2168dae31483dc353964a5c437ecceb5142
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Aug 9 18:20:14 2010 +0000

    Memory version of vcvtdq2pd intrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b30f8f7e500f76210b2686efe7a93c2c632521c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Aug 9 18:03:43 2010 +0000

    Patterns to match vinsert, vbroadcast, vmovmask and vcvtdq2pd AVX intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110580 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab7c7ddb143d3d0cea2e59e3485eca19fa4061e0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Aug 9 17:16:10 2010 +0000

    Add an option to disable 32 -> 16-bit Thumb2 size reduction pass for experimentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba6e21392f093467fbcf4272106a91c2af2f9d7
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Aug 9 16:44:56 2010 +0000

    Remove the ValueMap operator=, which was wrong (it did't correct the
    Map pointers of any contained ValueMapCallbackVH's) and unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110577 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6b471b281780e8c745342ffb8c1ea436b9e553c
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Aug 9 16:33:00 2010 +0000

    Have SPU handle halfvec stores aligned by 8 bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50289c7127f8c885565917b2de93a18c454cd23d
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Aug 9 15:28:05 2010 +0000

    MC/MachO: Fix possible null pointer dereference.

    Discovered by Microsoft Visual Studio 2010 Code Analysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fd7f20779d64c7f27ebe5d2aca06ba1bdc188b6
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Aug 9 15:14:06 2010 +0000

    XFAIL for mingw that has no plugins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110574 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6d5deed3e362c010be6d958970bb056551caea3
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Aug 9 14:05:42 2010 +0000

    Don't try to build a plugin on windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110573 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca4cda0d230c2f1a6717580eb3714d88dfc659f4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Aug 9 07:20:20 2010 +0000

    Stop the JIT from refusing to work just because the program it was compiled into
    was built with -static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dda26bf1d0d1433ee63531e2976627ee8a8274e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 03:47:11 2010 +0000

    CMake: llvm_map_components_to_libraries now returns system libs too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ea02e590283e8ad65d46346a0f1b8f09a4d0e08
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Mon Aug 9 03:43:39 2010 +0000

    Change the Interval type to signed in ImmutableIntervalMap.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74e9f3d0c006fb0ff165c1d7cb8c5b1836dee9d6
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 03:26:48 2010 +0000

    CMake: document how to incorporate LLVM into the cmake project of an
    external project.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110561 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3217a687ee3f9c8ac26a977442077f3b0aec09fe
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 03:26:43 2010 +0000

    CMake: system for providing llvm-config-like features to the user.

    The user can use a cmake function for obtaining the LLVM libraries
    corresponding to a list of LLVM components.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110560 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2a6ebec9e5d9561d94a70c2241a4ae462fa0b67
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 9 02:49:39 2010 +0000

    CMake: documented testing procedure

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cbaf2e1289360aa994aba66113426f748654f93
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sun Aug 8 23:26:49 2010 +0000

    llc: Fix help typo as pointed out by Nick Lewycky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bf853215ee82e71d167086c9ff2e1dec45f92ce
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Aug 8 22:14:20 2010 +0000

    Add a opt-args option that can be used to pass arguments to every opt
    invocation. Fixes PR7793:

    bugpoint -debug test.ll --opt-args -unroll-count=4

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110555 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58ed2bc92bda9089807f1fc1cde2cbf1e77eaef5
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Aug 8 21:14:26 2010 +0000

    s/libLLVMgold/LLVMgold/g

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110552 91177308-0d34-0410-b5e6-96231b3b80d8

commit f10d570166b78d1a0c64e02ad72106cdf45d0809
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Aug 8 19:54:10 2010 +0000

    Remove unused variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110551 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce13d4628e1569753f6fa5ae5ac8fa0cee20ed71
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Aug 8 12:57:48 2010 +0000

    Remove the ValueMap copy constructor.  It's not used anywhere,
    and removing it catches the mistake of passing a ValueMap by
    copy rather than by reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2139f7205e2a34521be12db440b7502d85ad7761
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Aug 8 09:20:39 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110548 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9a0a9a42e21290d085921b372b23419469d1e05
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Aug 8 09:18:29 2010 +0000

    Add a bit of a hack to avoid multiple defines of variables in
    config.h and llvm-config.h.  This could probably be improved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f61e3dcb26d93a0df5eebd64e06bebd67dc61ea
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Aug 8 07:04:25 2010 +0000

    Add optimization to Target/README.txt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110543 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a024d05debca296a96dc2b88e9202936e8fcb2a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Aug 8 06:12:09 2010 +0000

    Reject unrepresentable pointer types in intrinsics. Fixes PR7316.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110541 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0755af66a6b3e815a01d348d451da8816947f2cf
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 8 05:04:59 2010 +0000

    Use the "isCompare" machine instruction attribute instead of calling the
    relatively expensive comparison analyzer on each instruction. Also rename the
    comparison analyzer method to something more in line with what it actually does.

    This pass is will eventually be folded into the Machine CSE pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110539 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfc1977e6446dab8273227e5168a7e972238ce48
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Aug 8 05:04:23 2010 +0000

    Do more to modernize MergeFunctions. Refactor in response to Chris' code review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110538 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc390e14266059e90052197c56dbe45affd157b0
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Aug 8 04:32:21 2010 +0000

    CMake: set configure macro LLVM_PREFIX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110536 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ce316e7e04b8ad7f43bc229efeaa7909b7e3930
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Aug 8 04:17:18 2010 +0000

    CMake: configure header llvm-config.h

    This is the cmake equivalent of r110532, which fixed bug #7809.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53c658223a2232116fed58e1893e9941a30cff17
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Aug 8 03:55:08 2010 +0000

    Most of bugpoint now only needs to know the pass names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110534 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95af5035f8ac1d7728e89c77cbe08a8bbabed788
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Aug 8 02:44:25 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110533 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1fd148215ab5b99b387bbc8754c7b8ec9f71205
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Aug 8 02:44:17 2010 +0000

    Fix PR7809 by creating a header for just llvm variables that can be
    included in exported interfaces.  Update a couple of exported interfaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110532 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcc479b6d8d26b0674eb88e4e5a55298857a3155
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 8 01:49:35 2010 +0000

    Add back in r109901, which adds a Compare flag to the target instructions. It's
    useful after all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60947a56e81589453890f9553d35f4f454ea9269
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Aug 8 00:55:59 2010 +0000

    Use %shlibext instead of .so

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92f4e442825ec7e9f0f82318c4e582677b21bcb3
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Aug 8 00:50:57 2010 +0000

    Try to fix cmake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110528 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7d8a3f45f001f272a8c636ba519f45204125acd
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Aug 8 00:00:34 2010 +0000

    Fix a couple of warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110527 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0bf5213ed15455af6663cba5555afc9096fbc21
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Aug 7 23:03:21 2010 +0000

    Run opt instead of bugpoint itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110524 91177308-0d34-0410-b5e6-96231b3b80d8

commit b34de7997f1a22de484342d8e93b517855c1daa4
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Aug 7 21:58:44 2010 +0000

    Another missing file :-(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bbb5a724ef53ceb7cd2822c83d7c32d0e2fea4d
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Aug 7 21:53:04 2010 +0000

    Add missing file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dbce405df7701465c5471ae11cad50220741e60
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Aug 7 21:48:09 2010 +0000

    Move the bugpoint test passes to a plugin in preparation for having bugpoint
    use opt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110520 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3badf0b115701442b961302aa1d7b6063354251
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 7 13:27:41 2010 +0000

    Roll back my last two commits, valgrind complains.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a587d576cb4d43d2db4c9006fb81f016576e865
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 7 13:07:57 2010 +0000

    A reference to the Timer's name is safe, it outlives the contents of the vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110517 91177308-0d34-0410-b5e6-96231b3b80d8

commit a257697a5de148e34822c7cc7b74da8900b178b4
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 7 12:37:00 2010 +0000

    Kill rarely used std::sort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84a3698e4000b9ad5768f0895b1033cb946c1a0a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 7 11:45:42 2010 +0000

    Shrink PassNameParser's binary size with array_pod_sort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47c1c0c25d7e3d83825e5525dcedc3925dc8ae08
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Aug 7 06:01:13 2010 +0000

    Remove layering violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110505 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebe9cf09ca60e564ca0e725915ff9b4b0e893f25
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Aug 7 05:47:46 2010 +0000

    Add an inverse() method to ConstantRange.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110504 91177308-0d34-0410-b5e6-96231b3b80d8

commit d88c0b7895e8cfe3dd5029286ffc7138fb612c52
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Aug 7 05:25:29 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98e370a66909611f63d62c4ba3bb6a867bd30510
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 01:25:32 2010 +0000

    Remove assignPassManager's default arguments. It's really
    confusing to have different arguments for the same virtual
    function at different levels of the class hierarchy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110500 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7f0f8e1cb0bf69f4c88ff92cb942b88d7ca00f1
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 01:18:18 2010 +0000

    More #include cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 376599f85900e7ed6a101a4d688c37a25283f18c
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 01:17:47 2010 +0000

    Delete this explicit assignment operator; it's equivalent to
    the implicit one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75040699377ae79bdbb8a3173aefe2f0d04879a1
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 01:04:15 2010 +0000

    Oops, check in this file too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110496 91177308-0d34-0410-b5e6-96231b3b80d8

commit b352372079630688429d413820e98d810e4794c4
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 00:53:01 2010 +0000

    Tidy up PMStack. Add a bunch of consts, use std::vector instead of
    std::deque, since this is a stack and only supports push/pop on
    one end, and remove an unimplemented declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ba952ee11a6ae20a26065cd7a9f81bfb4e1b798
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 00:43:20 2010 +0000

    Tidy some #includes and forward-declarations, and move the C binding code
    out of PassManager.cpp and into Core.cpp with the rest of the C binding code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110494 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4f9e7c656de390b230a7e1d657e7fecd8ec457b
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Aug 7 00:42:06 2010 +0000

    Add a convenience constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110493 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf391c4d25769a0b56b0e36e0601be0b68fffe56
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 7 00:34:52 2010 +0000

    Make AnalysisImpls private.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110492 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9a0b446af6c310df4ad41b202644536d3c54b4f
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Aug 7 00:33:42 2010 +0000

    Use sdmem and sse_load_f64 (etc.) for the vector
    form of CMPSD (etc.)  Matching a 128-bit memory
    operand is wrong, the instruction uses only 64 bits
    (same as ADDSD etc.)  8193553.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110491 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c8154f593c86df207641015a314d4b87d9212a7
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Aug 7 00:20:35 2010 +0000

    Don't attempt the PRE inline asm calls, since we don't value number them yet.  Fixes PR7835.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ab7a343a0738db99aa2047f4c378141ed742133
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Aug 7 00:19:59 2010 +0000

    Add a predicate to determine if a call is an inline asm statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110488 91177308-0d34-0410-b5e6-96231b3b80d8

commit c612e3607bb66c918699d2dd48003653ad1578bf
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Aug 6 23:03:52 2010 +0000

    Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
    some default values that are not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110485 91177308-0d34-0410-b5e6-96231b3b80d8

commit c50274dd36872a95a6018d02744ad9cb0f96c78a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 22:17:33 2010 +0000

    Lazily defer duplicating the live interval we are splitting until we know it is
    necessary.

    Sometimes, live range splitting doesn't shrink the current interval, but simply
    changes some instructions to use a new interval. That makes the original more
    suitable for spilling. In this case, we don't need to duplicate the original.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110481 91177308-0d34-0410-b5e6-96231b3b80d8

commit a102ef18b0fed96b1e3a5dd2ba280fda2592e0fc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 6 22:10:01 2010 +0000

    Patterns to match AVX 256-bit vzero intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110480 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e8266a500591fab24db3ff748e06ecd7ea7d05
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 21:48:06 2010 +0000

    Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")
    instead, as an example of what this looks like.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79485d531217608b084700d2682bef6ec5530858
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Fri Aug 6 21:37:45 2010 +0000

    llc: Clarify -mc-relax-all description.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 224202a93f90790656298ed386b2770b7f0ce2ce
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 6 21:31:35 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110476 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee0508507a5f2edba7d1b84ade33f49349877f62
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 6 21:24:05 2010 +0000

    MC: Add default value for AddrSpace argument to EmitValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110475 91177308-0d34-0410-b5e6-96231b3b80d8

commit 247ed21d629c2b9c2da086f06935d332740fa319
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 6 20:03:27 2010 +0000

    Patterns to match AVX 256-bit permutation intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110468 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1632627c1693223ec86f16fb1f32b3ab398740e
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Aug 6 19:02:24 2010 +0000

    Test case for r110459.  Radar 8264751.  Test case by Fariborz Jahanian!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110467 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a16fc8494fc26a6132ff50f4411b1a4de6a1229
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 6 18:59:07 2010 +0000

    Cleanup comment wording

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110466 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d856432a47c0be8cba67d7529ece53e1f148742
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 6 18:57:24 2010 +0000

    Remove empty processFunctionBeforeFrameFinalized(). The default
    implementation of the function is equivalent, so no need to provide
    the target-specific version until/unless it needs to do something.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110465 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9fb6304bc6799431a97391b42fa9e04b95c856f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 18:47:06 2010 +0000

    Keep the MachiuneFunctionPass pointer around. It is useful for verification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110464 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44da88dd39aee275be1154f4d45110b2fc3e5103
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 18:46:59 2010 +0000

    Add LiveInterval::RenumberValues - Garbage collection for VNInfos.

    After heavy editing of a live interval, it is much easier to simply renumber the
    live values instead of trying to keep track of the unused ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aaff8114d58e8bc97359a3b269a2872e4aa19e5
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 6 18:33:48 2010 +0000

    Reapply r110396, with fixes to appease the Linux buildbot gods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bd9495ed01b768269d8c833716c0e5781e67496
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 18:24:38 2010 +0000

    Implement a proper getModRefInfo for va_arg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57fb84dd3b241bfbb05c0af48a23bdb7f74efc5d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Aug 6 18:24:36 2010 +0000

    spelling

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110457 91177308-0d34-0410-b5e6-96231b3b80d8

commit b11c028c3808651c5c37fa98dc9bb6f84374ee4e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 18:11:28 2010 +0000

    Be more conservative in the face of volatile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a3f350e8ccd7ed2d223cd0720f8284f0f42ccff
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 18:10:45 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ab8ffb3304469747c91f878318f4c988f537ed4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 18:04:19 2010 +0000

    Add more verification of LiveIntervals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15c5c360586ebf1110256b17889c8d12c5b8fc5c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 18:04:17 2010 +0000

    Fix swapped COPY operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c5c272e264003a400dd55db93796f6bb608d43a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Aug 6 18:04:14 2010 +0000

    Don't try to verify LiveIntervals for physical registers.

    When a physical register is in use, some alias of that register has a live
    interval with a relevant live range. That is the sad state of intervals after
    physreg coalescing of subregs, and it is good enough for correct register
    allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 320072271e94c63559004e27957e8d7ee24e8d95
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Aug 6 15:35:32 2010 +0000

    Fix eabi calling convention when a 64 bit value shadows r3.

    Without this what was happening was:

    * R3 is not marked as "used"
    * ARM backend thinks it has to save it to the stack because of vaarg
    * Offset computation correctly ignores it
    * Offsets are wrong

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7436862d5f862574e160c151c5c651f519a13db6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Aug 6 07:43:46 2010 +0000

    Fix uninitialized variable warning.
    Also move 'default' case next to a real case to help compiler optimize in
    non-Debug builds.
    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110435 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab49e5bf64be58f73d1e79b166859dea2d5d5ba7
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Aug 6 07:21:30 2010 +0000

    Work in progress, cleaning up MergeFuncs.
    Further clean up the comparison function by removing overly generalized
    "domains".
    Remove all understanding of ELF aliases and simplify folding code and comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110434 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec9f185eb20b51ebc51fa8d1e5cc4521c9951bda
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Aug 6 04:05:21 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110429 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec90755b3bc983ebba6a49337417b45b1d150d7a
Author: Peter Collingbourne <peter@pcc.me.uk>
Date:   Fri Aug 6 02:13:25 2010 +0000

    Fix missing </a> tag error introduced by addition of LowerAtomic pass.
    While at it, fix all other HTML validation errors in docs/Passes.html.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34470317f3025f8a42d3e64cb8226320ae86f4f5
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 6 02:10:30 2010 +0000

    Patterns to match AVX 256-bit horizontal arithmetic intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110427 91177308-0d34-0410-b5e6-96231b3b80d8

commit eaabe5df1fdf74a425f397293502c562b4d726e2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 02:04:07 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3147a59627a14bd8d8a53f4e66b4ffbbb984512e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 6 01:52:29 2010 +0000

    Patterns to match AVX 256-bit arithmetic intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110425 91177308-0d34-0410-b5e6-96231b3b80d8

commit 494c625895fd05364a778b6e6e01c5a12db5e25b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Aug 6 01:36:09 2010 +0000

    Revert r109901. The implementation of <rdar://problem/7405933> (r110423) doesn't
    need the Compare flag after all.

    --- Reverse-merging r109901 into '.':
    U    include/llvm/Target/TargetInstrDesc.h
    U    include/llvm/Target/Target.td
    U    utils/TableGen/InstrInfoEmitter.cpp
    U    utils/TableGen/CodeGenInstruction.cpp
    U    utils/TableGen/CodeGenInstruction.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110424 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b72490e5f3cac744f0f074657d3f91f951f218f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Aug 6 01:32:48 2010 +0000

    Add the Optimize Compares pass (disabled by default).

    This pass tries to remove comparison instructions when possible. For instance,
    if you have this code:

       sub r1, 1
       cmp r1, 0
       bz  L1

    and "sub" either sets the same flag as the "cmp" instruction or could be
    converted to set the same flag, then we can eliminate the "cmp" instruction all
    together. This is a important for ARM where the ALU instructions could set the
    CPSR flag, but need a special suffix ('s') to do so.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f458528be8f21e3ea2f0c0323e8eeaf48e3d61f
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 6 01:30:54 2010 +0000

    Moar words!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110422 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7eeceabe464e3d2c255d116617d1f207401be39
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Aug 6 01:25:49 2010 +0000

    Move all the logic for function attributes and call attributes out of the
    AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion
    about where such logic is happening when there are other AliasAnalysis
    implementations present.

    Move the logic for translating two-callsite getModRefInfo queries into
    other AliasAnalysis queries out of BasicAliasAnalysis and into the
    AliasAnalysis base class, as it is useful for other AliasAnalysis
    implementations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73eae8586547ae6eaaf1f16eb9780925fa1d9430
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Aug 6 01:24:11 2010 +0000

    Add tablegen support for vdup_lane

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110419 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd2c40bd314f5b1bc8829734a4ee90cd37390a6e
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 6 00:36:20 2010 +0000

    Fix botched revert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110416 91177308-0d34-0410-b5e6-96231b3b80d8

commit ced5885a447fac44f36d8a4ac5f09a7078e005de
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Aug 6 00:26:18 2010 +0000

    While emitting DBG_VALUE for registers spilled at the end of a block do not use location of MBB->end(). If a block does not have terminator then incoming iterator points to end().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110411 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6c3ffd7ad496a4645ceb61f81172636ccbcc3ee
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Aug 6 00:23:35 2010 +0000

    Revert r110396 to fix buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f17a058051b168d99c45bae4a6eaf17661e1b4c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Aug 6 00:04:07 2010 +0000

    Remove unused AVX intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ec41fb642d519f9429b163ce585a9d88341ffd3
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 23:57:43 2010 +0000

    Add an option to always emit realignment code for a particular module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 614b4c1f760611f7d12c1554d3d1a4028a114b17
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 5 23:51:28 2010 +0000

    Be more aggressive about removing joined physreg copies.

    When a joined COPY changes subreg liveness, we keep it around as a KILL,
    otherwise it is safe to delete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110403 91177308-0d34-0410-b5e6-96231b3b80d8

commit c94089462e9c78c25a78bc1fb12a79a290654730
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 5 23:51:26 2010 +0000

    Don't verify LiveVariables if LiveIntervals is available.

    LiveVariables becomes horribly wrong while the coalescer is running, but the
    analysis is not zapped until after the coalescer pass has run. This causes tons
    of false reports when calling verify form the coalescer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110402 91177308-0d34-0410-b5e6-96231b3b80d8

commit bad4d3c1ae60604dc82b88ad2a808c273cde4bbe
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 23:48:14 2010 +0000

    Fix 80-column violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9242b16a197c35a96500e84e980b027e9256ef15
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 23:44:45 2010 +0000

    Make AA private, since subclasses shouldn't (aren't don't) access it directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ebb44d565b0494738e76b2d0ab8ca664b7ba1db
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 5 23:42:04 2010 +0000

    Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static
    ID member as the sole unique type identifier.  Clean up APIs related to this change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75f94042439985f286d1f1ee4c32891af1c2a6eb
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 23:36:21 2010 +0000

    Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem
    to IntrReadWriteArgMem, as it's for reading as well as writing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 246553028156e05072d6b963c2cc265f997b7f0d
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 5 23:35:51 2010 +0000

    Support very basic (doesn't include ABI support in the front-end, varags, ...) 256-bit argument passing and return for AVX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 593fe1854faef0a12dedf7e3886b6773ddcc6b68
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 23:34:50 2010 +0000

    Implement AccessesArguments checking in the two-callsite form
    of BasicAA::getModRefInfo. This allows BasicAA to say that two
    memset calls to non-aliasing memory locations don't interfere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110393 91177308-0d34-0410-b5e6-96231b3b80d8

commit e05289c8377745148eb099103663175a4f1a08b0
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 23:23:32 2010 +0000

    Yes, we can do better, but this is not the place for it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110391 91177308-0d34-0410-b5e6-96231b3b80d8

commit 090558874a3b3f4cabdafe57c69318aef77accba
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 5 22:59:19 2010 +0000

    Add the beginnings of infrastructure for range tracking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110388 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f4066b86a29630fe570eb6ec1a3ebb885ce023f
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 22:48:32 2010 +0000

    Revert my last commit, apparently it's a runtime issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52b69705406d05384e9fdbd6c5c5c33faf270600
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 5 22:32:21 2010 +0000

    Add basic verification of LiveIntervals.

    We verify that the LiveInterval is live at uses and defs, and that all
    instructions have a SlotIndex.

    Stuff we don't check yet:

    - Is the LiveInterval minimal?
    - Do all defs correspond to instructions or phis?
    - Do all defs dominate all their live ranges?
    - Are all live ranges continually reachable from their def?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110386 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00970a51e5955f23ff07c0d66a5b0411e31ec645
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 22:28:22 2010 +0000

    Remove unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110385 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3322ed6057de719ca5f0927a0782a633acc542f0
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 5 22:11:31 2010 +0000

    Give JumpThreading+LVI a long-form cl::opt so that it's easier to toggle the default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17d939b5fa4bcca99c555d7a86e8e74ad53d4f9e
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 5 22:10:46 2010 +0000

    Split the tag and value members of LVILatticeVal in preparation for expanding the lattice to something that won't fit in two bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32b906a4b31142d54c6e9665332214003fb86a40
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 22:09:15 2010 +0000

    Fix memdep's code for reasoning about dependences between two calls. A Ref
    response from getModRefInfo is not useful here. Instead, check for identical
    calls only in the NoModRef case.

    Reapply r110270, and strengthen it to compensate for the memdep changes.
    When both calls are readonly, there is no dependence between them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110382 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc2f1a5554c1a21a6997395e556834a17a5fd0aa
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Aug 5 21:25:49 2010 +0000

    remove the private hack from CallInst, it was not supposed to hit the branch anyway

    as a positive consequence the CallSite::getCallee() methods now can be rewritten to be
    a bit more efficient

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 047df3302c5cdf47b40e4cb0a859ecabd5f2825e
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Aug 5 20:51:10 2010 +0000

    Give ConstantRange an operator=

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d160ff1ff81b0676a7ab5f83bececa9cbb5315d
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 20:38:39 2010 +0000

    Document results of PR7762.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 369ea2c6748f62aa6b320e7993bf602a96659fef
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 5 20:25:37 2010 +0000

    Move x86 specific tests into test/CodeGen/X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3720923b7a69c9851143c8c98fda33c4f4e62ca1
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 20:04:36 2010 +0000

    Handle the memory barrier pseudo that goes to nothing for the JIT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110371 91177308-0d34-0410-b5e6-96231b3b80d8

commit b18608f0343fbcc23a1aa02e7bdede54a67b3343
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 19:54:59 2010 +0000

    Set hasSideEffects on the 64-bit no-sse memory barrier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 926440f0817a3010d3066f272614a76e3cb49118
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Aug 5 19:27:37 2010 +0000

    For local variables in functions with a frame pointer, use FP as a base
    register for local access when it's closer to the stack slot being refererenced
    than the stack pointer. Make sure to take into account any argument frame
    SP adjustments that are in affect at the time.

    rdar://8256090

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110366 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff2f019f741ca5dcb4d1ab6153cd59f19db0c6fa
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 5 19:00:21 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110363 91177308-0d34-0410-b5e6-96231b3b80d8

commit b390c8c8a9c7d6dcb0ea6e160012f449c0e96e76
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 5 18:59:59 2010 +0000

    Remove double-def checking from MachineVerifier, so a register does not have to
    be killed before being redefined.

    These checks are usually disabled, and usually fail when enabled. We de facto
    allow live registers to be redefined without a kill, the corresponding
    assertions in RegScavenger were removed long ago.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110362 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb184c0ac1dd4996f97d224fd36a0b00c9f6c611
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 5 18:59:36 2010 +0000

    Add an ARM RSCrr instruction for disassembly only.
    Partial fix for PR7792.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110361 91177308-0d34-0410-b5e6-96231b3b80d8

commit f164cac3d196d67ba81d8a626edcfba00df4a203
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 18:36:20 2010 +0000

    Be a little bit more specific about target for the memory barrier
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110360 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc2bca346ab614e2b12dcbfe7df52eff361599c7
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 5 18:34:30 2010 +0000

    Handle the pseudo in MCInstLower.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87495fd28338372f1011e3033f0bdd70517c367f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 5 18:23:43 2010 +0000

    Add an ARM RSBrr instruction for disassembly only.
    Partial fix for PR7792.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 320d081af4da46956060ea505c711033c155361f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Aug 5 18:12:19 2010 +0000

    Avoid using a live std::multimap iterator while editing the map. It looks like
    we sometimes compare singular iterators, reported by ENABLE_EXPENSIVE_CHECKS.
    This fixes PR7825.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d918ab1449e0f07bc0bd8937a19b535adf93c1d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 17:04:15 2010 +0000

    Move x86-specific tests out of test/Transforms/LoopStrengthReduce and
    into test/CodeGen/X86, so that they aren't run when the x86 target is
    not enabled.

    Fix uglygep.ll to not be x86-specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110343 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1ca7f8c8c8d47cca9d30dfccd54c32fd985ff51
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 5 16:26:32 2010 +0000

    Revert bugpoint change due to buildbot breakage.

    --- Reverse-merging r110333 into '.':
    U    tools/bugpoint/BugDriver.h
    U    tools/bugpoint/OptimizerDriver.cpp
    U    tools/bugpoint/bugpoint.cpp
    U    tools/bugpoint/BugDriver.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48d91a90aa4d7793bc3c06b3245e4d45b3a19fc8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 5 15:45:33 2010 +0000

    tests: CodeGen/X86/GC tests require X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110338 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed813b04bce97d5711a0cc2c2746c199464d18e1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 5 15:44:15 2010 +0000

    tests: Mark MC/AsmParser tests as requiring x86 for now -- almost all of them
    rely on using a specific x86 triple to test what they want to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110337 91177308-0d34-0410-b5e6-96231b3b80d8

commit b80d20f0a81e5a2faae6cf5897b51a9207aeae73
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Aug 5 15:25:38 2010 +0000

    Run opt instead of bugpoint itself.

    Fixes PR753.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110333 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5f4170838099246269b480aa8676757b6937cd3
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Aug 5 03:35:01 2010 +0000

    check-lit was failing again on F13 64 bits :-(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8843d1fd71ee427b309215ddbda798357f60580a
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Aug 5 03:04:21 2010 +0000

    Silence a GCC warning about && and || without explicit parentheses. This
    preserves the existing behavior, as it seems a concious choice to allow RS to
    be null and BigStack marked true.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110307 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2f66b2c9f049bae99e885eb71af94eece24a853
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Aug 5 03:00:22 2010 +0000

    Add const to compileProgram and to the various test functions in CrashDebugger.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5510462c0811fb0e703d4944115ed0b0fa27313e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Aug 5 02:22:51 2010 +0000

    When building from git, add ref-id to PACKAGE_VERSION

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110301 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb55ab7e396760255ee8190b90ee26a7043ce37c
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Aug 5 02:16:32 2010 +0000

    Add a Module argument to the remaining runPasses methods and mark getContext
    const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110300 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1f759454d0d32729ad350883bcccd0c97060189
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Aug 5 01:25:48 2010 +0000

    New system for choosing CRT type on MSVC.

    Is setted on a per build type basis. This is useful for generators
    that comprise several build types, i.e. VC++ solutions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b335625d438101720f12cc060628511043045f6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 5 00:43:10 2010 +0000

    Revert r110270 for now. It appears to uncover a memdep bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62f07f0ae684859783a0889fb9467a64125ee820
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Aug 5 00:34:42 2010 +0000

    ARM "rrx" shift operands do not have an immediate.  PR7790.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98406c29a3eea430330f54d4cf0e666e2a898aeb
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Aug 5 00:29:04 2010 +0000

    Make EmitProgressBitcode const and add a Module argument to runPasses. Use
    that argument to simplify runPassesOn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110291 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe758452f66f99f48f41fc3951b74f583713177c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 23:44:23 2010 +0000

    svn:ignore

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 166c7e1fb052381eacb66e9dea0e803e87920bbf
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 23:43:55 2010 +0000

    svn:ignore

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10a57c02be6200d1ea2cd4e6b69a2b60226d8ba4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 23:37:55 2010 +0000

    The trouble with testing for "ModRef" and "NoModRef" is that
    one is a suffix of the other, and FileCheck accepts superstrings.
    Adjust the output to avoid this problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110280 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf19827f49090147bc904ae593c3bb02e7828933
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 4 23:36:02 2010 +0000

    The lower invoke pass needs to have unreachable code elimination run after it
    because it could create such things. This fixes a MingW buildbot test failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110279 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff96528ba28336a5efec68935b60eed55dd72f19
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 23:08:15 2010 +0000

    Delete obsolete comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110277 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8d1f99e61fc4eebc8994af205b5d0e97362e964
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 4 23:03:04 2010 +0000

    Make x86-64 membarriers work without sse and clean up some of the
    uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c118fca776d11339ed5bdba11d13d10ccd8a6f0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 22:56:29 2010 +0000

    The two-callsite form of AliasAnalysis::getModRefInfo is documented
    to return Ref if the left callsite only reads memory read or written
    by the right callsite; fix BasicAliasAnalysis to implement this.

    Add AliasAnalysisEvaluator support for testing the two-callsite
    form of getModRefInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 090a59c26ed055646e8dfe433b77a20fb0d5c86e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 4 22:46:09 2010 +0000

    and back in. false alarm on the tests from another unrelated local change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83730c99189a88dbf0dcc2093ab48e962501237f
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Aug 4 22:40:58 2010 +0000

    PR7814: Truncates cannot be ignored for signed comparisons.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dab5b1105757d148edc642aeb7b5f39dcddf87d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 22:39:39 2010 +0000

    Implement target specific getDebugValueLocation().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cc4f9fc26025ab95d7eabd672357edb49a4a22a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 4 22:35:11 2010 +0000

    Coalesce stack slot accesses that arise when spilling both sides of a COPY.
    This helps avoid silly code:

        %R0<def = LOAD <fi#5>
        STORE <fi#5>, %R0<kill>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110266 91177308-0d34-0410-b5e6-96231b3b80d8

commit be82093a28aff30674485e671021378ee3e704e4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 4 22:12:43 2010 +0000

    oops. revert for a moment to clean up tests first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1006b090f4cb49504348230c520cbaa41879b351
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Aug 4 22:10:15 2010 +0000

    Reserve a stack slot if the function adjusts the stack but doesn't
    simplify the call frame pseudo instructions. In that situation, the
    calculations for estimating the stack size will be way off, leading to
    not having an emergency spill slot when we need one. It should be possible
    to be more precise about tracking the adjustment values, but not really
    necessary for correctness. Upcoming cleanups for PEI in general will
    render that moot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4408202a3436fd3d523522cb160a1923e6a0a608
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Aug 4 22:08:39 2010 +0000

    Checkpoint SplitKit progress.

    We are now at a point where we can split around simple single-entry, single-exit
    loops, although still with some bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110257 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6ca2fe686af1031a982bb1cfdd331f7b96d0c03
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 22:07:50 2010 +0000

    Implement target specific getDebugValueLocation().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110256 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2d65d5a01c7cb650ddfcba16c82966e7a555621
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 22:07:27 2010 +0000

    Use location entry only of the location described by DBG_VALUE is valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110255 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5a3ae223d207a0f1d8488959207f1a2e0bdfe24
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Aug 4 22:05:38 2010 +0000

    Test case for r110250.  Radar 8264670.  Test case by Fariborz Jahanian!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9203451dee9f1580bb23765666ce4e52da11b9a2
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 4 21:56:30 2010 +0000

    Testcase for r110248.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31585afdeef583bffd038263859d8bcf2fc88d3b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 4 21:44:13 2010 +0000

    The EH prepare passes really want to be the last passes run before code-gen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b71caeb0d8ba6cdf5b01e7024bd54dcce3452b2
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Aug 4 20:47:44 2010 +0000

    Use indirect calls in PowerPC JIT.

    See PR5201. There is no way to know if direct calls will be within the allowed
    range for BL. Hence emit all calls as indirect when in JIT mode.
    Without this long-running applications will fail to JIT on PowerPC with a
    relocation failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1602a675814b2b23ce7eee1374765ef45bc5b157
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 20:32:36 2010 +0000

    Fix typo in comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110244 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cb79d1927cdf498526743498d12c230f078cea4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 19:52:50 2010 +0000

    Fix a minor bug which resulted in intermediate calculations
    using wider types than are necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110241 91177308-0d34-0410-b5e6-96231b3b80d8

commit de7e866e035fdef30bc88e38913824443be11565
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 18:51:09 2010 +0000

    Change this llvm_unreachable to report_fatal_error, since it can
    be triggered by valid, if dubious, IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110240 91177308-0d34-0410-b5e6-96231b3b80d8

commit a357ef11aec67e7bbe1fe321e30678fbca9c43ad
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 18:42:46 2010 +0000

    Test case for combination of r110234 & r110235.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110238 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ddb0668b9ab444d1d4febb8e4c1db432905e44c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 18:42:02 2010 +0000

    While spilling live registers at the end of block check whether they are used by DBG_VALUE machine instructions or not. If a spilled register is used by DBG_VALUE machine instruction then insert a new DBG_VALUE machine instruction to encode variable's new location on stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90ad2c1caf352e0451a1f088997ef13bc4f5ec2d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 18:40:52 2010 +0000

    If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110234 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd04886c60c9902a8662ca66ee0db9509d40fb43
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 4 18:32:46 2010 +0000

    Experiments show that we can safely increase our unrolling threshold without unduly impacting code size, particularly
    since unrolling is not enabled at -Os.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91e92703e811d8ca8a17f5c6274b366e621d3a3b
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 4 18:27:08 2010 +0000

    Add a note about the changing pass registration interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2813bb414ff7bb8988754b542cfac5e658497026
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Aug 4 18:07:17 2010 +0000

    Remove switch for disabling ARM tail calls.  They
    seem to be working correctly.  No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110226 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2f5a392536ad9e1182bcd4247fbe11f12263b50
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 4 18:06:05 2010 +0000

    Add DEBUG message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110224 91177308-0d34-0410-b5e6-96231b3b80d8

commit f048cd259e4d19cd7fd5628460281ecd5b1739e4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 17:43:57 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37d20155aae8726d0610480761229f040f223b5d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 17:01:59 2010 +0000

    Update the polygen grammar for linker_private and linker_private_weak,
    and add comments about major implemented features.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25ca710f0509f5082141d927570a5b3113653984
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:48:36 2010 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110211 91177308-0d34-0410-b5e6-96231b3b80d8

commit abe526667a0af3f31c8554121f50ea0cba4add5b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:42:38 2010 +0000

    Print a message when a test failure is due to stderr output
    alone, rather than just an exit code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 644db1e7c682199ed54bec3af0b42a098bc043e8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:25:01 2010 +0000

    Remove CVS artifacts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110207 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfbed0d59c0e8c97273df957bae596fdd726d8d7
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:11:24 2010 +0000

    Remove CVS artifacts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8584ddc5db729b4cb1a29516a118888f47af28b1
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:10:42 2010 +0000

    Delete scripts which haven't noticed that CVS has gone away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41d9d833226c83086a5d6f69427309913c322121
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:09:01 2010 +0000

    cvsupdate is gone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 556fd1274f56b5d1b7cf633d9b125d72ed68a480
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 16:07:22 2010 +0000

    Delete mkpatch. Everything it does is already done by svn diff by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f8864a3ea7dcca15ea3c71f170f08a31bb34664
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 15:59:16 2010 +0000

    Remove a link which is no longer relevant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110202 91177308-0d34-0410-b5e6-96231b3b80d8

commit a89029160def30b477a462730a48acc7b93f4d82
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 15:58:01 2010 +0000

    These tests are no longer stored in *CVS*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26c0af63c41946d00307d295f40c5793bead1865
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Aug 4 15:32:40 2010 +0000

    Enable COFF writer on mingw32 and cygwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ba595c2e59b60223bef0c9d5b3340ebf1b6acca
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Aug 4 15:31:35 2010 +0000

    call-imm.ll test case regex fix.  Patch by Dimitry Andric!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110199 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff8d7333e59b8940c8f406bcf6743ed7cd231734
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Aug 4 13:59:48 2010 +0000

    Make SPU backend handle insertelement and
    store for "half vectors"

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 353fadd17659536b3cd93318c93609609bad1539
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Aug 4 13:16:30 2010 +0000

    Print an error message when someone tries -integrated-as on an unsupported target.

    - The COFF backend doesn't support MingW/Cygwin at the moment, it'll report an
      error, but it's still much better than random assertions from the MachO backend.
    - We want to make ELF the default eventually, it's what the majority of targets use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ea21fa07dd8ba750c6d45b61e3e89784340f098
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Aug 4 12:43:22 2010 +0000

    Note some LLVM 2.7 -> 2.8 APIs that changed / got renamed.

    I encountered these while upgrading libclamav.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 799d46890bb30a6890d6d9a6f277d2785b1ff41d
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Aug 4 11:42:45 2010 +0000

    Add a missing function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10ed8c27ba8d0d038762903be41cc58d27783c79
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Aug 4 10:00:52 2010 +0000

    by Alexander Herz:

    "The CWriter::GetValueName() method does not check if a value as an alias
    and emits the alias name which will never be defined in the output .c
    file (so the output file fails to compile). This can happen if you have
    multiple inheritance with several destructors defined by clang (...D0Ev,
    ...D1Ev, ...D2Ev)."

    -- applied with minor tweaks. Thanks!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84d4ff708319b83fcb848135338faaa2396c97f4
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Aug 4 09:30:20 2010 +0000

    Fix build of DataFlow.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110193 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6ac93f264d074ee10977e0fd9460ac6671ae261
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 01:39:08 2010 +0000

    Eliminate unnecessary empty string literals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71bcca9d309592188a20b7f07ab44753d8649f49
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 01:16:35 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36a3a3ff4c6eb31fd3d1af05d41ae6d5530c51a8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 01:14:33 2010 +0000

    Don't construct a std::string with a literal "".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6544a7f1b7737ad3d916cc18a8abd5f7e1fdfe98
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 01:13:48 2010 +0000

    Don't print the filename twice in file-not-found errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110179 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e7f4b3d4f34fdf02716761d130d6213e888f6ea
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Aug 4 01:09:40 2010 +0000

    Fix a comment typo and add more 256-bit intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b71ba4f02f0df2a67eb7fc0c8bab47021fadc7e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 00:12:31 2010 +0000

    Change the logic which interprets output on stderr as an error so that
    it doesn't modify the exit code or the stdout contents, and so that it
    doesn't clutter the output with "Command has output on stderr!".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110171 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2c86d5489c2e89986205ee08e789cbd578ec58d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 4 00:12:08 2010 +0000

    Combine NEON VABD (absolute difference) intrinsics with ADDs to make VABA
    (absolute difference with accumulate) intrinsics.  Radar 8228576.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76cb0a595645bf0a1d3ab8ea8af2229888b6f689
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 00:05:16 2010 +0000

    Don't print "Command output (stdout):" when the command has no output,
    and same for stderr, to avoid clutter in the output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110169 91177308-0d34-0410-b5e6-96231b3b80d8

commit f34972333f5b849f71fa4e83798e0fabd7784a57
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 4 00:00:13 2010 +0000

    Use the regular conditional operator syntax instead of a clever hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94800d1bf5f162e9d24a3191c89ef3a8fc8cbb5e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 23:08:10 2010 +0000

    Remove PointerAccessInfo, which nothing was using.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110167 91177308-0d34-0410-b5e6-96231b3b80d8

commit f768e15e9afc64ff6ca00cd6340457b9704f1770
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 3 22:53:22 2010 +0000

    Make the makefiles go much faster by using the realpath
    builtin instead of shell.  On my 8 core mac pro, this speeds
    up a 'make -j8' null build of the lib directory from 1.11s to
    0.77s wall time.

    Patch by NAKAMURA Takumi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110166 91177308-0d34-0410-b5e6-96231b3b80d8

commit aef04c4566264f7b3afc36034a41f582952d2de6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 3 22:49:22 2010 +0000

    fix a win64 encoding problem, patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 172d22b8a4da6ded6027f1a3df666f3711bf7873
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 21:48:53 2010 +0000

    Thread const correctness through a bunch of AliasAnalysis interfaces and
    eliminate several const_casts.

    Make CallSite implicitly convertible to ImmutableCallSite.

    Rename the getModRefBehavior for intrinsic IDs to
    getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
    which happens to be implicitly convertible to bool.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110155 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcb14b729b4467caac32987e3941008c67c57ca8
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Aug 3 21:31:55 2010 +0000

    Add support for getting & setting the FPSCR application register on ARM when VFP is enabled.
    Add support for using the FPSCR in conjunction with the vcvtr instruction, for controlling fp to int rounding.
    Add support for the FLT_ROUNDS_ node now that the FPSCR is exposed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110152 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5daf3d7b43d8b32b8ae720cbf37453ff0e24355
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 20:23:52 2010 +0000

    The singular of "indices" is "index".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110135 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5a77ff428e9bf88b93adb69de0ff6c3350c7d80
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 20:20:56 2010 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110134 91177308-0d34-0410-b5e6-96231b3b80d8

commit a45e967da042fee06c33acdcab6a856c0f5f5ffe
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 18:20:32 2010 +0000

    Make instcombine set explicit alignments on load or store
    instructions with alignment 0, so that subsequent passes don't
    need to bother checking the TargetData ABI size manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26480a2e7d5c9b3ee00e9d93c963afab1a26f7fe
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Aug 3 17:40:31 2010 +0000

    CMake: Change somme target library names:

    XCore->XCoreGen
    PIC16->PIC16CodeGen

    After updating your working copy, the first build will fail because it
    is using the old library dependencies. Start the build again and it
    will work fine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110127 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2242c0e18268d659739099b87c69b7261e1a437
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Aug 3 17:28:09 2010 +0000

    CMake: add version control info to PACKAGE_VERSION, if available.

    Adds "svn" or "git", depending on the VCS used. If svn, adds the
    revision number as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110121 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcf624c69e61d967f843d4829ed999956bb568fa
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 17:27:43 2010 +0000

    Make AliasAnalysis::getModRefInfo conservative in the face of volatility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e48c090a0cae140e80074e730a46a66a05964b9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 3 17:21:16 2010 +0000

    Oops. Don't normalize spill weights twice.

    When the normalizeSpillWeights function was introduced, I forgot to remove this
    normalization.

    This change could affect register allocation. Hopefully for the better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a0edb853fc6ba95b929add043b1039254ea188a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Aug 3 17:21:14 2010 +0000

    OK, that's it. This test is going away now. But don't worry, I am taking it to a
    nice farm in the country where it can play with other tests. And bunnies.

    It is not clear what is being tested, and the revision history shows a bunch of
    random changes to the expected instruction count. Clearly, we are just fudging
    it to pass whenever it fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110118 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6d5a947b2d6f1f6b011c9a07f03da26dedf6c8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 3 16:57:03 2010 +0000

    avoid undefined behavior negating minint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110117 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4d3db1e0672430c76babcdec2711e8ba4cf973d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 16:48:31 2010 +0000

    Fix a typo Devang noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110115 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0d22d1f261381ffb8d5f21a736bf59eaaaf74af
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 3 16:41:24 2010 +0000

    avoid undef behavior on minint, fixing PR7783.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25278c155a5ffb8557d33d8f8cf44a9ed33b2f5d
Author: Peter Collingbourne <peter@pcc.me.uk>
Date:   Tue Aug 3 16:19:16 2010 +0000

    Add an atomic lowering pass

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b34865bbb575462045442fde01e776118e34193
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 16:15:50 2010 +0000

    Use unary + instead of a separate local variable for working
    around std::min vs static const friction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110112 91177308-0d34-0410-b5e6-96231b3b80d8

commit d07ff7b52471652798c955190d79c9792de18d55
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Aug 3 15:07:17 2010 +0000

    Bump cmake_minimum_required to version 2.8

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85e3621332305c58466ab3601a475db709690ccf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 3 14:26:17 2010 +0000

    build: Add LLVM_NATIVE_ARCHNAME, which has the sensible value, without "Target"
    appended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 107452b0e0d3f830dfff2cb55c088e7d6d2573b7
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 05:30:49 2010 +0000

    Remove the test/mc directory that I accidently added.

    This directory conflicts with test/MC on Windows machines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110105 91177308-0d34-0410-b5e6-96231b3b80d8

commit abe4af66b9a25da6a5f5803dbb223146d6cb2ff1
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 05:02:46 2010 +0000

    MC: Fix symbol fragment offsets in COFF.

    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110104 91177308-0d34-0410-b5e6-96231b3b80d8

commit a32bc9cf18eef960324975871733596a086592d0
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 04:53:28 2010 +0000

    Revert "MC: Fix symbol fragment offsets in COFF."

    This reverts commit r110100

    Wrong path caps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bf6c6042ffa9a86d2054bcce2a18f57aba4382a
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 04:43:33 2010 +0000

    MC: Add time travel support to COFF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e85f0852c87ea4bcb7b0f8d37446f02fb13f3ec
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 04:43:24 2010 +0000

    MC: Fix symbol fragment offsets in COFF.

    Patch by Cameron Esfahani!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d9954ac784f52b4b5ef6ec07579c69e09a41705
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Aug 3 02:38:20 2010 +0000

    Fix CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110097 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee3f5f8ef3b48822469dfeebe1f197f8840ea170
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Aug 3 01:53:41 2010 +0000

    Support x86 AVX 256-bit instruction intrinsics. Right now support all of them, but
    as soon as we properly codegen the simple vector operations in clang, remove the
    unnecessary builti-ins/intrinsics from clang and llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110094 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe5c783bacba075654d2c12edb375e38d96a0089
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 01:07:32 2010 +0000

    Update some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84c9e6c630c3d1592ff16c4c94404941232c933e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 01:03:11 2010 +0000

    Introduce a symbolic constant for ~0u for use with AliasAnalysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b4a2c3d0100d9614226eedae5f3f1eaaa5d666a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 3 00:56:30 2010 +0000

    Add a convenient form of AliasAnalysis::alias for the case where the sizes
    are unknown.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e1ffa6dcf52f2765a19b6f7b3fa169ec695c0fa
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 23:49:30 2010 +0000

    Make SCEVUnknown a CallbackVH, so that it can be notified directly
    of Value deletions and RAUWs, instead of relying on ScalarEvolution's
    Scalars map being notified, as that's complicated at best, and
    insufficient in general.

    This means SCEVUnknown needs a non-trivial destructor, so introduce
    a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06c2d47caa2cc6da27753da95f918962136de496
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Aug 2 23:29:03 2010 +0000

    Diabolical hack to make a test compatible with clang.  (Thanks to Dale!)  Radar 8246180.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110081 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa1ca46f4a0b55d01ee8a9483c274c35c6e9a0b6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 23:11:01 2010 +0000

    Sketch up a preliminary Type-Based Alias Analysis implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7d15849f6d8944f3b4b2b57796be8254496a8d7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 23:09:14 2010 +0000

    Fix visitInvokeInst to call visitTerminatorInst, and remove
    a redundant check from checkInstruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110076 91177308-0d34-0410-b5e6-96231b3b80d8

commit da603233823c0fd4de1e3d704c9e53b701e0e84a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 23:08:33 2010 +0000

    Add Verifier logic for indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c34e21e009cf83ed6a9e498925bc7478c993d24
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 23:06:43 2010 +0000

    Add a lint check for indirectbr with no successors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b6c1e1df7d65d0d54cec4ca255c4f8570736a84
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 2 22:51:46 2010 +0000

    Add explicit constructors. Patch by Renato Golin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 180169cc1b8e5f1d1f599623da64983111da62e7
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Aug 2 22:09:53 2010 +0000

    Testcase for r110043.  Radar 8246180.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110070 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc43e3c3654362732812e1c38f4a1afa2e4b247e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 2 22:06:08 2010 +0000

    Early exit and reduce indentation. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110069 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42849f610eb12a22e3c5ee55123ce99bc1d16d06
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 2 21:24:12 2010 +0000

    Improve discrimination of unknown libraries from ignored targets on
    LLVMConfig.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32aa0571b649ad9d064449d309806e54653d3a9e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 2 20:48:01 2010 +0000

    explicit_map_components_to_libraries now does not complain when there
    is a dependence on an LLVM target that is not included on the build.

    When LLVM_TARGETS_TO_BUILD didn't include all the targets, the
    function emitted an error like

    "Library LLVMArmParser not found in list of llvm libraries."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70093a86bbc1534aeec399e26444cbd73f16d839
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 2 19:00:34 2010 +0000

    Lets the CMake GUI show a list of possible values for LLVM_USE_CRT

    Patch by nobled!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 198e3e22c9cc9a0e370432e8b8e1174896ee98d8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 2 18:50:06 2010 +0000

    Fix namespace polution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 594948ad49d6510900b832c1e5706e289775806d
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 2 18:36:53 2010 +0000

    Updated LLVMLibDeps.cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110055 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1c37a5631af8ac378db56ff249599134395cd7f
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 2 17:32:15 2010 +0000

    Free DbgScope created for dead functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8

commit e39aeade52d435c4322c1016d93ccdbf847cec2c
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Aug 2 11:22:10 2010 +0000

    More SPU v2f32 stuff added: insertelement and shuffle.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 771076ddf90db8abfdea9a97f5654b69973e96f0
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Aug 2 10:25:47 2010 +0000

    Add preliminary v2f32 support for SPU. Like with v2i32, we just
    duplicate the instructions and operate on half vectors.

    Also reorder code in SPUInstrInfo.td for better coherency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b900b6c563eb3e10553965e9649a8e74dfd097c
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 2 09:32:13 2010 +0000

    Re-apply the infamous r108614, with a fix pointed out by Dirk Steinke.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110036 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2578eb93eb5926b6d24adcf32a9fc3a8d407215
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Aug 2 08:54:39 2010 +0000

    Add preliminary v2i32 support for SPU backend. As there are no
    such registers in SPU, this support boils down to "emulating"
    them by duplicating instructions on the general purpose registers.

    This adds the most basic operations on v2i32: passing parameters,
    addition, subtraction, multiplication and a few others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110035 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc4aa9257ad92ce8f4c9ffa73faf552c3a7fc20e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 2 06:00:15 2010 +0000

    Prefix `next' iterator operation with `llvm::'.

    Fixes potential ambiguity problems on VS 2010.

    Patch by nobled!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21c8a61d5d4cdef873a7b651b9d65af0f5904d1c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 05:43:46 2010 +0000

    Fix a -Wreorder warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110022 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9092c6fcf016c1808205bae870cb24e4439c5cab
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Aug 2 05:23:03 2010 +0000

    Work in progress.
    Start cleaning up MergeFunctions to look more like the rest of LLVM. The
    primary change here is to move the methods responsible for comparison into the
    new FunctionComparator object. Some comments added. There's more to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110021 91177308-0d34-0410-b5e6-96231b3b80d8

commit c12986396937c682a545c78c2a52978edfb1bc2c
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 2 04:42:25 2010 +0000

    PR7586: Make sure we don't claim that unknown bits are actually known in the
    ISD::AND case of TargetLowering::SimplifyDemandedBits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b67e53b35a8afa89abffded41bfbc30b65483477
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Aug 2 03:16:19 2010 +0000

    Fix this condition; it has an else clause attached for Darwin only. Patch
    by Takumi Nakamura.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110016 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1355a42cc8370c7240a82762faaaa251768f674
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 01:25:20 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110006 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4aaa9d66aab89962c4bdfc935fbfcce0f530a37
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 01:20:23 2010 +0000

    docs/TestingGuide: Minimal update to describe 'lit' based regression testing
    instead of DejaGNU. Still a bit kooky, since the current test format still has
    some strong Tcl roots. Oh well!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110005 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd54b2ae0fd0f042734f62c97b55b8ab8c59c450
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 01:20:20 2010 +0000

    docs/TestingGuide: Rip out description of old nightly tester infrastructure. The
    official recommendation is to use LNT instead. I will write docs on setting up
    an LNT installation for submission to llvm.org, one day.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110004 91177308-0d34-0410-b5e6-96231b3b80d8

commit a675a56df9e1f4a734445b1eddf7a4b24b03cd0c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:52:44 2010 +0000

    tests: Kill off custom targets which were just there for TestRunner.sh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 726ed0d22a63d2e7dcfb958ad2c93579e5298be4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:52:41 2010 +0000

    tests: Deprecate TestRunner.sh, and have it just invoke 'llvm-lit' (which will
    need to be in your path). Please move to using 'llvm-lit' if you are still using
    TestRunner.sh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110002 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8581ad799a0fad67ab37c634f2df6619069b2b0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:45:41 2010 +0000

    build: Fix a dependency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7039ef92bffca7903ec5808a3df40ae0af99d9cb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:39:42 2010 +0000

    tests: Add an 'llvm-lit' tool (script), which gets generated as part of the
    build and has the object build directory baked into it. This allows 'llvm-lit'
    to properly find the information needed to run the test suite in all cases,
    without requiring the user to have LLVM or 'lit' available in their PATH, for
    example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13db436b9f3a14255e238d86f73a7165ed240051
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:39:38 2010 +0000

    lit: Allow clients to define predefined parameters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109999 91177308-0d34-0410-b5e6-96231b3b80d8

commit c748e28ea5f90c912ce24be0498747a589b68211
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Aug 2 00:18:19 2010 +0000

    PR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0437bdb4a1cefdff326d0258529e99ddbda184bc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 2 00:05:18 2010 +0000

    tests: Make 'lit' the default test tool. You can still use 'make check-dg' to
    run the tests using DejaGNU, but not for much longer. This is a last call for
    DejaGNU supporters, if no one complains soon the DejaGNU support is going to
    die.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 290bd5e3a3dcd594257b524099518721a6c0d6da
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 1 23:36:18 2010 +0000

    Targets: Add InitializeNativeTargetAsmPrinter(), patch by Jan Sjodin, although
    rewritten by me to not require updating all the target initialization routine
    names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a3a5a2fa093a7ccc673211bad1665da6a1ee851
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Aug 1 23:18:45 2010 +0000

    Fix word choice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109995 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2aaff83938fc9b5a37c89d39507af872d566763
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sun Aug 1 21:13:28 2010 +0000

    PR7774: Fix undefined shifts in Alpha backend.  As a bonus, this actually
    improves the generated code in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c96850dbf5169f765fa50c38cb477345dcb042c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Aug 1 11:43:26 2010 +0000

    Preallocate vector, avoid unnecessary vector growth.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dbd749a366ff493a6a7e78c7b5ce768376be409
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 1 01:34:21 2010 +0000

    Reference the personalities. Don't copy them into a new vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109966 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad4bffddceb3cc9886fd3309d701b9ee7761fbdc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jul 31 22:36:03 2010 +0000

    Revert new AVX intrinsic tests.  They are breaking buildbots and Bruno is
    away from a computer now.
    --- Reverse-merging r109881 into '.':
    D    test/CodeGen/X86/avx-intrinsics-x86.ll
    D    test/CodeGen/X86/avx-intrinsics-x86_64.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07876117f3f04c3e03f84dcba26be6eac5b17f44
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jul 31 21:32:56 2010 +0000

    build: Don't pass -avoid-version or -no-undefined on Darwin, they don't do
    anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22521eb9e4dfca3eb2b92f870c3aaf30d384e050
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jul 31 21:08:54 2010 +0000

    Silence some -Asserts uninitialized variable warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109956 91177308-0d34-0410-b5e6-96231b3b80d8

commit d209f20c2cb3629571b230f308e7b0a87a215d22
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sat Jul 31 19:57:02 2010 +0000

    llc: Add -mc-relax-all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f420b9c6f5a5c24f49962ce03fd53b22c282dfd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jul 31 19:51:11 2010 +0000

    Speculatively revert r108614, "Another attempt at getting the clang self-host to
    like my instcombine patch.", in an attempt to fix Clang i386 bootstrap.
     - Also PR7719.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109953 91177308-0d34-0410-b5e6-96231b3b80d8

commit d860c3fd04fd4571ee1173aedd95a7c2e9590efe
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jul 31 14:34:49 2010 +0000

    Add const to some methods and change TestMergedProgram to return the merged
    module and take a const BugDriver.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2500878278a4cbb2a3f31ad7eebd85be31f2ec50
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jul 31 08:35:21 2010 +0000

    doxygenize argument accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a33a58f61fd34dd969b8758824239c3a9e8f19d
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sat Jul 31 07:21:44 2010 +0000

    MC: Remove HasAbsolutizedSet from WindowsX86AsmBackend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109949 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5269613f6bfffb4bc488b554a54221401eaa108
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jul 31 06:28:10 2010 +0000

    Move newlines before inline jumptables from the asm strings in .td files to
    the jtblock_operand print methods.  This avoids extra newlines in the
    disassembler's output.  PR7757.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109948 91177308-0d34-0410-b5e6-96231b3b80d8

commit a588d552c49d9a1b9d7451408d096f8411c134bc
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sat Jul 31 06:22:29 2010 +0000

    Add relax all support to the COFF object streamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 353769038464dad7753af3983eeb8277440dd5d7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jul 31 05:57:44 2010 +0000

    Add support for disassembling VMVN (immediate) instructions.  PR7747.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fb7d60a380ffb4ce6be80e5b75ee89bb3e29100
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jul 31 00:32:17 2010 +0000

    The BlockExtractorPass() constructor was not reading the BlockFile and that was
    exactly what bugpoint expected it to do.

    There was also only one user of
    BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and
    make BlockExtractorPass read BlockFile.

    This fixes bugpoint's block extraction.

    Nick, please review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82e6fad7a9a4f4529df23251395efd47f95c015a
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Jul 30 23:59:40 2010 +0000

    Add an initial implementation of PHI translation for LazyValueInfo.  This involves rolling back some
    of my earlier data structure improvements until I can ensure that there are no iterator invalidation problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109935 91177308-0d34-0410-b5e6-96231b3b80d8

commit e305f9fbaa54483b4f997661246a55d6ad311af3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jul 30 23:33:54 2010 +0000

    Add -disable-shifter-op to disable isel of shifter ops. On Cortex-a9 the shifts cost extra instructions so it might be better to emit them separately to take advantage of dual-issues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109934 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc7563e9be394a3df2fd4c6c4fdabdcc55b04f01
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 30 23:27:59 2010 +0000

    Add a check in the ARM disassembler for NEON instructions that would
    reference registers past the end of the NEON register file, and report them
    as invalid instead of asserting when trying to print them.  PR7746.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64147bac244a47650d03f71353456b12f1674dd0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jul 30 22:48:39 2010 +0000

    Add a "Compare" flag to the target instruction descriptor. This will be used
    later to identify and possibly remove superfluous compare instructions -- those
    that are testing for and setting a status flag that should already be set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f9fd4b18841e25815efb7e1390b1696e32f519d
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 30 21:09:48 2010 +0000

    PPC doesn't supported VLA with large alignment.  This was
    formerly rejected by the FE, so asserted in the BE; now the FE only
    warns, so we treat it as a legitimate fatal error in PPC BE.
    This means the test for the feature won't pass, so it's xfail'd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109892 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb3f6b3c235541d99d181eba4871bbb56790ca96
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 30 21:07:05 2010 +0000

    Move MaximumAlignment to be a member of the Value class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6030f3b6b7dbec101eb29e1ea8fecdf94e33d33c
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Jul 30 20:56:07 2010 +0000

    Revert my last two patches to LVI, which recent changes have exposed a miscompilation in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17131a4dd9466275894fcedaaddef413021e6049
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Jul 30 20:27:01 2010 +0000

    Add missing newline to debug statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109886 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9e5b77044ee6806e82507ca142b9a7c88aaeb13
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Jul 30 20:19:09 2010 +0000

    LibCallAliasAnalysis uses multiple inheritance, so it needs to implement
    getAdjustedAnalysisPointer. Part of a fix to PR7760.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d3392d58826c71198f945a0146d6952f617e39
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 30 19:57:56 2010 +0000

    A *bunch* of tests for AVX intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109881 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd7ffe6d49cd63b1acf00e811a173e009ad9196b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 30 19:55:47 2010 +0000

    Add the __TEXT,__StaticInit section to the list of sections emitted at the
    beginning on ARM Darwin assembly files so that it won't be placed after
    debug sections.  Radar 8252813.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48fab9a3192df4e248548fb1efcb0da918364be8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 30 19:54:33 2010 +0000

    Support all 128-bit AVX vector intrinsics. Most part of them I already
    declared during the addition of the assembler support, the additional
    changes are:
    - Add missing intrinsics
    - Move all SSE conversion instructions in X86InstInfo64.td to the SSE.td file.
    - Duplicate some patterns to AVX mode.
    - Step into PCMPEST/PCMPIST custom inserter and add AVX versions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 603949aa97456f7cda5cdad551a900881ed08481
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 30 19:41:24 2010 +0000

    Fix typo!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f46694ddd334ecf3ae30bb42f168fe7f874e02b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 30 18:52:47 2010 +0000

    Attempt to fix the llvm-gcc-powerpc-darwin9 buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eb73ea441621fe79f16536385dbe1a63a3535ad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jul 30 18:32:09 2010 +0000

    MC: Initialize MCFragment::Offset, noticed by Cameron Esfahani.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109875 91177308-0d34-0410-b5e6-96231b3b80d8

commit eaa0695ad92918df8816df63eb0a9d6e1e19d7ff
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jul 30 17:49:04 2010 +0000

    Fix -Wmissing-field-initializers warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109872 91177308-0d34-0410-b5e6-96231b3b80d8

commit aba0ff0d870b4c7321f073c470e7ec17e0f6f198
Author: John Criswell <criswell@uiuc.edu>
Date:   Fri Jul 30 16:30:28 2010 +0000

    Grammar cop pullover: Corrected and improved some grammar in the description of
    the llvm.memset() intrinsic family.
    No content changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109863 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0fbcf7881847708723360d7810947d1cebf8c87
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Jul 30 14:19:00 2010 +0000

    Add a Program argument to diffProgram to avoid a use of swapProgramIn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ace129db8ff6b02540bce65393d316cb04ef9f9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jul 30 12:18:36 2010 +0000

    Tweak suppressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109858 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8480aacbd557d07e7ea268d99ab75b3599d02ce
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Jul 30 06:44:31 2010 +0000

    Fix for bug reported by Evzen Muller on llvm-commits: make sure to correctly
    check the range of the constant when optimizing a comparison between a
    constant and a sign_extend_inreg node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b6575eb6e67f1f6d8a6c6c59077c64db8428c69
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Jul 30 05:50:45 2010 +0000

    Do not pass a copy of the value map, pass a reference to it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43b3a055458971c37c453884817d98cecbff3fd3
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Jul 30 05:49:32 2010 +0000

    Fix the ValueMap copy constructor.  The issue is that the map keys are value
    handles with a pointer to the containing map.  When a map is copied, these
    pointers need to be corrected to point to the new map.  If not, then consider
    the case of a map M1 which maps a value V to something.  Create a copy M2 of
    M1.  At this point there are two value handles on V, one representing V as a
    key in M1, the other representing V as a key in M2.  But both value handles
    point to M1 as the containing map.  Now delete V.  The value handles remove
    themselves from their containing map (which destroys them), but only the first
    value handle is successful: the second one cannot remove itself from M1 as
    (once the first one has removed itself) there is nothing there to remove; it
    is therefore not destroyed.  This causes an assertion failure "All references
    to V were not removed?".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109851 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad94e9b576e5c94f507ecdf8f6d597fe2eebba86
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 30 02:41:01 2010 +0000

    Many Thumb2 instructions can reference the full ARM register set (i.e.,
    have 4 bits per register in the operand encoding), but have undefined
    behavior when the operand value is 13 or 15 (SP and PC, respectively).
    The trivial coalescer in linear scan sometimes will merge a copy from
    SP into a subsequent instruction which uses the copy, and if that
    instruction cannot legally reference SP, we get bad code such as:
      mls r0,r9,r0,sp
    instead of:
      mov r2, sp
      mls r0, r9, r0, r2

    This patch adds a new register class for use by Thumb2 that excludes
    the problematic registers (SP and PC) and is used instead of GPR
    for those operands which cannot legally reference PC or SP. The
    trivial coalescer explicitly requires that the register class
    of the destination for the COPY instruction contain the source
    register for the COPY to be considered for coalescing. This prevents
    errant instructions like that above.

    PR7499

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bb43b78f014c77176dbfb4a9b79590b3068a01c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 29 23:35:00 2010 +0000

    remove a layer of cruft

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94851060284e27be4d682356ed22279de2669dec
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 29 23:20:29 2010 +0000

    Fix this up per llvm-gcc r109819.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109820 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfa64a73b5b2c211f32446edcc85ed994cc36f0f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 29 23:15:04 2010 +0000

    Supress valgrind errors from python.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 994dd8b80b2104379a1144f2e8b00eb1204b0343
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 29 22:55:29 2010 +0000

    Remove the temporary hack, now that the llvm-i686-linux buildbot has
    completed a successful build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00696dcfa067f654527ed3c7ed418e5be9807a5d
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jul 29 22:48:09 2010 +0000

    Add builtins for ssat/usat, similar to RealView's __ssat and __usat intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109813 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1f2ce959699b7430164273d13c2d1eb3ba3375a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 29 22:33:35 2010 +0000

    Fix the temporary hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109810 91177308-0d34-0410-b5e6-96231b3b80d8

commit dec9881c5ef57f605ee4def01cc2069f1eaf2ab8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 29 22:18:50 2010 +0000

    Temporary hack to ensure stale Analysis dir is cleaned up on llvm-i686-linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109809 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d3bc2c3559b17639274c0e872080b021d66084e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 29 20:36:36 2010 +0000

    Remove XFAIL, test doesn't leak anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109801 91177308-0d34-0410-b5e6-96231b3b80d8

commit a92ff2ca1935c4e1f5449248c43e8127e45b2cb8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 29 20:34:14 2010 +0000

    Refactor ARM-specific DAG combining in preparation for adding some more
    transformations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109800 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fbeb00e26154a29c48fdea37a740cf9000c1c0d
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jul 29 20:10:08 2010 +0000

    Implement vector constants which are splat of
    integers with mov + vdup.  8003375.  This is
    currently disabled by default because LICM will
    not hoist a VDUP, so it pessimizes the code if
    the construct occurs inside a loop (8248029).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109799 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3be91cb19598899d6edc83956b72f54471df7d3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 29 18:29:28 2010 +0000

    Don't assert on an unrecognized BrMiscFrm instruction.
    PR7745.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 444d549d40627f54a3533f43469d61e05cea5b61
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 18:20:13 2010 +0000

    Transcribe IRC to svn.  Also don't print basic block names twice if they match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109787 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8a97c54fee320d1923d1a059ea4d69444e33d9f
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 29 18:11:28 2010 +0000

    Grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d7cf6865737b96f1b8959fcfb61fd83cfa0ba14
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 18:08:23 2010 +0000

    Make the header self-contained and follow #include guidelines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e551018d78aa32c4333ce60ab9b6d01572db2ba
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jul 29 18:03:33 2010 +0000

    PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnull
    if CExpr is a ConstantInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109773 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf25e15d54ab3dcd392976dff689d0d129f148ee
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 29 17:57:57 2010 +0000

    Make un-named values legible in certain vim configurations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109772 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3b1d89db22ab2daf3f4d13bbce2a29273964b53
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jul 29 17:56:55 2010 +0000

    Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD & QSUB instructions.
    Behave identically to __qadd & __qsub RealView instruction intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 224779dcea16a34f76abaf318312449aab4c52fb
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 17:55:00 2010 +0000

    Switch to using the LLVM CommandLine library so that our help
    message is properly contaminated with nonsense about timing passes
    that doesn't apply at all to this utility. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ceeaaa598f4334de7eca1d8f2edf0db65d2cc6e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 29 17:48:06 2010 +0000

    Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109767 91177308-0d34-0410-b5e6-96231b3b80d8

commit e67dbbad17a19f6cebfb61d68ca0ab0e3a06eb78
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jul 29 17:45:24 2010 +0000

    Comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34ae1647fa46564ad3206ed242ac190a0322e11f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 29 17:42:27 2010 +0000

    Revert r109652, and remove the offending assert in loadRegFromStackSlot instead.

    We do sometimes load from a too small stack slot when dealing with x86 arguments
    (varargs and smaller-than-32-bit args). It looks like we know what we are doing
    in those cases, so I am going to remove the assert instead of artifically
    enlarging stack slot sizes.

    The assert in storeRegToStackSlot stays in. We don't want to write beyond the
    bounds of a stack slot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4abb415302091c08c6e0e89b62ed21f2869d5309
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 29 15:24:21 2010 +0000

    CrashRecovery: Use ThreadLocal::erase() instead of set(0).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89395e87ebed3060753702b7e3673aa93a5e5c6f
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Jul 29 14:20:59 2010 +0000

    Make the test while reducing blocks functional. This avoids accessing freed
    memory when one of the original BB is destroyed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b5205d31d5977da594ec66b757469ef91d5b142
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 29 13:53:19 2010 +0000

    Stop leaking std::strings in GetDwarfFile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af4e968e3c281a6cba0854f17e11d23af5f25f0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 29 11:57:59 2010 +0000

    COFFObjectWriter: Don't leak COFFSymbols and COFFSections.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109745 91177308-0d34-0410-b5e6-96231b3b80d8

commit e795f2e192d285defa193ffefd22e1fa84d8a453
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 09:20:34 2010 +0000

    Centralize the logic to permanently unify two instructions and make sure
    it establishes a context and does a complaining diff.  Also make sure we
    unify the prelude and postlude of a diff after a block-diff call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57a8dcfebc5e23300c01d603a23a7546da8a222c
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 09:04:45 2010 +0000

    Diagnose non-structural differences in the case where blocks were
    structurally identical.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b319434d5854608de18ddd8adfe741d7727dff8
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 08:59:27 2010 +0000

    When unifying instructions during a block diff, actually complain about
    any differences we see.  This should only happen if there are "non-structural"
    differences between the instructions, i.e. differences which wouldn't cause
    diff to return true.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c18d684eb176cce9f9120808c9d03f31e261196
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 08:53:59 2010 +0000

    Somehow I was getting reasonable results for the test cases I was interested
    in despite not ever incrementing any path costs, so that the only nonzero costs
    arose from the all-left path in the first column.  Anyway.  Perform the diff
    starting from the beginning of the block to avoid capturing (say) loads of
    allocas.

    Vastly improves diff results on code that hasn't been mem2reg'ed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c4660d3415fcf2576e2ffd06948513c2b9beb3c
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 08:14:41 2010 +0000

    Cache the result of errs() and implement formatted logging.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3455d18438d50d1df477a93c0a3e9a99bfa24c33
Author: John McCall <rjmccall@apple.com>
Date:   Thu Jul 29 07:53:27 2010 +0000

    Add the llvm-diff tool, which performs a relatively naive structural
    diff of a function.  There's a lot of cruft in the current version, and
    it's pretty far from perfect, but it's usable.

    Currently only capable of comparing functions.  Currently ignores metadata.
    Currently ignores most attributes of functions and instructions.

    Patches welcome.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109739 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4fe7bb0578458b26e3aca27646db2185625b964
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 29 01:52:04 2010 +0000

    Make sure to include config.h, to pickup LLVM_ON_WIN32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65eaec70b11907b668fa34616310618d46f1d0e4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 29 01:51:55 2010 +0000

    MC: Destroy Macro instances.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109720 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4344274288c0b11cbff472aba3a6d0f02b49ab5
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 29 01:25:38 2010 +0000

    Speculatively revert r109705 since it seems to be causing some build bot
    angst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109718 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98ce49ae35c4ed8d32f9e6696408ed35e9f5887a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 29 01:21:47 2010 +0000

    CrashRecoveryContext: Add a simple POSIX implementation.
     - This works, but won't handle crashes on stack overflow, or signals delivered
       to a thread other than the one that crashed. The latter is particular annoying
       on Darwin, because SIGABRT tends to go to the main thread.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109717 91177308-0d34-0410-b5e6-96231b3b80d8

commit f10582dacfe1b0560bdf60fe5352f3095b5d28f0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 29 00:52:19 2010 +0000

    Fix a bug in the -regalloc=fast handling of exotic two-address instruction with
    multiple defs, like t2LDRSB_POST.

    The first def could accidentally steal the physreg that the second, tied def was
    required to be allocated to.

    Now, the tied use-def is treated more like an early clobber, and the physreg is
    reserved before allocating the other defs.

    This would never be a problem when the tied def was the only def which is the
    usual case.

    This fixes MallocBench/gs for thumb2 -O0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109715 91177308-0d34-0410-b5e6-96231b3b80d8

commit f905069309e141cea9242e33384399375e8df512
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 29 00:52:16 2010 +0000

    Use the right gcc tool args for IsARMArchitecture.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109714 91177308-0d34-0410-b5e6-96231b3b80d8

commit f775a082a2783b6632e49638fccd7c8934b93137
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 29 00:17:55 2010 +0000

    Factor out some of the code for updating old SCEVUnknown values, and
    extend it to handle the case where multiple RAUWs affect a single
    SCEVUnknown.

    Add a ScalarEvolution unittest to test for this situation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1077db6c99a3324ec2c9f73e891a9a6a8a35e93b
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 28 23:50:08 2010 +0000

    Pass the queried value by argument rather than in a member, in preparation for supporting PHI translation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4207bfb17caacc9c1d762338b8779292ab1fdfa2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 28 23:25:44 2010 +0000

    ARM mode version of r109693. Remove incorrect substitution pattern for UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cc86cc25f3e58e0c21f70415313a391e59c2012
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 28 23:17:45 2010 +0000

    Remove incorrect substitution pattern for UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 391e1d9be61d6a30985650bcec968f9deae183ab
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 28 23:16:12 2010 +0000

    Remove dead prototype

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109691 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae4bae8706089948d7763c8e868d311f1e6f7392
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 22:50:26 2010 +0000

    simplify by using CallSite constructors; virtually eliminates CallSite::get from the tree

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79983b3f57bc101742945b28499048bb52e9486b
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 28 22:49:43 2010 +0000

    Add an erase() method to llvm::ThreadLocal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0955be36406b562ca7dd3feb3240a8923dee3087
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 28 22:30:53 2010 +0000

    Add more doxygen comments for llvm::ThreadLocal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74153cbc8b592f66fc04349a65daffb0cc6327cb
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 28 22:07:25 2010 +0000

    Get rid of LVIQuery as a distinct data structure, so that we don't have to initialize a new set of maps on every query.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d571e239cee6d3cd8a32acda546dacb357c7930
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 21:02:38 2010 +0000

    Move MaximumAlignment to Value.h, now that GlobalValue.h needs it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 251bb79f5cd3ff039efa3882fd3ece9788adf0e4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 20:56:48 2010 +0000

    Make GlobalValue alignment consistent with load, store, and alloca
    alignment, fixing silent truncation of alignment values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109653 91177308-0d34-0410-b5e6-96231b3b80d8

commit e37481ad71a8fab54b1b03a4e551d7353e3735e1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 28 20:55:38 2010 +0000

    Create a fixed stack object for varargs that is as large as any register.

    The size of this object isn't used for anything - technically it is of variable
    size.

    This avoids a false positive from the assert in
    X86InstrInfo::loadRegFromStackSlot, and fixes PR7735.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109652 91177308-0d34-0410-b5e6-96231b3b80d8

commit be1edb836db03955aeb7538815796c82db9d8a76
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Jul 28 20:55:35 2010 +0000

    Added first bit of support for the dwarf .file directive.  This patch collects
    the info from the .file directive and makes file and directory tables that
    will eventually be put out as part of the dwarf info in the output file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109651 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7ee8613118925e4b8119d8a22f1b4669b85bf51
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jul 28 20:28:50 2010 +0000

    RegionInfo: Make sure to free cached nodes; Tobias, please check!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a32aba4d834ae297a5b3d25530ac0d987f33a4b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jul 28 20:28:45 2010 +0000

    MC: Put back the MCFragment vtable, so subclasses are destroyed properly (duh).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 972a40995e68b8a2915ac2ccecd5004af2a167f8
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 28 20:26:43 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109647 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7aff91b9d55ad639c33a606ab050ab5db8ae582
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 28 20:26:34 2010 +0000

    Use a C++ compiler for the atomic builtin check since we'll
    be using a C++ compiler to build.

    Patch by Török Edwin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109646 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa6f837cc1ae2082019fb73546bd5a04fed959d5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 20:12:04 2010 +0000

    Define a maximum supported alignment value for load, store, and
    alloca instructions (constrained by their internal encoding),
    and add error checking for it. Fix an instcombine bug which
    generated huge alignment values (null is infinitely aligned).
    This fixes undefined behavior noticed by John Regehr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109643 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6948d330f6f3ede1875031c30f1edac0641a15ef
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 28 18:35:46 2010 +0000

    Print out the regclass of any virtual registers used by a machine instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109608 91177308-0d34-0410-b5e6-96231b3b80d8

commit 632ba3e445fb4b9d1e40eb48b9a2901a7e783039
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 28 18:21:10 2010 +0000

    Fix a warning from gcc-4.0 (from the ppc buildbot).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a645182efdde411b1426c0ae9f84c4ddff6f7f4
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jul 28 18:12:30 2010 +0000

    Instead of abusing swapProgramIn, just add a Module argument to
    EmitProgressBitcode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109602 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6239d9528ef046de1e977e0638fa7e8f457b4ab5
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Jul 28 17:17:46 2010 +0000

    Unbreak my CMake build, say you'll compile for me again...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109598 91177308-0d34-0410-b5e6-96231b3b80d8

commit e91d3c8385df3df998f86beebbbcc3736ecca879
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 17:15:36 2010 +0000

    Fix this code to avoid decrementing an iterator past the beginning
    of a std::vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c0de2c450202b1015a50d9bda94df871c8bd026
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 17:14:23 2010 +0000

    When user code intentionally dereferences null, the alignment of the
    dereference is theoretically infinite. Put a cap on the computed
    alignment to avoid overflow, noticed by John Regehr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109596 91177308-0d34-0410-b5e6-96231b3b80d8

commit 326c1dbbc5a06fcb057d9a400f4c39b53bcada2b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 17:11:36 2010 +0000

    Do GEP offset calculations with unsigned math rather than signed math
    to avoid undefined behavior on overflow, noticed by John Regehr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109594 91177308-0d34-0410-b5e6-96231b3b80d8

commit c891215a89995f8f4fe552542214218e814bcdd1
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 17:09:24 2010 +0000

    Add some extra friend declarations to fix a gcc-4.0 compile error.
    This is a temporary fix, until more elaborate changes are ready.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109593 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc3747ab7e6599213a6c3d89c57108277c5cfe64
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 15:52:43 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109589 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4b8b33da60de98b1ea3c44a17e72d6069e8390a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jul 28 15:40:20 2010 +0000

    Support: Add CrashRecoveryContext helper object.
     - Designed as a simple wrapper to allow clients to attempt to catch crashes
       (memory errors, assertion violations, etc.) and do some kind of recovery.

     - Currently doesn't actually attempt to catch crashes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31bdeccf503e07caab847c8626b7dc51f02688cd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 15:31:37 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109585 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf233773955e93ece2494479e3c7f87424f9c934
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 15:17:26 2010 +0000

    Update svn:ignore properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 525265f5dd1565b2a6ee95340c8e64fa70ce583c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 14:28:18 2010 +0000

    use Value* constructor of CallSite to create potentially improper site, and test that

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109581 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4d37fc7a7abc513e387ca594333b71f293054a4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 12:35:54 2010 +0000

    use Value* constructor of CallSite to create potentially improper site, and test that

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109580 91177308-0d34-0410-b5e6-96231b3b80d8

commit e95c78586e90abbeec3a6faafd0955ca9b3c3aa2
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 12:19:46 2010 +0000

    use Value* constructor of CallSite to create potentially improper site

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109579 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd697163d42a55b8a2607d75f4c8566322c21b61
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 10:57:28 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109578 91177308-0d34-0410-b5e6-96231b3b80d8

commit d808effe12dd968283bd2f69d05740afdffe3136
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 10:46:09 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4798bb61b17e10dad7ecd2a0d3cccb3767b878ab
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 28 10:44:59 2010 +0000

    we are supposed to only create proper CallSites from an instruction (esp. CallInst and InvokeInst)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a4c59f700f1877ed8e9789034361de85d26f827
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 28 01:52:23 2010 +0000

    Filter out patterns that have PredicateOperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109572 91177308-0d34-0410-b5e6-96231b3b80d8

commit a721dc1918de797429d02bb802b67fbdd327258e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 01:09:07 2010 +0000

    Make SCEVCallbackVH::allUsesReplacedWith update the old SCEVUnknown
    object, as it may still be referenced by SCEVs not cleaned up by the
    use list traversal.

    Also, in ScalarEvolution::forgetValue, only check for a SCEVUnknown
    object for the original value, not for any value in the use list,
    because other SCEVUnknown values aren't necessary obsolete at that
    point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109570 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd84973114e470a9dc3085eaa2a45378fd33dfc6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 00:28:25 2010 +0000

    Make SCEVCallbackVH::allUsesReplacedWith unconditionally delete
    the old value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109567 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1f7167d38f737dae693c3792c0f070bfb489b2d
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jul 28 00:21:48 2010 +0000

    Implement a vectorized algorithm for <16 x i8> << <16 x i8>
    This is about 4x faster and smaller than the existing scalarization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3637f9699ef21c1032ad43c637a8ab4af51e9ffa
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 28 00:21:18 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 405c6a6da0c152de887709a0438d3da9c269d6fd
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 27 23:58:11 2010 +0000

    Rearrange several datastructures in LazyValueInfo to improve compile time.
    This is still not perfect, but better than it was before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46d6d6e5ad737cd175bd5d534b4a1757ec2f244e
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 27 23:55:47 2010 +0000

    Fill out the interface of DenseSet a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6063e98b1386c091b31ab3c6a42185e0dd1abdc3
Author: Stuart Hastings <stuart@apple.com>
Date:   Tue Jul 27 23:15:25 2010 +0000

    Testcase for r109556.  Radar 8198362.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109557 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8a63dbaac811e03de98be246643ae370da6443e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 22:53:28 2010 +0000

    reintroduce original (asserting) semantics of CallSite(Instruction *II)
    add instead a CallSite(Value* V) constructor that is consistent with ImmutableCallSize
    and use that one in client code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23c9b3e6c5f23b000b33960a2fc7547f5bd4c39f
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jul 27 22:37:06 2010 +0000

    ~40% faster vector shl <4 x i32> on SSE 4.1  Larger improvements for smaller types coming in future patches.

    For:

    define <2 x i64> @shl(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp {
    entry:
      %shl = shl <4 x i32> %r, %a                     ; <<4 x i32>> [#uses=1]
      %tmp2 = bitcast <4 x i32> %shl to <2 x i64>     ; <<2 x i64>> [#uses=1]
      ret <2 x i64> %tmp2
    }

    We get:

    _shl:                                   ## @shl
    	pslld	$23, %xmm1
    	paddd	LCPI0_0, %xmm1
    	cvttps2dq	%xmm1, %xmm1
    	pmulld	%xmm1, %xmm0
    	ret

    Instead of:

    _shl:                                   ## @shl
    	pshufd	$3, %xmm0, %xmm2
    	movd	%xmm2, %eax
    	pshufd	$3, %xmm1, %xmm2
    	movd	%xmm2, %ecx
    	shll	%cl, %eax
    	movd	%eax, %xmm2
    	pshufd	$1, %xmm0, %xmm3
    	movd	%xmm3, %eax
    	pshufd	$1, %xmm1, %xmm3
    	movd	%xmm3, %ecx
    	shll	%cl, %eax
    	movd	%eax, %xmm3
    	punpckldq	%xmm2, %xmm3
    	movd	%xmm0, %eax
    	movd	%xmm1, %ecx
    	shll	%cl, %eax
    	movd	%eax, %xmm2
    	movhlps	%xmm0, %xmm0
    	movd	%xmm0, %eax
    	movhlps	%xmm1, %xmm1
    	movd	%xmm1, %ecx
    	shll	%cl, %eax
    	movd	%eax, %xmm0
    	punpckldq	%xmm0, %xmm2
    	movdqa	%xmm2, %xmm0
    	punpckldq	%xmm3, %xmm0
    	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109549 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9e8f3256470fc4af9c93023e8b1da2d6f10ddb1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 22:02:00 2010 +0000

    recommit simplification (originally r109504, backed out in r109508) now that problem in CallSiteBase is fixed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65b57526b65614dbf3dc5cc9d1577d095b1f01e1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 21:46:11 2010 +0000

    remove bogus assert, use static_cast for additional checking

    left two new asserts commented out, because they would fire in clang, have to hunt those down first

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a1292adf6f4502e096ee6946b2425378cd7af6f
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 27 20:51:15 2010 +0000

    It is FE's responsibility to emit proper directory name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109538 91177308-0d34-0410-b5e6-96231b3b80d8

commit b18c940748bb3437aaedb64e051b9656e18c5843
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 27 18:59:50 2010 +0000

    make lookup failures not fatal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109530 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb1fb421a0197a1edee662b30d8865de463a6518
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 27 18:36:27 2010 +0000

    Grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13787c6a2bfde831da130cba8ad1bd1759919ac8
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 27 18:13:53 2010 +0000

    Update tests to not rely on input file's absolute path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ad727335889bf5b87e45832ae6f0ec00e307f49
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jul 27 18:02:18 2010 +0000

    Fix a crash in the dag combiner caused by ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself
    recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ae62dd3de00a17edb72007990179a78523ee6dd
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 27 17:38:47 2010 +0000

    80 column

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109513 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfa554cdc9aaf33450f4ca2eed6e7726abe374ab
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 27 17:14:29 2010 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4535f47d9a65073c2da31c5656e10926d48b2769
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 16:44:23 2010 +0000

    recommit simplification (r109502, backed out r109509); seems to innocent

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109510 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2605844d218b8d7eba195e05c762e8629c397e4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 15:56:07 2010 +0000

    back out this too to restore the bots

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 193f29c77b1b780a061b36a7e52b1eafbbe290ee
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 15:18:11 2010 +0000

    back out r109504, breaks the bots

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05da80e4ad150fa2a0f534b5831a8f6a91d213d7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 15:02:37 2010 +0000

    simplify: CallSite::get --> CallSite constructor

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109506 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7287e186b93f85e1411338e30d7bf5e640283617
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 14:38:38 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109504 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5d78bbcbbd71d96afcb2eec05d54aa6ddeaf438
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 14:15:29 2010 +0000

    use ImmutableCallSite for const-corrgoodness

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69cbf060d2c93c8479fca750dc32a6279a6ffe62
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 27 13:31:22 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a45a38a3788446f13960b8b61a9098d3bcfffa5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Jul 27 11:19:40 2010 +0000

    Fix silent failure with no input files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 544ec73f9f5afc97e1d4d3c1a3acabb4f42621d2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Jul 27 11:19:36 2010 +0000

    Return -1 only on failure to execute a program.

    Also fix some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95738b1bfb8084f335c3e78015b4737f12abdd32
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 27 09:09:05 2010 +0000

    In commit 91421, isPod was changed from false to true for these value handles.
    Change it back again: destructors and constructors need to be run.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d7406f22db22982fbc896582b569b1d31531f29
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Jul 27 09:01:26 2010 +0000

    Make coff-dump.py executable and add python as executable for this script.

    This fixes the MC/COFF/basic-coff.ll test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109497 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21a4f0558fb6cc3826db0a042c41d4da817e2224
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Jul 27 08:39:43 2010 +0000

    RegionInfo: Add getMaxRegionExit()

    getMaxRegionExit returns the exit of the maximal refined region starting
    at a specific basic block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 589c4d2b7831db74202f2e3c771e54c0f6dd7dcd
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 27 06:53:14 2010 +0000

    After updating value handles for RAUW, check that no weak or tracking handles
    are still on the list.  This might happen if a CallbackVH created some new value
    handles for the old value when doing RAUW.  Barf if it occurs, since it is almost
    certainly a mistake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27c8eb2153252f0aa2e8c433915da58e04431fe4
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Tue Jul 27 06:46:15 2010 +0000

    Make MC use Windows COFF on Windows and add tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 744da1076d8b57f38416e28812701567edf0cf09
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Jul 27 04:17:13 2010 +0000

    Add function to query RegionInfo about loops.

    * contains(Loop), * getOutermostLoop()
    * Improve getNameStr() to return a sensible name, if basic blocks are not named.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109490 91177308-0d34-0410-b5e6-96231b3b80d8

commit c83955d95698927cd60f032c14330e135aeadd62
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 27 04:17:01 2010 +0000

    The isLoadFromStackSlot and isStoreToStackSlot have no way of reporting
    subregister operands like this:

    %reg1040:sub_32bit<def> = MOV32rm <fi#-2>, 1, %reg0, 0, %reg0, %reg1040<imp-def>; mem:LD4[FixedStack-2](align=8)

    Make them return false when subreg operands are present. VirtRegRewriter is
    making bad assumptions otherwise.

    This fixes PR7713.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68480da7b2f958532d392cf77217a264d7336e07
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 27 04:16:58 2010 +0000

    Add assertions that expose the PR7713 miscompilation: Accessing a stack slot
    with a too-big register class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2348b09b47150e5d50e58644679da722bde4d31f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jul 27 01:55:19 2010 +0000

    It's better to have the arrays, which would trigger the creation of stack
    protectors, to be near the stack protectors on the stack. Accomplish this by
    tagging the stack object with a predicate that indicates that it would trigger
    this. In the prolog-epilog inserter, assign these objects to the stack after the
    stack protector but before the other objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109481 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa6c4b2554ce1de0882677ae22e79b383e67ffec
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 27 01:19:06 2010 +0000

    Use AssertingVH for InsertedValues and InsertedPostIncValues, to verify
    that the values they refer to aren't being deleted underneath them.

    Make sure these containters get cleared by clear(), which IndVarSimplify
    and LSR both use before deleting instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1046cff821897dea25aed569bf9b435f47eb8d30
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 27 00:04:55 2010 +0000

    (Hopefully) One last test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109473 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2ee29e6c4b116baccda09b614fe2046320c1ed2
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 27 00:00:47 2010 +0000

    Another test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109472 91177308-0d34-0410-b5e6-96231b3b80d8

commit 552ecf9fc7ff38a683eb85dfdc1e3180cad3f75a
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 23:58:46 2010 +0000

    Another test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27824879177e6a9b05fd281f84c68278667af7f2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jul 26 23:44:11 2010 +0000

    Add SplitEditor to SplitKit. This class will be used to edit live intervals and
    rewrite instructions for live range splitting.

    Still work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109469 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec8bd55c828f5c110e2dcfc872d90ac93c90a4b0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 23:40:24 2010 +0000

    Fix a use-after-free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69191b012809325d570d534d356f2760677857ba
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jul 26 22:36:52 2010 +0000

    Using llvm.eh.catch.all.value instead of .llvm.eh.catch.all.value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72acac7ff22513345f59866fe368995918b1f2df
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Jul 26 22:28:18 2010 +0000

    And a bit more non-ASCII stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fc96648031649a3e97df6cb7fecfe1bd280723d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Jul 26 22:23:07 2010 +0000

    Drop some non-ascii stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22012471ea873c9f97a58417f3aa3ef7831ef56f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jul 26 21:58:00 2010 +0000

    Don't call __register_frame from the JIT on systems that use setjmp/longjmp
    exception handling.  Also fix an extra underscore typo in one instance of
    "__ARM_EABI__".  Radar 8236264.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9374a8501eca4bc68f201345485120a22b566954
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jul 26 21:50:05 2010 +0000

    On x86, f32 / f64 nodes share the same registers as 128-bit vector values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66d10135a147d53559d68f66d3e021295f7209ea
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jul 26 21:49:07 2010 +0000

    The "excess register pressure" returned by HighRegPressure() is not accurate enough to factor into scheduling priority. Eliminate it and add early exits to speed up scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f76db4cec1d51d6104f4082b3d8c6a94c7aa05b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Jul 26 21:48:35 2010 +0000

    Add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2624466abb24114080364ae8825d7136e292a867
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 21:05:37 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a2f10e31173d8bca1f371b20efc750b08723f64
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jul 26 21:01:18 2010 +0000

    Temporary hack to let codegen assert or generate poor code in case
    we are using AVX and no AVX version of the desired intruction is present,
    this is better for incremental dev (without fallbacks it's easier to spot
    what's missing). Not sure this is the best hack thought (we can also disable
    all HasSSE* predicates by dinamically marking them 'false' if AVX is present)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109434 91177308-0d34-0410-b5e6-96231b3b80d8

commit aac047b831ad8d99c00229a354e429bcff288d72
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 20:51:45 2010 +0000

    Testing some more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109433 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bb32121d26196cbd9e8311dcc633e9b3b8176b3
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 20:19:04 2010 +0000

    Test some more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109431 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c0d3d7447af6c2aceb4058802a02605b64c4c86
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 20:15:47 2010 +0000

    Fix library build messages.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109430 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8644c763bf5c2b2e08612e32ba58b6ad4ecce7f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 20:11:39 2010 +0000

    Add svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36c83579bacf0b9b5ab3317fdaf46f3fc74c3e8e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 26 18:48:07 2010 +0000

    re-commit r109220, the compile error has already been fixed

    Simplifying use_iterators by dereferencing
    is not a good idea. The codebase does not depend
    in this any more, and it may introduce hidden
    runtime cost. If you get compile errors, please
    dereference your iterator before passing to cast<>
    (and friends).

    Also: please consider caching the result of
    operator* and reusing that instead of dereferencing
    many times.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109425 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6eeef08071e736945b55b20f4a5ad2d39d276b9c
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 18:48:03 2010 +0000

    Add an initial implementation of LazyValueInfo updating for JumpThreading.  Disabled for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109424 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffa352407b4e46f99f2fca22a1e4895ec2c718d8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Jul 26 18:45:39 2010 +0000

    Currently EH lowering code expects typeinfo to be global only.
    This assumption is not satisfied due to global mergeing.
    Workaround the issue by temporary disablinge mergeing of const globals.
    Also, ignore LLVM "special" globals. This fixes PR7716

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 981ee3aba47616d031192d0c214843ba6169758e
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 18:44:56 2010 +0000

    Fix a test with malformed IR.  Not sure why this didn't fail before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32b553e7680586d8e7dba714068cb2274748c3fe
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jul 26 18:32:55 2010 +0000

    ARM fastisel isn't ready.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7867267cc7dcb74d30db70e6fe0f238968d4c8bb
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 18:31:17 2010 +0000

    One more test commit...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109420 91177308-0d34-0410-b5e6-96231b3b80d8

commit d008c9226de9c4f3745ce5b35817e255e3cd3ed4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 18:28:14 2010 +0000

    Fix SCEVExpander::visitAddRecExpr so that it remembers the induction variable
    it inserted rather than using LoopInfo::getCanonicalInductionVariable to
    rediscover it, since that doesn't work on non-canonical loops. This fixes
    infinite recurrsion on such loops; PR7562.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80c0cd49cae6f26f87c7da1fb9536f6b85268350
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 18:15:41 2010 +0000

    Handle Values with no value in getCopyFromRegs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46b976d76bfc4711e26dcc760ab562ae0c787a25
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 18:13:21 2010 +0000

    Hopefully the last test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109414 91177308-0d34-0410-b5e6-96231b3b80d8

commit c48fd5408d8eaa766b218ad2070713e72597d8ed
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 18:11:16 2010 +0000

    Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus
    dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier
    pass in StandardPasses.h to ensure that it gets scheduled at the right
    time.

    Declare that loop unrolling preserves ScalarEvolution, and shuffle some
    getAnalysisUsages.

    This eliminates one LoopSimplify and one LCCSA run in the standard
    compile opts sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109413 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba693920298991812a636fa4bb8b99d0aafa30ab
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 18:02:06 2010 +0000

    Preserve ScalarEvolution in the loop unroller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109412 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecb985b9bd78e00522da587aac0852a5bcf8ccfc
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 18:00:59 2010 +0000

    Another test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72ec601264bc8ad8cf7c8e72e552c16577b2b6a0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 18:00:43 2010 +0000

    Avoid depending on LCSSA implicitly pulling in LoopSimplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109410 91177308-0d34-0410-b5e6-96231b3b80d8

commit f20312c639dff91f1a5030c56aa423d97c7a1e13
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 26 17:56:42 2010 +0000

    Test commit for new post-commit hooks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f38f41f182899b4483597a5b4840214361934fa
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:55:15 2010 +0000

    Fix (at least) quadratic worst-case complexity in DominanceFrontier::splitBlock:
    don't visit all blocks in the function, and don't iterate over the split blocks'
    predecessor lists for each block visited.

    Also, remove the special-case test for the entry block. Splitting the entry
    block isn't common enough to make this worthwhile.

    This fixes a major compile-time bottleneck which is exposed now that
    LoopSimplify isn't being redundantly run both before and after
    DominanceFrontier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cc629172956ad95bd0ff7bc588f7f79b5159128
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jul 26 17:53:07 2010 +0000

    80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84b7a1894dd866eeaf61695c77463a485cfdee46
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:45:33 2010 +0000

    Avoid copying and recopying a std::set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 366eaeaa99573e3a1ac1507250be409ca1acb5ab
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:41:45 2010 +0000

    Exit a search loop when the search goal is found.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21e1cb1b22ab1ee77d17fb2acf9ad65dfc5cb495
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:39:33 2010 +0000

    Fix formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49891df074fabcfdbcb488e0a3103ac1c6cbacfc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:38:15 2010 +0000

    A block dominates itself, by definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d9da9f2c6f39de1cce794009e893cd78cc8da51
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:37:36 2010 +0000

    Use DominatorTree::properlyDominates instead of dominates with an
    explicit inequality check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bbc3b6c824352397b7f20e83fb5ba07ca8a0ecc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:35:32 2010 +0000

    A block dominates itself, by definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6dc7c00688bc8f9bb67713f741a40163619bcb28
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 17:34:05 2010 +0000

    Use DominatorTree::properlyDominates instead of dominates with an
    explicit inequality check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109398 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8c1ecf3997ea433ee7ac1c08b8ab4f00a7adfdb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 26 16:01:15 2010 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109394 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e537053edc6b06780155b405f7c10929978968
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Jul 26 07:54:17 2010 +0000

    Pacify gcc-4.5 which wrongly thinks that RExcess (passed as the Excess parameter)
    may be used uninitialized in the callers of HighRegPressure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109393 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1ad921fb13c5309a1c5aac247d3316abfad86a0
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Jul 26 03:55:44 2010 +0000

    Fix format-specifier warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109391 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8da1d0dbd379c534245df7b2c4d0b4e12396d9bd
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Jul 26 03:01:28 2010 +0000

    MC: Fix whitespace error from last commit.

    A Visual C++ extension that removes trailing new lines? Seriously?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 788c35f12aa076fd7f336cfb725b7363c8535d4f
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Jul 26 02:17:32 2010 +0000

    MC: Add WinCOFFObjectWriter implementation.

    Origonal Windows COFF implementation by Nathan Jedffords.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109389 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa8f6048f49ccbbb733724b8f94d260fe5e75096
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Jul 26 01:49:41 2010 +0000

    Factored out a bit of common code to mark VNInfos for deletion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109388 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99d42271a81f083151971ed8348b46a0cd71f23f
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 26 00:07:51 2010 +0000

    Clone and restore the module being reduced in
    ReduceMiscompilingFunctions::TestFuncs. This makes the test functional
    (i.e., no side effects).

    Before we would end up using dead functions if a pass decided to remove them
    (inline for example) and we would also keep broken functions and conclude that
    that a single function was enough to reproduce the bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b0c38f0a15524a406f65db7e2cc83ddf4767d10
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Jul 25 23:18:32 2010 +0000

    Reduce string trashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109386 91177308-0d34-0410-b5e6-96231b3b80d8

commit e68ea64cc37890a7f370ae3496d6d389114e7c65
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Jul 25 22:33:04 2010 +0000

    Don't pass -export-dynamic to the linker on Cygwin and MinGW. These platforms
    accept the flag and do nothing but warn about it, cleverly bypassing our
    configure-based detection system. Patch by Takumi Nakamura!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109385 91177308-0d34-0410-b5e6-96231b3b80d8

commit be1a5ecc9e7cc435a4049bd21740a283712107cf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Jul 25 18:59:43 2010 +0000

    Add comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109383 91177308-0d34-0410-b5e6-96231b3b80d8

commit bae2a9f9be621147fe1b40fa049713ba4740c4fe
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sun Jul 25 17:34:42 2010 +0000

    Remove extraneous semicolon

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109373 91177308-0d34-0410-b5e6-96231b3b80d8

commit c43cc36dd6e9ffeaa717010c5894b220ffd377e9
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sun Jul 25 17:10:14 2010 +0000

    Unbreak CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109372 91177308-0d34-0410-b5e6-96231b3b80d8

commit db868abb6f002833f8d36bbf56f82bc65a91151d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Jul 25 05:34:27 2010 +0000

    Fix crashes when scheduling a CopyToReg node -- getMachineOpcode asserts on
    those.  Radar 8231572.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109367 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae3b74a7c30ecd7b6dcf8fcc0f59ecc288835a3
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 24 23:06:59 2010 +0000

    Revert r109361; it's impossible to write a call with an argument with an
    invalid type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109365 91177308-0d34-0410-b5e6-96231b3b80d8

commit b63d97f51e2b3f8081fb78eb2962d4a69a1984e7
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jul 24 23:05:45 2010 +0000

    Revert unintended white space change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87a4f92d4f223fae0ebe43d976e9e374481458f0
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jul 24 23:02:11 2010 +0000

    Fix a trivial use after free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cc186477a648e8ec5b61d0148aa290a4e2fa899
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 24 23:00:59 2010 +0000

    Minor simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109362 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbbf4bf7f44b45cfba39e2d4887244f8abab6588
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 24 23:00:26 2010 +0000

    Make the ll parser check that arguments have valid types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e905c147559d51809e18db01cfd4246cebf1c01
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 24 22:58:04 2010 +0000

    PR7704: A function is not allowed to return a function; make sure to enforce
    this consistently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c515d52a64c64529d85145fda898d338ac8cec5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Jul 24 21:52:08 2010 +0000

    Hook in GlobalMerge pass

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ca07fea88baae3333a19f35c11586f17e90db0c
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jul 24 20:54:02 2010 +0000

    Revert this because we can't clone cyclic MDNodes which are creating during a
    build of llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 218f0154abcb390ab2876a4710232207e7852211
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Jul 24 20:48:54 2010 +0000

    Add hook to insert late LLVM=>LLVM passes just before isel

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109354 91177308-0d34-0410-b5e6-96231b3b80d8

commit d34abf251accf94e968c45ba61c0fb400b3b57c1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jul 24 19:43:25 2010 +0000

    Whether function-local or not, a MDNode may reference a Function in which case
    it needs to be mapped to refer to the function in the new module, not the old
    one. Fixes PR7700.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 977d77cf6a38cddd80b325ab7ffe491b06a7e344
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jul 24 18:47:46 2010 +0000

    add a new NullablePtr class which makes it more obvious in API
    that a pointer can be null, forcing clients to think about it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b60eeecd7b06a524ba1a44b8df9da9a6a60d252
Author: Peter Collingbourne <peter@pcc.me.uk>
Date:   Sat Jul 24 17:54:00 2010 +0000

    Document BUILD_EXAMPLES makefile variable

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109346 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9c18461d8bc514cbdf995e74c2d7b1f023d3fc5
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jul 24 12:09:22 2010 +0000

    Clarify that if a new value handle is added while dropping value handles
    hanging off a value, then the dropping code will intentionally not drop
    it too (since this is almost certainly a bug).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 069519d488a58554df7fa7eb2da7e22ee70f83e0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jul 24 06:01:53 2010 +0000

    Change ScheduleDAGInstrs::Defs and ::Uses to be variable-size vectors
    instead of fixed size arrays, so that increasing FirstVirtualRegister to 16K
    won't cause a compile time performance regression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109330 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05eca7d5dd8bf07fa2ef1668935cc866a993c406
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jul 24 00:53:22 2010 +0000

    Use current working directory when Dirname is empty. This only happens when absolute source file path is used on compiler command line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ecfdf9eae15978fa9f5230a38f55e4347425c28
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jul 24 00:39:05 2010 +0000

    Add an ILP scheduler. This is a register pressure aware scheduler that's
    appropriate for targets without detailed instruction iterineries.
    The scheduler schedules for increased instruction level parallelism in
    low register pressure situation; it schedules to reduce register pressure
    when the register pressure becomes high.

    On x86_64, this is a win for all tests in CFP2000. It also sped up 256.bzip2
    by 16%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109300 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc6265756af81af68a669998009faab49c27150f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jul 24 00:06:39 2010 +0000

    Support x86 "eiz" and "riz" pseudo index registers in the assembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b987a2e19f77f0d93910421b67477019f2f7dc2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 23 23:50:35 2010 +0000

    Use the appropriate register class for an i32 when adding ARM::LR to the
    function live in set. This will give us tGPR for Thumb1 and GPR otherwise,
    so the copy will be spillable. rdar://8224931

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109293 91177308-0d34-0410-b5e6-96231b3b80d8

commit de770d035a01c3ba54a8dbca32e93a7912e7ed72
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 23 23:48:02 2010 +0000

    Remove too-strict assertion. We may want the vreg copy of the physical register
    to be of a different register class. For example, in Thumb1 if the live-in is
    a high register, we want the vreg to be a low register. rdar://8224931

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109291 91177308-0d34-0410-b5e6-96231b3b80d8

commit f56281dd619b16cb1bcd4b6948cd6480f6414b07
Author: Matt Fleming <matt@console-pimps.org>
Date:   Fri Jul 23 23:40:41 2010 +0000

    Consolidate the ELF section directive tests into a single file as
    suggested by Chris Lattner.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d3a5954f7765d73180bda7bc6240de2062b6209
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Jul 23 23:27:43 2010 +0000

    Fix use-after-free error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109288 91177308-0d34-0410-b5e6-96231b3b80d8

commit f542c4014b680d825fb56963e220b75fadf4cd71
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jul 23 23:04:41 2010 +0000

    Revert r109262.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ce1cdd15e8d53fab9e6fffe0e454a9f11eff144
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 23 22:50:23 2010 +0000

    Revert 109076.  It is wrong and was causing regressions.  Add some
    comments explaining why it was wrong.  8225024.

    Fix the real problem in 8213383: the code that splits very large
    blocks when no other place to put constants can be found was not
    considering the case that the block contained a Thumb tablejump.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109282 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbaa5583fe20984bff7c76cdbd7a562f2b81c3fd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jul 23 22:39:59 2010 +0000

    - Allow target to specify when is register pressure "too high". In most cases,
      it's too late to start backing off aggressive latency scheduling when most
      of the registers are in use so the threshold should be a bit tighter.
    - Correctly handle live out's and extract_subreg etc.
    - Enable register pressure aware scheduling by default for hybrid scheduler.
      For ARM, this is almost always a win on # of instructions. It's runtime
      neutral for most of the tests. But for some kernels with high register
      pressure it can be a huge win. e.g. 464.h264ref reduced number of spills by
      54 and sped up by 20%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109279 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5e5a00564714f3cfdffcf1a4a6f82ec5e9fb768
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 22:15:26 2010 +0000

    Remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109276 91177308-0d34-0410-b5e6-96231b3b80d8

commit afbdfd657e8bcdaf40f2f68401034425c99d96ea
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 21:34:51 2010 +0000

    Eliminate getCanonicalInductionVariableIncrement's last user and
    eliminate it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109270 91177308-0d34-0410-b5e6-96231b3b80d8

commit f57f0bce9dee4be9ab08b37270caf81731fa2694
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 21:25:26 2010 +0000

    Move AVX encoding tests to different files

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109269 91177308-0d34-0410-b5e6-96231b3b80d8

commit a69a89b6bdb5f04a6297cb6aad5143decce22d05
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 21:25:16 2010 +0000

    Simplify this code; it can use the regular CFG utlities rather than
    the BlockTraits abstractions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e4d1d441f0f5667025bccf560a9d0de73d2da4d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 21:20:52 2010 +0000

    Micro-optimize SCEVComplexityCompare.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6da150414db2da30c8ff480e0b0857d285139194
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 21:18:55 2010 +0000

    Add a const qualifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109266 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9724f609fd5780efdbb4ab83a15c3a9ca122602
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 21:08:12 2010 +0000

    Use the proper type for shift counts. This fixes a bootstrap error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109265 91177308-0d34-0410-b5e6-96231b3b80d8

commit d876192a4680c3899893f529f37cd40ce6ef967c
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jul 23 20:36:13 2010 +0000

    IF directory name is empty then try to extract one using absolute file name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109262 91177308-0d34-0410-b5e6-96231b3b80d8

commit e85c97969277da1a62035743b285db49a3662d43
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Jul 23 20:15:49 2010 +0000

    Test case to insure template function declaration refers to correct filename.  Radar 8063111.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45f55a997f7ecce99248a7fc48b47850b968fa45
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 18:41:12 2010 +0000

    Add AVX version of CLMUL instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109248 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca2eb16642973eb7f2a526dc7165bae3faa298b5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 18:03:30 2010 +0000

    DAGCombine (shl (anyext x, c)) to (anyext (shl x, c)) if the high bits
    are not demanded. This often allows the anyext to be folded away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109242 91177308-0d34-0410-b5e6-96231b3b80d8

commit fafc45524a8ce5c9781e7ec95f3aca6b5aa764b8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 23 16:37:47 2010 +0000

    Make SDNode::dump() print a newline at the end.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 838707cefbbe8d05142d93ee76d2bd938b1ddc07
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 23 13:28:47 2010 +0000

    fix constness warnings

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109224 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0d19465382f63fc4750105b98aa2e6671c4c9a4
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 23 12:16:56 2010 +0000

    Revert r109102 for now as it's causing JIT miscompilations.

    I'll try to track down why a bit later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 592d804d5284ac4b87ddf993e97453da4d4a4898
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 23 10:23:01 2010 +0000

    do not (implicitly) dereference iterator many times, cache it instead

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 527d7572a39a570bdeb02444d8ef0809fa722376
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 23 08:53:17 2010 +0000

    Revert 109220.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109221 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7f9877ecdd35b71cf49982286db10a7cf02ed39
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 23 08:36:07 2010 +0000

    Simplifying use_iterators by dereferencing
    is not a good idea. The codebase does not depend
    in this any more, and it may introduce hidden
    runtime cost. If you get compile errors, please
    dereference your iterator before passing to cast<>
    (and friends).

    Also: please consider caching the result of
    operator* and reusing that instead of dereferencing
    many times.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109220 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f95dbfcb43e14e44723f27018d444193e693924
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jul 23 04:19:39 2010 +0000

    StringRef'icate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109217 91177308-0d34-0410-b5e6-96231b3b80d8

commit f876bdc539b99e555dede55709563b68d4637115
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jul 23 04:19:34 2010 +0000

    Formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109216 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb6529ad5950cb1230f54a23aa6b90b1ddfbc188
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jul 23 03:42:55 2010 +0000

    Get rid of exceptions in llvmc.

    llvmc can be now compiled with llvm-gcc on Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2309b4e80ab6d1b769c9c4182e33dd5e41d2fbb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 23 03:29:59 2010 +0000

    give StringMap a new ctor which allows you to initialize it
    with an existing allocator.  The interesting use case of this
    is that it allows "StringMap<whatever, BumpPtrAllocator&>" for
    when you want to allocate out of a preexisting bump pointer
    allocator owned by someone else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109213 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4d68a25dd823af25278ddf98b940930ed0f6b83
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 23 03:21:53 2010 +0000

    modernize stringset interface

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b101836cfd0300beef29fb040d8b9cac14d56b6
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 01:22:45 2010 +0000

    Declare CLMUL as a subtarget feature

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02df4fd1bd11667c274c2334e7418d31759df84b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 01:17:51 2010 +0000

    Add x86 CLMUL (Carry-less multiplication) cpu feature

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ef67079abb1c3dcbac43cb95c8993d8965ac791
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 23 01:05:59 2010 +0000

    80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 746e22b4a579491452c563f0c8d11ee3cdd45b83
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 00:54:35 2010 +0000

    Add complete assembler support for FMA3 instructions, with descriptions and encodings taken from the AVX manual

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38063be2ac7af8be3b60ba3e8ce936fac2fe952c
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 23 00:30:35 2010 +0000

    The only supported calling convention for X86-64 uses
    SSE, so we can't return floating point values if this
    is disabled.  Detect this error for clang.

    With SSE1 only, f64 is a problem; it can be done, but
    neither llvm-gcc nor clang has ever generated correct
    code for it.  Since nobody noticed this I think it's
    OK to treat it as an error for now.

    This also handles SSE-sized vectors of floating point.
    8207686, 8204109.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109201 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb9897d2fbb7e11cde047a243570db94c7f35e33
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 23 00:14:54 2010 +0000

    Fix some AVX instructions which didnt had HasAVX prefix. And also a problem with PINSRW, which was totally wrong because of a typo I introduced previously

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bde28344fcfb74a92ed2c4c97d88abdc8082105
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 22 23:33:00 2010 +0000

    Add an explicit -sdk option to xcrun command.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109196 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc75acb80df9f50f47c665ffc59f38a56e3612af
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 22 21:51:30 2010 +0000

    Warnings patrol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109174 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf9ee55fe341d6d947fefa62fa8a2f2ce81cc254
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:34:55 2010 +0000

    missed a use of SizeRequired.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 911da5455f9d7710a4a69f34a0ce88da0470a9ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:27:00 2010 +0000

    eliminate the TargetInstrInfo::GetInstSizeInBytes hook.
    ARM/PPC/MSP430-specific code (which are the only targets that
    implement the hook) can directly reference their target-specific
    instrinfo classes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bc23b01eb653ee0904f5d8fc33a58af95bd2e80
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:20:39 2010 +0000

    remove the dwarf sizing stuff which is now dead, it was
    "yet another" copy of the dwarf EH emission code that was
    copied, pasted and slightly hacked up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109169 91177308-0d34-0410-b5e6-96231b3b80d8

commit e92d2e2ebac3608b4d5d84764c778c2aeea6e2a5
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 22 21:18:49 2010 +0000

    Add remaining AVX instructions (most of them dealing with GR64 destinations. This complete the assembler support for the general AVX ISA. But we still miss instructions from FMA3 and CLMUL specific feature flags, which are now the next step

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109168 91177308-0d34-0410-b5e6-96231b3b80d8

commit abb8b60e7fd522424d0d3119fc94d6ae5f05e6e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:17:55 2010 +0000

    remove the JIT "NeedsExactSize" feature and supporting logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109167 91177308-0d34-0410-b5e6-96231b3b80d8

commit af2a5dfe3f0a1aaa97fc7b07f0243fb751919d75
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:14:33 2010 +0000

    switch a private implementation of GetFunctionSizeInBytes.
    This is probably not the best way to implement "Force LR to
    be spilled if the Thumb function size is > 2048." do this,
    it should use the branch shortening infrastructure, but I'm
    just preserving functionality here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109165 91177308-0d34-0410-b5e6-96231b3b80d8

commit f82d35c50cb114748988a0ce56605c472bb1f1d9
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 22 21:13:48 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dd169a36a7991714482c3ed8be8d982ec3afb1e
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 22 21:13:40 2010 +0000

    Try to work around the relative install-sh path problem.

    Patch from Eli.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109163 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4f3194698ee61d4b786c28bb43d009f396a06ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:10:04 2010 +0000

    X86MCInstLower now depends on AsmPrinter being around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7487297f033738ba988c405acd2f6e42a946cbf3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 22 21:05:13 2010 +0000

    instead of migrating it to the MC instruction encoder, just
    rip out the implementation of X86InstrInfo::GetInstSizeInBytes.
    The code being ripped out just implemented a copy and hacked up
    version of the (old) instruction encoder, and is buggy and
    terrible in other ways.  Since "GetInstSizeInBytes" is really
    only there to support the JIT's "NeedsExactSize" hook (which
    noone is using), just rip out the code.  I will rip out the
    NeedsExactSize hook next.

    This resolves rdar://7617809 - switch X86InstrInfo::GetInstSizeInBytes to use X86MCCodeEmitter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109149 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06be569903fe6e8d85782cf77130d40aabf2df60
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 22 18:44:00 2010 +0000

    Speculatively revert 109117

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 524d3d98adc267730adf518256c8b7a2bf99ef26
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Thu Jul 22 17:28:34 2010 +0000

    ARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes PR7608

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67322b3ba0cfa21975121a003acc09e855e5e62a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 17:18:03 2010 +0000

    keep in 80 cols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 614d52b73c25f3edc2c9600a2aa1d4696d1957c5
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 22 16:35:00 2010 +0000

    Map MDNode correctly.
    A non function local MDNode can have an operand which is cloned by MapValue().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68f92f3017c3a55c2532878750f8df7cdf856aaa
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 15:37:20 2010 +0000

    add dyn_cast_or_null tests, exclude invalid dyn_cast test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 479fc4542ba003eb587d6912baaea4673888bdc7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 15:28:30 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4357a9ef920f792fda798fa86fdbf62cbfba8e9b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 15:24:48 2010 +0000

    add dyn_cast tests and beef up others a bit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109109 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0b703be3d94e7d7a10fd18aaf244bf091db1ef7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 14:13:14 2010 +0000

    fit in 80 columns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26f063130ebc63f206e4498f49d9d69415d46cbf
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 13:49:27 2010 +0000

    use cascading operator-> feature

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81180d9ff11e6eafd1be6d339722f6cd2d15d1d6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 13:36:47 2010 +0000

    mass elimination of reliance on automatic iterator dereferencing

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109103 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5ece09ec5f3291b36fe62f3ee98bbb361cb9695
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jul 22 13:10:14 2010 +0000

    Increase the max physreg size.  Patch by Pekka Jääskeläinen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109102 91177308-0d34-0410-b5e6-96231b3b80d8

commit d146f91ddbb5d26c1f35ef29a07fffd7da352ffd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 13:07:39 2010 +0000

    simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109101 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2a3192eb7ba96d4bd50f9fdc7129a0e5f628ad0
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 13:04:32 2010 +0000

    do not access arguments via low-level interface, do not multiply dereference use_iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 637ef7ca92082980f088126c7bc1ddd06089434b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 11:48:35 2010 +0000

    pass dereferenced iterator to dyn_cast

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109099 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dac279538af222455e8c51e0d4942619c67cba1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 11:43:44 2010 +0000

    pass dereferenced iterator to dyn_cast

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fa3689414dc88e984fc81337fb388508bbd7eba
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 11:12:32 2010 +0000

    use -> instead of (*).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109094 91177308-0d34-0410-b5e6-96231b3b80d8

commit adbe1c8300219796ecfb6ad656c9f44ec61ddae6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 11:07:46 2010 +0000

    cache dereferenced iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70c54e7bdc1293b412cd34bb7acf7c59edc04a6c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 22 10:37:47 2010 +0000

    undo 80 column trespassing I caused

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109092 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbbe6aee42abe1c4fef1af8c1bbc425ff4fe1736
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Jul 22 08:02:25 2010 +0000

    Mark an assert-only variable as used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109091 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa1e5bb2cb4dc07cb1be10a0c6e15baf5f92a94d
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Jul 22 08:00:52 2010 +0000

    Fix the generated file name for CMake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3261030111fc8a9c865965d7627826801f3dcaef
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Thu Jul 22 07:46:31 2010 +0000

    Add new RegionInfo pass.

    The RegionInfo pass detects single entry single exit regions in a function,
    where a region is defined as any subgraph that is connected to the remaining
    graph at only two spots.
    Furthermore an hierarchical region tree is built.
    Use it by calling "opt -regions analyze" or "opt -view-regions".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109089 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69e5e88609013e2801392d4ed0e8284742b56b5a
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Jul 22 06:27:45 2010 +0000

    Attempt to fix linking issues with CMake. Please review other CMake users,
    especially on other platforms. Is there a better way to fix this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109084 91177308-0d34-0410-b5e6-96231b3b80d8

commit c651e8bcfc8c66f047a877c182c40262bd19d9b7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 22 06:24:48 2010 +0000

    Re-apply r109079 with fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109083 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3e41ed030fd9d73e23a7b5aa0e66d24042f15ca
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 22 06:01:28 2010 +0000

    Revert r109079, which broke a lot of CodeGen tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109082 91177308-0d34-0410-b5e6-96231b3b80d8

commit a095edc4c5fe0b92f2e2123ced0a695aaebacef9
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 22 06:00:01 2010 +0000

    Update CMake files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85cd83965245acee112693d9d6fe4d5d518887fa
Author: Reid Kleckner <reid@kleckner.net>
Date:   Thu Jul 22 05:58:53 2010 +0000

    Initial modifications to MCAssembler and TargetMachine for the MCJIT.

    Patch by Olivier Meurant!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22ad501af39b782911f4438bc328175d80cc8aa0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 22 05:18:41 2010 +0000

    Initialize RegLimit only when register pressure is being tracked.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109079 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1af42baf5450222ea63743036f07c4f762feaf9
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 22 02:48:34 2010 +0000

    Custom lower the memory barrier instructions and add support
    for lowering without sse2.  Add a couple of new testcases.

    Fixes a few libgomp tests and latent bugs.  Remove a few todos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07350158e6dbd7c1476d8a3c65f8c6de252ba80e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 22 02:09:47 2010 +0000

    Fix constant island pass's handling of tBR_JTr. The offset of the instruction does not have to be 4-byte aligned. Rather, it's the offset + 2 that must be aligned since the instruction expands into:
            mov     pc, r1
            .align  2
    LJTI0_0_0:
            .long    LBB0_14

    This fixes rdar://8213383. No test case since it's not possible to come up with a suitable small one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 588f7560b2a69fd16831b16ba866c222d637058d
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Jul 22 02:05:10 2010 +0000

    If 'other' was empty 'overlapsFrom(other, other.begin());' will segfault. This avoids that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 213947c11516bb17757e330dd473787d6b5be419
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 22 00:40:19 2010 +0000

    lit: Add some example tests for previous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b8c35df8d1fefeff945dc39ea670e83874af226
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 22 00:26:08 2010 +0000

    80-columns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109070 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0284ad1a00b58b9dfbfc7cb5a455ac9faa6baae
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jul 22 00:09:39 2010 +0000

    Make fast isel win64-aware w.r.t. call-clobbered regs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109069 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8d3c3777a3fd98d2cb6ac5f8354eeb0109229dd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 21 23:53:58 2010 +0000

    More register pressure aware scheduling work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 047d189e1279ae330a70b95656ea11652c835b41
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 23:53:50 2010 +0000

    Add more 256-bit forms for a bunch of regular AVX instructions
    Add 64-bit (GR64) versions of some instructions (which are not
    described in their SSE forms, but are described in AVX)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50cc719f42cba9f0e2e7f7da1fb315bdcc5a3c84
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jul 21 23:39:57 2010 +0000

    lit: Add support for 'REQUIRES: feature-one, feature-two, ...' in the
    integrated-test formats (sh and tcl style). The particular features which get
    recognized are up to the test suite itself to define.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109062 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca03e44272be7934c811096ea70c8decb0e16e59
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 23:38:33 2010 +0000

    Make NamedMDNode not be a subclass of Value, and simplify the interface
    for creating and populating NamedMDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109061 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd14ceb8ee66705bf3e33dc24fc4678d3a2f1d34
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jul 21 23:19:57 2010 +0000

    Fixes win64. It was broken by a previous patch where I missed the !isWin64
    and then forced every register to be a vr128 on win64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 523338ee20d5ad58eef5d695d23d34cc7881b905
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 21 23:07:00 2010 +0000

    Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39e0bf89358586a4529a844e704115b8d37c2eb8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 21 23:03:52 2010 +0000

    For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
    rdar://8202967

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 103cbe6e3cbda70e0c9a8efa81b48d015d6f49f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 21 23:03:35 2010 +0000

    add some rough support for making mcinst lowering work without an
    asmprinter or mangler around.  This is option #B for killing off
    X86InstrInfo::GetInstSizeInBytes.  Option #A (killing
    "needsexactsize") was sent for consideration to llvmdev.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109056 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4dde30b4b989561af01fac9dca3f08ee9be187c
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 21 22:58:07 2010 +0000

    First stab at updating the documentation for INITIALIZE_PASS().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109055 91177308-0d34-0410-b5e6-96231b3b80d8

commit 782e3c046ec1235228606741c331f26082418fcd
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 22:26:11 2010 +0000

    Baby steps towards ARM fast-isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109047 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5702c14b23baf469fdd6a5b33318f836169d864
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 21 22:09:45 2010 +0000

    Fix batch of converting RegisterPass<> to INTIALIZE_PASS().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4b99c62f7a2107c4953edbe0c5fe0e1b9eabf21
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 22:07:19 2010 +0000

    Hack around extracts that aren't easy to process.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f7f59223f3bc3bde13e622547ac19a0afa45cbb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 21 22:04:53 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109042 91177308-0d34-0410-b5e6-96231b3b80d8

commit b59980ecf8dd810e14588f00b69bb8db976ff132
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 21:37:59 2010 +0000

    Add missing AVX convert instructions. Those instructions are not described in their SSE forms (although they exist), but add the AVX forms anyway, so the assembler can benefit from it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109039 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd04380c141bdb356867e8d02e4abf29619e57d9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 21 21:36:25 2010 +0000

    tidy up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109038 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcb39e6998f299716dc68d8ce4b50e5b1ec47d6c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 21 21:21:52 2010 +0000

    80 column and trailing whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c58d83090795df60dd7eadd49fbe03208b99d4b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 21:18:37 2010 +0000

    Add some debug output to help diagnose PR7689.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109036 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6d43581ae92f667ff5db7e4fad7107f9928efa2
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jul 21 20:49:52 2010 +0000

    Fix a couple issues with Win64 ABI

    1) all registers were spilled as xmm, regardless of actual size
    2) win64 abi doesn't do the varargs-size-in-%al thing

    Still to look into:

    xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109035 91177308-0d34-0410-b5e6-96231b3b80d8

commit db3bacd17f0cb2cedc2d2e2e699402bec3f1d0b8
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 21 20:46:41 2010 +0000

    Add the INITIALIZE_PASS macro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109034 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc07109716afa4fbf6be60506d2e50c72ef16a60
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 20:38:42 2010 +0000

    Avoid AVX instructions to be selected instead of its SSE form

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 662c51f9ea95417ab84e9442580b255eace94d78
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 20:25:43 2010 +0000

    NamedMDNode is never an operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c0d8416bd6d4f0d43f050bb05dfd2f8d3470690
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 18:54:18 2010 +0000

    Disallow null as a named metadata operand.
    Make MDNode::destroy private.
    Fix the one thing that used MDNode::destroy, outside of MDNode itself.

    One should never delete or destroy an MDNode explicitly. MDNodes
    implicitly go away when there are no references to them (implementation
    details aside).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0303dcbabcec20e8a16c434df066debf465f54d0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jul 21 18:48:59 2010 +0000

    Use System/DataTypes.h instead of stdint.h, which isn't portable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109026 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7aed40343ff7c4cc812608f12feb10bd8be03ca9
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 18:01:42 2010 +0000

    Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
    referenced by NamedMDNodes shouldn't be deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ce2f8f925251de6a4c8426b064998d6cef24c83
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 17:53:53 2010 +0000

    Tidy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27ca4ca83b539bacbe6e49eae787b91c41daba5d
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 21 17:52:45 2010 +0000

    Move the smarts of AnalysisGroup registration into PassRegistry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8896f2b55f287ab40f0938d141c9332b41409e9
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 21 17:21:27 2010 +0000

    Delete an obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109017 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84d88fdbeab42e8ff2c7bccff1f7ee90c9e4c9bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 21 15:57:40 2010 +0000

    strip out the 2.7 release notes, this really is the 2.8 release notes
    now. Add a few items like the fpstackifier improvements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bfd529548720bf9e3f392419c7e7a809e1a84be
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jul 21 11:38:30 2010 +0000

    Fix calling convention on ARM if vfp2+ is enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109009 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffeb1bcb20fd63b83d395750c64c1d084b7e59ff
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 21 10:22:41 2010 +0000

    appease Validator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42e138a605087ef7bcb9344e48a4d43dff7bd468
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 21 10:20:08 2010 +0000

    add info on operand rotation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109006 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4e0c592949e73ab3b94763549a683593b6688d7
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 09:23:56 2010 +0000

    Pulling out previous patch, must've run the tests in
    the wrong directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109005 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4588c02c57980a11843ce19dd8937f928a5a7adc
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 09:05:23 2010 +0000

    Lower MEMBARRIER on x86 and support processors without SSE2.

    Fixes a pile of libgomp failures in the llvm-gcc testsuite due
    to the libcall not existing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109004 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3b2a5024c3e1d4068bd3337685bccca2bdc91c1
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Jul 21 09:02:06 2010 +0000

    Changed OStream templates to functions on raw_ostream, removed the unused "renderWarnings" function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ba27a123f9fa97e7081ff19616c041298450a0a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 08:56:24 2010 +0000

    Add AVX only vzeroall and vzeroupper instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f90adede558200138c52ec742d1ad446974fbfb
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 21 08:25:55 2010 +0000

    restore aesthetics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109001 91177308-0d34-0410-b5e6-96231b3b80d8

commit e83801b80bdf6c77bdf60ab5e76fbf7f213ec5ee
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 21 06:09:07 2010 +0000

    Teach bottom up pre-ra scheduler to track register pressure. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5affdc70cb8d25d5da5628d5d7906f5a0b9b7e6b
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 04:54:06 2010 +0000

    Turn this test on again after the llvm-gcc change in r108986.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5887c7fb05c6ab0e90c586948d95e0bca9cd1040
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 21 04:51:24 2010 +0000

    Update this to use a "valid" alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98eaef37680b05d418615084c32ede3ac379e1af
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 03:07:42 2010 +0000

    Add new AVX vpermilps, vpermilpd and vperm2f128 instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bd9de476d2a3a2affa3e766d6ce3158ecc3294a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 21 02:46:58 2010 +0000

    Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to support it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d0fca21d54816d74f07686493760dc8d00da228
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 23:55:01 2010 +0000

    Give MDNode printing has access to the current Module in more
    cases. This will be needed when function-local metadata can
    appear in places that aren't intrinsic function arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6897d2429845740b4dea04990b42f7d6c42872c8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 20 23:50:15 2010 +0000

    Change the createSpiller interface to take a MachineFunctionPass argument.

    The spillers can pluck the analyses they need from the pass reference.

    Switch some never-null pointers to references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 644992ce1caee2377ce9e66186ee4013aeb8ea66
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 23:49:44 2010 +0000

    Make this code a little more readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4df6a30c0f2594250f1d92b6bdd6182a873cb27f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 23:49:05 2010 +0000

    Use DebugLocs instead of MDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108967 91177308-0d34-0410-b5e6-96231b3b80d8

commit cde006888e76de7b8e2f6c9589e9792b4247f1f4
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 23:41:56 2010 +0000

    Move the handling of PassRegistrationListener's to PassRegistry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64395bad1da0bd45239022ad1a221708e0b1a678
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 23:19:02 2010 +0000

    Add new AVX vextractf128 instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cff3e511b0891302cba6f3970649a2986fd6c4c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 23:10:36 2010 +0000

    Fix a typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d2d3c23977f29e30ac20674ca32bbb7c21cfbae
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 23:09:34 2010 +0000

    Don't look up the "dbg" metadata kind by name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108961 91177308-0d34-0410-b5e6-96231b3b80d8

commit c63481335b4a29ab3ceede8a84b0e6e58421eac6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:45:33 2010 +0000

    make asmprinter optional, even though passing in null will cause things to explode right now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108955 91177308-0d34-0410-b5e6-96231b3b80d8

commit a082460926afdda469a593f354de647a1eb0f823
Author: Grey Clayton <gclayton@apple.com>
Date:   Tue Jul 20 22:36:00 2010 +0000

    Added support to MachO.h for many defines and structures that are needed
    to Parse mach-o files. All defines have been renamed to not conflict with
    #defines in mach header files, all structures were left named the same but
    are in the llvm::MachO namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108953 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdaedc6a3ce9c163c3d754ac74c3481e5320559c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:35:40 2010 +0000

    continue pushing dependencies around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ebb32b7063630e6fd129e12afa99da8ac543c64
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:30:53 2010 +0000

    reduce X86MCInstLower dependencies on asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63c4f28ffde28a7c5e00d6e11ddcc8f8b27f7620
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:26:07 2010 +0000

    pass around MF, not MMI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bd59a97a012c309f9a43727dbbdd4a144f2a4bb
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 22:25:04 2010 +0000

    Rename removeAllMetadata to clearMetadataHashEntries and simplify
    it to just do the things that need to be done when an instruction
    is deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108948 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24ac9f352a4d73428d760cebc7e5d8009da2595e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:23:57 2010 +0000

    cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108947 91177308-0d34-0410-b5e6-96231b3b80d8

commit d151d6803bfccbe3404cd58dab45f7212f48ba67
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 22:18:19 2010 +0000

    move two asmprinter methods into the asmprinter .cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108945 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ebe87cfe59a106644f5654dc6af6ba34436568f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 20 21:46:58 2010 +0000

    Implement loop splitting analysis.
    Determine which loop exit blocks need a 'pre-exit' block inserted.
    Recognize when this would be impossible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 525d0c9b2b8a570915fdc570ad8507084d4000c9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 21:45:17 2010 +0000

    Remove an obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108940 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39a87e257e75b37c951f20602b3b8233b8d24578
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 21:42:28 2010 +0000

    Add support for remapping metadata kind IDs when reading in a
    bitcode file, so that two bitcode files where the same metadata kind
    name happens to have been assigned a different ID can still be
    linked together.

    Eliminate the restriction that metadata kind IDs can't be 0.

    Change MD_dbg from 1 to 0, because we can now, and because it's
    less mysterious that way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108939 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2cc0d166f899e1fc868ea7510ee60bc9ffddc38
Author: Matt Fleming <matt@console-pimps.org>
Date:   Tue Jul 20 21:37:30 2010 +0000

    Include some tests for the recently committed ELF section directive
    handlers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 522890cec4c5db79de56948617a515b55dd27927
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 20 21:29:12 2010 +0000

    Fix test for switch statements and increase
    threshold a bit per experimentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108935 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbce67cd5e1787abde25f1a20b321d66ca8afec0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 21:26:27 2010 +0000

    there is now no reason to link in TARGETS_TO_BUILD since we list
    arm explicitly.  X86 and ARM are the only two targets that support
    disassembly, so our explicit list is enough.  These other targets
    weren't getting pulled in anyway though, since there were no
    references to their symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f32468026abc1254294ad029f9ec1d35454857b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 21:23:57 2010 +0000

    fix edis to only try to link in the x86 parts if the x86 backend is
    enabled.  Add direct ARM support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3273dff1c2f407758192800556938a094a61ba5d
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 21:22:24 2010 +0000

    Move more functionality from Pass.cpp to PassRegistry.cpp.  This global will go away eventually, but for now we still need it around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f87c10dc081eb36060ea6439748d6710c0cbe91
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Jul 20 21:21:27 2010 +0000

    Fix edis makefile

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13d6cbcf676f00533016011c5500e977757cdad1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 21:17:29 2010 +0000

    prune #includes a little.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108929 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3f6c99865b9a204733d79c38ba2e34f9b5e0d75
Author: Matt Fleming <matt@console-pimps.org>
Date:   Tue Jul 20 21:12:46 2010 +0000

    Add some more handlers for ELF section directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9858d8123f3209431f9578ba598420d2202dde70
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 20 21:05:58 2010 +0000

    Formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108926 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc2e23056c94599bf679239947142f256bbe8a02
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 20:55:57 2010 +0000

    fix DISABLE_EDIS

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c445093d2a7201a657b6fed2c752bef8c976d3
Author: Matt Fleming <matt@console-pimps.org>
Date:   Tue Jul 20 20:52:18 2010 +0000

    Add the rest of the SHT_* values as defined in the System V ABI
    ELF specification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108924 91177308-0d34-0410-b5e6-96231b3b80d8

commit a82fdd4577088147c240d9b0a8a956b0cc0a0306
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jul 20 20:44:02 2010 +0000

    Add support for a new Apple-style build target, EmbeddedSim, that builds
    llvmCore for the iOS Simulator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108922 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca16f1305993cd49db0ec3083ff134fdca4e0077
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 20:33:59 2010 +0000

    this logic is handled by tools/makefile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3124157d486053cbc312bf8a10767e31f872085a
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 20 20:32:47 2010 +0000

    Testcase for llvm-gcc commit r108910.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108918 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fd023d14136fe63f689b613355f652200146c32
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 20:18:21 2010 +0000

    Remove setDbgMetadata and getDbgMetadata; their users have been
    replaced with setDebugLoc and getDebugLoc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108914 91177308-0d34-0410-b5e6-96231b3b80d8

commit b986b8fd1caffe3e723bc5fa60c0be5347899599
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 20:16:11 2010 +0000

    Let's get those buildbots green: #include is needed in the header, not just the implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b55c5f7cded19f14fb701f8191e788b620583e2
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 20:09:07 2010 +0000

    Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,
    avoiding MDNode overhead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108909 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6894173022251273f9e5a81d4f4426320a2dd6b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 20:06:19 2010 +0000

    apparently also missing an include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4efdb80a06372bd53103d465bfd40b402d9b19a9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 19:54:01 2010 +0000

    this is in System

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108895 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae32bf595b0d91d56b78d36c9686647d4ee3b5e1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 19:45:21 2010 +0000

    remove option from tablegen for building static header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108893 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d1012d619aed7547f4465098c2b1e67263aba3e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 19:44:51 2010 +0000

    Add new AVX instruction vinsertf128

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108892 91177308-0d34-0410-b5e6-96231b3b80d8

commit c068c186829ef658e72527706576246fe00efcc0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 19:43:19 2010 +0000

    turn this into a normal header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24b4303dea8c932207f52d1d5aad267e1ebae8cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 19:40:51 2010 +0000

    hopefully heal the linux builders

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108890 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdc05fada2705cabcea39ffecc0685c6953820e7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 19:35:55 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108889 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee3957daa044243b85f0e6c162921a5545ee24ae
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 19:23:55 2010 +0000

    I just fail with SVN today.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108888 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0ec0adf8ec1dd9f9e1588cbafe44256d7622c64
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:59:58 2010 +0000

    there is no reason to dynamically generate a static header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3910c1fb1860a9300a1e3a64f96552bf4320acb7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:53:27 2010 +0000

    drop edinfo.inc into the objdir for src!=objdir builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108886 91177308-0d34-0410-b5e6-96231b3b80d8

commit c021c0c2d79257cbc7423cd978efac854fb22356
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 18:53:25 2010 +0000

    Oops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67711ed9315c0ec4efe8e000d2ac94b3d34b64a3
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 20 18:46:43 2010 +0000

    Update header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18b68b564e3acdb28a7fcfe96e556a4ed2653ff4
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 18:39:06 2010 +0000

    Convert the internal PassRegistrar class into a new, external PassRegistry class.  No intended functionality change at this point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b0f6576de3b4e8269b5abd8381e79583535c3dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:35:23 2010 +0000

    edis needs to link in mcdisassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108876 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8451f628e9cdb7e5047a20e9196714d069d728b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:33:29 2010 +0000

    update cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 457d2b900f3b83bce50249dca29e5c3dbfcc9887
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:33:21 2010 +0000

    hopefully teach cmake to build the .inc file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d6f01b45dc9048d842825f925ea5f26b64fd3a5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:31:54 2010 +0000

    edinfo doesn't need to be built here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 073aecc008893f9841a560b20411da13d136b352
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:30:37 2010 +0000

    cmake too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108872 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc61e86a395392e5e837f340ac466d61ef90cc86
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:29:50 2010 +0000

    forgot to add a file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bc3ea0d7cfe0954da552f6414c9d70668dbf10b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 20 18:25:19 2010 +0000

    start straightening out libedis's dependencies and make it fit
    better in the llvm world.  Among other things, this changes:

    1. The guts of libedis are now moved into lib/MC/MCDisassembler
    2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis,
       so edis and mc don't have to be built in series.
    3. lib/MC/MCDisassembler no longer depends on the C api, the C
       API depends on it.
    4. Various code cleanup changes.

    There is still a lot to be done to make edis fit with the llvm
    design, but this is an incremental step in the right direction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41b652162763a07e482d7613fd75b164ce97cc3d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 17:20:25 2010 +0000

    remove testing cruft, this can be found in unittests/Support/Casting.cpp now

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a3f2892387c4b2ce9043949a83eb9d4a7983784
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 17:18:52 2010 +0000

    Remember that the induction variable is always a PHINode and
    use getIncomingValueForBlock instead of
    LoopInfo::getCanonicalInductionVariableIncrement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108865 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72bc6e2e76a3d89d60cdbe2041ff5786b323bfca
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 17:06:28 2010 +0000

    migrate essentially everything from under #ifdef DEBUG_CAST_OPERATORS into this file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a63ffa163bd304814143a16c5beeffead6817a5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 17:06:20 2010 +0000

    Fix SCEV denormalization of expressions where the exit value from
    one loop is involved in the increment of an addrec for another
    loop. This fixes rdar://8168938.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108863 91177308-0d34-0410-b5e6-96231b3b80d8

commit 002aa027f72fbf727c92fafe1514089ee53c9c56
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 16:55:05 2010 +0000

    Pull out r108755.  After offline discussion with Chris, we're going to go a different direction with this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108856 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9cc8f116b6fc367f39fd20ecf1ed2f137db064a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 16:53:00 2010 +0000

    Add a fast path for x - x.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108855 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c9dae543e24d2f07c62cd92afce4c7e860a689d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 16:51:18 2010 +0000

    extend to cast<> and cast_or_null<> tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48651d0d7f1c28c455d074be0acf37a0a619b37f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 16:46:58 2010 +0000

    Simplify this code; LoopInfo::getCanonicalInductionVariable will only
    find integer induction variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6068fa26add42bb2455960d94e065f5a3897cde6
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 16:44:52 2010 +0000

    Make getOrInsertCanonicalInductionVariable guarantee that its
    result is a PHINode*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e516821d4161dd18ba43f7af8664a1295d4cff6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 16:38:12 2010 +0000

    isa<> tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 962b9e58db84937d99d20c6347c361f30d1add5c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 16:34:50 2010 +0000

    Change an argument from an Instruction* to a Value*, which is all
    that is needed here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56d2591ac21c1316b24fa4627053ed6a2064a021
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 20 16:32:20 2010 +0000

    initial checkin for unittest to exercise Support/Casting.h

    this is still minimal on purpose, but I plan to migrate the ugly
    hack under #ifdef DEBUG_CAST_OPERATORS into this file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108849 91177308-0d34-0410-b5e6-96231b3b80d8

commit a577ca113f677d7993314b2ec9f40692fce159df
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 16:32:11 2010 +0000

    Minor code cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108848 91177308-0d34-0410-b5e6-96231b3b80d8

commit a104d55f55a5cdfd87d973e575ee574fb5f1e803
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 20 16:16:48 2010 +0000

    update tests for smarter BIC usage

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c21e3f3759ef2ab1a8ca6c4c8be0ecc0c2f8c93
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 20 16:12:37 2010 +0000

    Appease the colonials.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108845 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea77516c5303b3d792335bae07f7bb5e1b017c08
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 20 16:07:04 2010 +0000

    Using BIC for immediates needs an extra bump for its complexity to get
    instruction selection to prefer it when possible. rdar://7903972

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108844 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebabb8c652ab3d911e0ce5dc7e49cf5919565782
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 20 15:52:32 2010 +0000

    The same problem was being tracked in PR7652.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108843 91177308-0d34-0410-b5e6-96231b3b80d8

commit 089e746f9d27ba22bace1bb3061f0505eb7cfb89
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 20 15:41:07 2010 +0000

    Beginning SplitKit - utility classes for live range splitting.

    This is a work in progress. So far we have some basic loop analysis to help
    determine where it is useful to split a live range around a loop.

    The actual loop splitting code from Splitter.cpp is also going to move in here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46d9aa2db1b0c950a1d8b30ac87faedfd7dc31b8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 20 14:51:32 2010 +0000

    Removed un-used code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c65cda8b3d74104254081ee1e8d2b7a3143e1d1
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jul 20 14:35:55 2010 +0000

    Updated css classes for the pressure table legend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108839 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ce02092dbe5b0946be96eb3f92be36ae44ca255
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jul 20 10:29:46 2010 +0000

    Oops - I tables render poorly in Chrome without this explicit height specification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 339bf7ed2f380aa1772a0c98bca42b8da06c09cc
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jul 20 10:18:54 2010 +0000

    Use run-length encoding to represent identical adjacent cells in the pressure
    and interval table. Reduces output HTML file sizes by ~80% in my test cases.

    Also fix access of private member type by << operator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ac3e13bf11a9f5d366448abf29bbc969300ce2e
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jul 20 09:13:29 2010 +0000

    Added support for turning HTML indentation on and off (indentation off by default).

    Reduces output file size ~20% on my test cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1da935a91329616136655e34b5cfccbfb1d9bbd3
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 08:44:20 2010 +0000

    Enable LLVM to compile on Mips. Fix PR5828

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d0a1ebb6f6b2538ed69640e4028e656b83b412b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 08:37:04 2010 +0000

    Fix PR7174, a couple o Mips fixes:

    - Fix a typo for PIC check during jmp table lowering
    - Also fix the "first jump table basic block is not
    considered only reachable by fall through" problem, use this
    ad-hoc solution until I come up with something better.

    Patch by stetorvs@gmail.com

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108820 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a596fc633f3c0c1671d1583189e4ba6b935c180
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 08:26:15 2010 +0000

    Speculatively revert r108813, in an attempt to get the self-host buildbots working again.  I don't see why this patch
    would cause them to fail the way they are, but none of the other intervening patches seem likely either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108818 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1283aaae2c7b1441013366680b1e4927c8ca06e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 07:58:51 2010 +0000

    Fix Mips PR7473. Patch by stetorvs@gmail.com

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c6906f57d812ddce5c02999f1ea5092cb5afd8e
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jul 20 07:41:44 2010 +0000

    Switched to rendering after allocation (but before rewriting) in PBQP.

    Updated renderer to use allocation information from VirtRegMap (if
    available) to render spilled intervals differently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108815 91177308-0d34-0410-b5e6-96231b3b80d8

commit cca02114eb9f5429a15a26635b7f192859056c52
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 20 06:56:13 2010 +0000

    Grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d44999d3ff511312f45ef9281de9d8fcade1724
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 06:52:42 2010 +0000

    Reapply r108794, a fix for the failing test from last time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d5c6b103f0e2b2ab5ae2ba2b4667f370f455b4e
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 20 06:52:21 2010 +0000

    Constify some arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22e6c723147df09d53b252bab01cea504565e142
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jul 20 03:06:07 2010 +0000

    Revert r108794, "Separate PassInfo into two classes: a constructor-free
    superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
    breaking teh everything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3775dd421133e21fc3e479393ba91686e5f4cd95
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Jul 20 01:19:58 2010 +0000

    Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a76b253e5ba6c10bb7478ff795fe99fa2b54892
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 20 00:57:18 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1feef66f45e388329778eb8ba5cee61c12387e6f
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 20 00:50:13 2010 +0000

    Don't hoist things out of a large switch inside a
    loop, for the reasons in the comments.  This is a
    major win on 253.perlbmk on ARM Darwin.  I expect it
    to be a good heuristic in general, but it's possible
    some things will regress; I'll be watching.
    7940152.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1158137643fd8a1a90ffd8a0bcb3b0e83e44438a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 00:11:50 2010 +0000

    x86_32 tests for vbroadcast

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108789 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2f6b829d12f17f2cc04f379640001451536a2d5
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 20 00:11:13 2010 +0000

    Add AVX vbroadcast new instruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28d7d748ff38a01dda6ff90e69bee7c6f55a9d8e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jul 20 00:08:13 2010 +0000

    Update CMake files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7601554f52b4adff0bc952d897954e2c9f7d3b22
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Jul 19 23:56:30 2010 +0000

    Correct line info for declarations/definitions.  Radar 8063111.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a7f054fe689e9fd6a1afa3f7423aed39738897f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 19 23:44:46 2010 +0000

    sink the arm implementations of ASmPrinter and MCInstLower
    out of the AsmPrinter directory into libarm.  Now the
    ARM InstPrinters depend jsut on the MC stuff, not on vmcore
    or codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108783 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d349a2bc66542155e7839c10237a80c638a4ef4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 19 23:41:57 2010 +0000

    fix a layering problem by moving the x86 implementation
    of AsmPrinter and InstLowering into libx86 and out of the
    asmprinter subdirectory.  Now X86/AsmPrinter just depends on
    MC stuff, not all of codegen and LLVM IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c0fe1c766f90d484aee8f5cf9214c7f40403268
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jul 19 23:32:44 2010 +0000

    Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c93efafa95819a9591460455fce061449f04f03
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jul 19 23:25:39 2010 +0000

    Fix memory leak reported by valgrind.
    Do not visit operands of old instruction. Visit all operands of new instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108767 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ebb6c660e90c925f25bf81b3cda582d1aadfce5
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 19 22:48:56 2010 +0000

    After a custom inserter, in a block which has constant instructions,
    update the current basic block in addition to the current insert
    position, so that they remain consistent. This fixes rdar://8204072.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108765 91177308-0d34-0410-b5e6-96231b3b80d8

commit c85d71e32e42376ff9683f10c92e746ba719693b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jul 19 22:15:08 2010 +0000

    ARM has to provide its own TargetLowering::findRepresentativeClass because its scalar floating point registers alias its vector registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fa385aa8126b8a1241b6e0d63e85ebd83cfeb00
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jul 19 22:04:28 2010 +0000

    long past time I added myself to this, I suppose.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f733c451e04e0a7af879b5d314d5c20b8fe2701
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 21:44:48 2010 +0000

    Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
    linked list.  This is a little slower and involves more malloc'ing, but these lists are
    typically short, and it allows PassInfo to be entirely constant initializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108755 91177308-0d34-0410-b5e6-96231b3b80d8

commit a486d6738df15c1a2421bb98b9e8f9cd17897491
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jul 19 21:33:07 2010 +0000

    Save a copy of the unstripped libLTO.dylib in $SYM_DIR.  Clean up the code
    for dealing with libLTO.dylib to put it all in one place and to allow
    use of DISABLE_USR_LINKS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108753 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9e20a0ef41c4ba29e4f2571a7dac6eb5196cdb1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 20:44:20 2010 +0000

    MC/Mach-O: Silently ignore .file directives instead of error'ing out on
    them. They aren't important enough to abort the entire assembly, and failing
    early makes testing more annoying.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f0ae19e0e37f36eb30cd210582b1afae8261c56
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 20:44:16 2010 +0000

    X86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
    instruction, we only want to allow the one for the current subtarget.
     - This also fixes suffix matching for jmp instructions, because it eliminates
       the ambiguity between 'jmpl' and 'jmpq'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108746 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ac61cbf592c4af4066c35c76f4b6df1e3c59c2
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 19:42:01 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 291da1382d2f219cfe921a4da42e6497cbfef432
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 19:41:52 2010 +0000

    Remove extraneous character.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de9301f151c9dc9dfbc410e73d1b54539a35ce3
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 19:24:55 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29d9128d68009fb104adf2ab19a80f43286c9b7d
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 19:24:37 2010 +0000

    Add support for detecting <mach-o/getsect.h> and the getsect() function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d503534243f0f11a1b53be095e1811bf24e47fb
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 19:23:32 2010 +0000

    Tweak per Chris' comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108736 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14c9160bfe1acc03b9a4de19947bd0b33019dec6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jul 19 18:47:01 2010 +0000

    Teach computeRegisterProperties() to compute "representative" register class for legal value types. A "representative" register class is the largest legal super-reg register class for a value type. e.g. On i386, GR32 is the rep register class for i8 / i16 / i32; on x86_64 it would be GR64.

    This property will be used by the register pressure tracking instruction scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108735 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87e14e7a0b45b5194afef500cdf21ca757799e54
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jul 19 18:41:20 2010 +0000

    Spillers may alter MachineLoopInfo when breaking critical edges, so make it
    non-const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108734 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad61c7cebc8100052b0c9ccf2fd02c5ad288730b
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jul 19 18:22:40 2010 +0000

    Testcase for 108732 (8195660).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08278421a59c492819530a466bafc61c2f351da5
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jul 19 17:53:55 2010 +0000

    Fix PR 7662.
    Do not try to insert local variable info to a DIE used for function declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70346e51af666ab0b3e11813379434e5bc18adc9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jul 19 17:20:38 2010 +0000

    Since ARM emits inline jump tables as part of the ConstantIsland pass,
    it should set the jump table encloding the EK_Inline. This prevents
    a second, unused, copy of the table from being emitted after the function
    body. PR6581.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07e3dfdad48064a79a8bf4a8225518341804c35a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jul 19 17:19:40 2010 +0000

    revert so I can get the right PR# in the log message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1756115906f8554f53da3706eac47949be7b5280
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jul 19 17:18:28 2010 +0000

    Since ARM emits inline jump tables as part of the ConstantIsland pass,
    it should set the jump table encloding the EK_Inline. This prevents
    a second, unused, copy of the table from being emitted after the function
    body. PR7499.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108722 91177308-0d34-0410-b5e6-96231b3b80d8

commit d71ea3b157542755c7f8cf36beab8384e4fbc15d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Jul 19 17:17:22 2010 +0000

    Remove code duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108718 91177308-0d34-0410-b5e6-96231b3b80d8

commit 552a1d568e3beb42f169b535d406c95ea2df2a57
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Jul 19 17:17:10 2010 +0000

    Better error reporting for switch_list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 252ecf45bbeae3588d79d0ffd2fb23aa66bdb6ce
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 19 15:37:03 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108700 91177308-0d34-0410-b5e6-96231b3b80d8

commit a854d08b1789fec2d5aa8b314851c5fa1bd26367
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Jul 19 15:31:07 2010 +0000

    Expose BasicBlock::moveBefore and moveAfter in C API, patch
    by Benjamin Saunders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bbd4142b029331c64500f65e5b4d3a2c031213c
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Jul 19 15:22:28 2010 +0000

    Render MachineFunctions to HTML pages, with options to render register
    pressure estimates and liveness alongside.

    Still experimental.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86dce3b39f2417042dd6f319f0afcdc49f7a60ea
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 19 14:48:15 2010 +0000

    precompute 20 tags

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108695 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac1ef94b903ea2615fd8f9549b3a7c977d54ad7b
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Jul 19 09:36:45 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 954ad70630e6ef9b9ff0b6af6f19428b542876da
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Jul 19 09:33:13 2010 +0000

    Expose JIT::recompileAndRelinkFunction for use through the C API.
    Patch by Benjamin Saunders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108690 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc0bcb7de03bcff7203a7fc42a78e8592bb90365
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 08:14:26 2010 +0000

    Testcase for r108687.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a630f56d785be4087e1feac475fcfe850f166eb
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 08:10:24 2010 +0000

    Remove r108639 now that it is handled by InstCombine instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108688 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bfdc9773339431719b99f7663d782ad8fdf6d5b
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Jul 19 08:09:34 2010 +0000

    Reimplement r108639 in InstCombine rather than DAGCombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88e6d8104e471ce83a7b0303e6afc26c168baf82
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 07:21:07 2010 +0000

    X86-64: Mark WINCALL and more tail call instructions as code gen only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0154c1dec6c32259b229f417edd15f9ac13308a7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 07:21:04 2010 +0000

    X86: Mark some tail call pseduo instruction as code gen only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108684 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc032dfeb9e0f82adf3b28b6c3915348885adc28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 07:21:01 2010 +0000

    X86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108683 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdf4c444a103e8d3667511adb8a5ff7db56a29eb
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Jul 19 06:26:19 2010 +0000

    _[A-Z] identifiers are reserved for the implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78c28d4a5a5f2e6644c1fc292c72bcbd1fa9e327
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 06:14:54 2010 +0000

    MC/X86: We now match instructions like "incl %eax" correctly for the arch we are
    assembling; remove crufty custom cleanup code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108681 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce31678dd5ef62460cf341e6b5b7aee25dd9b116
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 06:14:49 2010 +0000

    X86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 119a2d6a030a9036f6e5b9bc95bced42c01f8829
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 06:14:44 2010 +0000

    X86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68c6a3136e82622ac776769a78c937033715038e
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Mon Jul 19 06:13:10 2010 +0000

    MC: Add WinCOFFStreamer implementation and merge common code from MachO
    into MCObjectStreamer.

    Origonal Windows COFF implementation by Nathan Jedffords.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b56c47d6c014f3a1c2920617584ca18052c3782
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 05:44:09 2010 +0000

    TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as part of the matcher.
     - Currently includes a hack to limit ourselves to "In32BitMode" and "In64BitMode", because we don't have the other infrastructure to properly deal with setting SSE, etc. features on X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 534b94399a8c279f3ee7451e8086ce91263ed3b7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jul 19 04:52:56 2010 +0000

    Alphabetize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56ad4ad9b2aaca825f31d9fc3496a54580d279c5
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Jul 19 04:17:25 2010 +0000

    Make .align parse correctly on platforms where .align is measured in bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108674 91177308-0d34-0410-b5e6-96231b3b80d8

commit e805b684dcf2fcc65a322e9733d26716cf854e3f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Jul 19 03:16:25 2010 +0000

    llvmc: Add a new option type (switch_list).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 985628bd5e703d6e41b9468d21e986f0f12b7887
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 00:43:58 2010 +0000

    tests: Force another triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108666 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec7fb72f8b6fd104a879e67174c890c7cd884d56
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 00:33:49 2010 +0000

    Target: Give the TargetAsmParser access to the TargetMachine.
     - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 172652ff0e23891ae712409519e2298519989366
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 19 00:33:43 2010 +0000

    edis: Save the TargetMachine in the EDDisassembler object.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24138f5c4a91871ebb7a648102d9da50a2849281
Author: Michael J. Spencer <bigcheesegs@gmail.com>
Date:   Sun Jul 18 23:46:13 2010 +0000

    Test commit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62a59bd57375276590e4e0e840af20f2349c55bc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 22:22:07 2010 +0000

    MC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
    portable enough.
     - Downside is we now double dispatch through a stub function, but this isn't
       performance critical.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108661 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9242338631c530c8afcec4e75608849fcd3dd29
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 21:16:10 2010 +0000

    tests: Force triples.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108658 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69445e9160a118b62cb00caca8320a3ef6eefc86
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 20:15:59 2010 +0000

    MC/AsmParser: Fix .abort and .secure_log_unique to accept arbitrary token
    sequences, not just strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c9bdceadbb08539bec3c877f6342fe680ee8293
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 19:00:10 2010 +0000

    MC/AsmParser: Add macro argument substitution support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2179b30dfc104c7b5c87986d20f6ac4ca71399fd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:54:11 2010 +0000

    MC/AsmParser: Add basic support for macro instantiation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98972572a49cfe0076ff6daee0ad66ba6da2f02e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:47:21 2010 +0000

    MC/AsmParser: Add basic parsing support for .macro definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108652 91177308-0d34-0410-b5e6-96231b3b80d8

commit caec9b4d7f97f8b9fabfdffc303c6164481b852d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 18 18:42:18 2010 +0000

    daniel doesn't hate me, he hates macpython 2.5, which
    is a very reasonable position on life!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7aae6783435332a842677d5a7e6a9a499cd21fb9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:38:02 2010 +0000

    MC/AsmParser: Add .macros_{off,on} support, not that makes sense since we don't
    support macros.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3076cf993a2160230ba344f63c9dc2159f51d4fb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:31:45 2010 +0000

    MC/AsmParser: Use Error() instead of calling PrintMessage() directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fe67c2cca9adfa1e2f01d27ba435c0eebca1bf5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:31:42 2010 +0000

    MC/AsmParser: Fix TokError() to accept a Twine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 521a504232a8487e6aaab4c6bfca8f96b11b9dfb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:31:38 2010 +0000

    MC/AsmParser: Hide the AsmParser implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f15cd0ebe5995ab1eaa52b0432867fbdb37cd3f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:31:33 2010 +0000

    MC: Move several clients to using AsmParser constructor function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb4b0d2e1f4346283067c61c9117af57b82c1a3a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Jul 18 18:31:28 2010 +0000

    llvm-mc: Fix llvm-mc -as-lex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 423e0288c6e16677cb0d8de404657f1b99855380
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sun Jul 18 11:47:56 2010 +0000

    Fix struct/class mismatch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8566b1ece6fceb9b1b244d0b9dabf3ea8e478546
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Jul 18 08:57:19 2010 +0000

    Add a testcase for r108639.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9046362716c0c1961a5e31b60f35ebb7d4bb4e14
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Jul 18 08:47:54 2010 +0000

    Add a DAGCombine xform to fold away redundant float->double->float conversions around sqrt instructions.
    I am assured by people more knowledgeable than me that there are no rounding issues in eliminating this.

    This fixed <rdar://problem/8197504>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108639 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce1c2edb8e39ec4ffea3f5b872087201ad6ae88c
Author: Lang Hames <lhames@gmail.com>
Date:   Sun Jul 18 00:57:59 2010 +0000

    Added -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to require
    LoopSplitter be run prior to register allocation.

    Entirely for testing purposes at the moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fcec3a2d73388c798040adde920dc4b958e5914
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jul 17 20:52:46 2010 +0000

    fullStopTag cannot happen here, it is handled above

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108631 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5e715f2d9ce03ca6315f859ef74ce91c84a03ff
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jul 17 20:23:37 2010 +0000

    Fix what seems like a clear buffer overflow, noticed by cppcheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108629 91177308-0d34-0410-b5e6-96231b3b80d8

commit df54c5c5a109b7ed873b0f288b5af05aae0fac68
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jul 17 19:18:44 2010 +0000

    Use isPrologLabel() instead of checking the opcode directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 048723e6c78f81877eeed5c51673b90006314dbf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jul 17 17:42:04 2010 +0000

    the stackifier is global!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38a51743e5e6a13d4dfcf7863d4dae95c55e0724
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jul 17 17:40:51 2010 +0000

    doxygenify some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108625 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecdff398ba794f8b789cb84302de7d91b87d8b11
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Sat Jul 17 12:12:42 2010 +0000

    update CMakeLists.txt

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76f93cf411ec6cb1a23e46a9f09cba43b2a04aac
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Jul 17 11:43:07 2010 +0000

    Removed unused inRange variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f1833086f691bf6dcf269d730d8618e581ca725
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Jul 17 09:21:53 2010 +0000

    Switched to array_pod_sort as per Chris's suggestion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0761d96ea565aa91054a0548931c3d7f64fb4f28
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Jul 17 07:34:01 2010 +0000

    LoopSplitter - intended to split live intervals over loop boundaries.
    Still very much under development. Comments and fixes will be forthcoming.

    (This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108615 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6112a11ca61a8e891cef93f4e42b56a72295288
Author: Owen Anderson <resistor@mac.com>
Date:   Sat Jul 17 06:56:35 2010 +0000

    Another attempt at getting the clang self-host to like my instcombine patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 539cd8853487e4d65167bd9aab4c654307670b47
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Jul 17 06:31:41 2010 +0000

    Iterating over sets of pointers in a heuristic was a bad idea. Switching
    any command line paramater changed the register allocation produced by
    PBQP.

    Turns out variety is not the spice of life.

    Fixed some comparators, added others. All good now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 790058cbab355bb28a4975c41a37ef003c0e3ec8
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 17 06:27:28 2010 +0000

    Start of .sleb128/.uleb128 parsing support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ff1275642d9e0fde6088bfc545e29b5142dd58d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jul 17 06:14:03 2010 +0000

    unit test to go along with r108610

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b2cdcf0d60bd5a23e45a7f51d53009ad704cf27
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jul 17 06:13:52 2010 +0000

    Fix PR7658, a problem where type refinement can trigger
    constant replacement which was botching its handling of
    types.  Use of getType() instead of getRawType() was causing
    the type map in constant folding to be updated wrong.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 683e2cc00036ccfaaaff4a95c5d3e2a3cbe2d2c9
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 17 04:29:04 2010 +0000

    Work-in-progress parsing for ELF .section directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 441e4756f894fe9a5fbf005b61247e1214d999ee
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Jul 17 03:30:54 2010 +0000

    Add combiner patterns to more effectively utilize the BFI (bitfield insert)
    instruction for non-constant operands. This includes the case referenced
    in the README.txt regarding a bitfield copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108608 91177308-0d34-0410-b5e6-96231b3b80d8

commit f88ef65d6e46eb37b61b8e705a5d0766027ce481
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 17 03:15:24 2010 +0000

    Test for ELF .size directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81c453ec98d550d964e89de74e7dd71916bffae2
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 17 03:09:18 2010 +0000

    Add support for parsing .size directives for ELF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108606 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e26d58f71834931ea98a1f0da80791e28a1cce2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jul 17 02:26:10 2010 +0000

    MC/AsmParser: Lift Run() and TargetParser to base class.

    Also, add constructor function for creating AsmParser instances.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108604 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7b42055b6ed0e4c39f3b1dceb03b2e553b776af
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Jul 17 01:50:57 2010 +0000

    add BFI to getTargetNodeName()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 444c020f902fd6dcf31110e26b175bbca8115879
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Jul 17 01:22:19 2010 +0000

    Fix logic think-o

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69e476281c26dbe9391a8565eb3f7ff42d2bfb51
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jul 17 00:33:04 2010 +0000

    Remove unnecessary check that was subsumed into canRealignStack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108588 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3b86d11a7582c225fd72f0c061ab4d7a36cc6e9
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jul 17 00:28:22 2010 +0000

    Propagate alloca alignment information via variable size object frame
    information.

    No functional change yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108583 91177308-0d34-0410-b5e6-96231b3b80d8

commit baff9d4ca8e424eaac2afa552bea48498178ab52
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jul 17 00:27:24 2010 +0000

    Make more explicit and add some currently disabled error messages for
    stack realignment on ARM.

    Also check for function attributes as we do on X86 as well as
    make explicit that we're checking can as well as needs in this function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108582 91177308-0d34-0410-b5e6-96231b3b80d8

commit d97d3dad17b68ff4811e96345329667fd17d1015
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jul 17 00:25:41 2010 +0000

    Make comment a bit more clear as well as return statement since
    needsStackRealignment is currently checking the can conditions as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43a2533fa44d78bbcfeb98c5a0273dfc757b1821
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jul 16 23:10:00 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697f0ee3ce348f9c18440bc47ee1c6dd200f199d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 16 23:05:05 2010 +0000

    Add basic support to code-gen the ARM/Thumb2 bit-field insert (BFI) instruction
    and a combine pattern to use it for setting a bit-field to a constant
    value. More to come for non-constant stores.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108570 91177308-0d34-0410-b5e6-96231b3b80d8

commit a367558d76e021cd0c6f92b500397b255c9b0830
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 22:58:39 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108569 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef7b229f8a67f615d75d0028d72a59efb6737a27
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jul 16 22:51:10 2010 +0000

    Consider this function:

      void foo() { __builtin_unreachable(); }

    It will output the following on Darwin X86:

    _func1:
    Leh_func_begin0:
            pushq %rbp
    Ltmp0:
            movq %rsp, %rbp
    Ltmp1:
    Leh_func_end0:

    This prolog adds a new Call Frame Information (CFI) row to the FDE with an
    address that is not within the address range of the code it describes -- part is
    equal to the end of the function -- and therefore results in an invalid EH
    frame. If we emit a nop in this situation, then the CFI row is now within the
    address range.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f4bbb45b0e6652249296a68065b21f205dfe1e0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 22:35:46 2010 +0000

    Remove the isMoveInstr() hook.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8176136926dc5deb580d8f4d302bacc7b083260d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 22:35:37 2010 +0000

    Avoid isMoveInstr when printing XCore pseudo-moves.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f3f29d0b1bcb36d3a41264a3c83ec4e7d18018c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 22:35:34 2010 +0000

    Use MI.isCopy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0324c4dc785eb135e18db25f1a69638df9ec888f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 22:35:32 2010 +0000

    Use a small local function for a single remaining late isMoveInstr call in
    Thumb2ITBlockPass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bd5e7af69662564d4e6ad6999ae19873c5570e7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jul 16 22:20:36 2010 +0000

    Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and
    thus is a much more meaningful name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108563 91177308-0d34-0410-b5e6-96231b3b80d8

commit f346e632adc997212c35cf34470e1a9443373713
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 22:00:33 2010 +0000

    Keep valgrind quiet.

    The isLive() method can read uninitialized memory, but it still gives correct
    results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108561 91177308-0d34-0410-b5e6-96231b3b80d8

commit e02502c76e2b1910ccc05273a767615e3c6f4dc5
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 16 21:20:46 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108560 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc842d1396607e5042296e9281297cba068d2736
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 21:03:55 2010 +0000

    Remove remaining calls to TII::isMoveInstr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6096f4232e5ee64cd10759216dcb13bd3d0728cf
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 21:03:52 2010 +0000

    Emit COPY instead of FMR/FMSD instructions for floating point conversion on
    PowerPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108555 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97432e107ee88661c97bdbed7217b41167807b7e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 16 20:50:13 2010 +0000

    eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext,
    so there is no locking involved in type refinement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 690d6515e0f93613ff0bdcbe127c70267e259ae5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 16 20:35:19 2010 +0000

    get the first few tags from a precomputed table (count can be increased if desired)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a90795d6235743ff6ee977e7d714a4bb7f4796d
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Jul 16 18:47:20 2010 +0000

    Add missing attributes to cpp backend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108547 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb5ab35caf7edf7701f46c866586993777ae1fca
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 16 18:35:46 2010 +0000

    Accept registers with P modifier.  PR 5314.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108545 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6242d46ecdebac33cdb9b6d7815ca580d9cd7779
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 18:28:07 2010 +0000

    Make llvm-bcanalyzer print out the full enum name for all metadata
    code ids, not just some of them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108543 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87b6b62f1ecc3bfb1d62a24d6e203af29771d7e3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 18:22:00 2010 +0000

    Teach PPCInstrInfo::storeRegToStackSlot and loadRegFromStackSlot to add memory
    operands.

    Hopefully this fixes the llvm-gcc-powerpc-darwin9 buildbot. It really shouldn't
    since missing memoperands should not affect correctness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c9f7d21497c06aba7637c157586588e085fd755
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 17:58:45 2010 +0000

    Reorder the contents of various getAnalysisUsage functions, eliminating
    a redundant loopsimplify run from the default -O2 sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a0adeb03914d5def6fb7d41a80c037ea553d82b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 17:54:27 2010 +0000

    Revert r108369, sorting llvm.dbg.declare information by source position,
    since it doesn't work for front-ends which don't emit column information
    (which includes llvm-gcc in its present configuration), and doesn't
    work for clang for K&R style variables where the variables are declared
    in a different order from the parameter list.

    Instead, make a separate pass through the instructions to collect the
    llvm.dbg.declare instructions in order. This ensures that the debug
    information for variables is emitted in this order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d197d77bde886f8a93d0cbfa8cbe162b40e073d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 17:41:44 2010 +0000

    Remove the X86::FP_REG_KILL pseudo-instruction and the X86FloatingPointRegKill
    pass that inserted it.

    It is no longer necessary to limit the live ranges of FP registers to a single
    basic block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108536 91177308-0d34-0410-b5e6-96231b3b80d8

commit 095492340051804b33c3e03599d9248ed3700527
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 17:41:40 2010 +0000

    Search for a free FP register instead of just assuming FP7 is not in use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c76f3dd80120ee9f402001e78dfd4e906e22a64
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Jul 16 16:39:00 2010 +0000

    Remove the rest of my instcombine changes.  Back to the drawing board on this one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 288e4c9f95ebea03c03c3a42bba0bc21fc738a85
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 16:38:12 2010 +0000

    Allow x87 FP registers to be alive globally in a function.

    FP_REG_KILL instructions are still inserted, but can be disabled by passing
    -live-x87 to llc. The X87FPRegKillInserterPass is going to be removed shortly.

    CFG edges are partioned into bundles where the x87 stack must be allocated
    identically. Code is insertad at the end of each basic block that shuffles the
    live FP registers to match the outgoing bundles expectations.

    This fix is in preparation for some upcoming register allocator improvements
    that may extend the live range of registers beyond a basic block, similar to
    LICM. It also provides a nice runtime speedup if you are building with
    -mfpmath=387.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a9f40f47afa89368073808f8cbb1fdf3e87b24d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri Jul 16 15:03:23 2010 +0000

    Remove extraneous semicolons after member functions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3935a68bed07a443b2c948d4c77c6a067c66dfd9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jul 16 10:58:02 2010 +0000

    Feed the right output into FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108523 91177308-0d34-0410-b5e6-96231b3b80d8

commit 523e1963ae0586259546b5844e9c9f993fbdcbef
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 16 09:38:02 2010 +0000

    eliminate CallInst::ArgOffset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b82604c7852bb04f5b7827883993f6d54bf235f
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Jul 16 07:53:29 2010 +0000

    Get rid of a bunch of duplicated ELF enum values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6072c9985b289eef805ebaaecb8835a5815efeb1
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Jul 16 07:48:07 2010 +0000

    A few more minor additions to ELF.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108519 91177308-0d34-0410-b5e6-96231b3b80d8

commit abe3029825dbd7dccff549ed9ca4e6c51c24327a
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 16 06:33:36 2010 +0000

    Remove bogus link.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8361c8e58bf6221a1c87122599be13dd92339e28
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Jul 16 06:31:12 2010 +0000

    Arrays and vectors with different numbers of elements are not equivalent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08fc7696f646c44984cc9f7a8bc6d348730f468a
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 16 06:13:24 2010 +0000

    Remove unnecessary conditional.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8035327b37b1b298310722f8ca763422a8b589d3
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Fri Jul 16 05:59:45 2010 +0000

    LoopSimplify does not update domfrontier correctly.

    This fixes PR7649.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46ae9cc9e7a8b3a07a37fe1993d954cb0bcb1863
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Fri Jul 16 05:59:39 2010 +0000

    Add dump() to DominanceFrontier

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75fa84eab6d42f71f39b0497d0e3b207afebeece
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 04:45:42 2010 +0000

    Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.

    TII::isMoveInstr is going tobe completely removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108507 91177308-0d34-0410-b5e6-96231b3b80d8

commit be8cad35029bc7c6aee829ae015adc317674e539
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 16 04:45:35 2010 +0000

    Add forgotten test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108506 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e1fbfd12cf587027d1def7aef4b57a4d62780da
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 02:01:19 2010 +0000

    Use the source-order scheduler instead of the "fast" scheduler at -O0,
    because it's more likely to keep debug line information in its original
    order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108496 91177308-0d34-0410-b5e6-96231b3b80d8

commit becadcdc36459e62b68bde7af97a874ec7871cf8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jul 16 01:41:38 2010 +0000

    build/Darwin: Add an LLVM_LTO_VERSION_OFFSET make variable to allow offsetting
    the libLTO library version from the actual build version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6da27efefd8a2145f82c26f8a1d37c7dd216a65a
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 16 01:36:12 2010 +0000

    Also revert 108422, it's causing some test failures.

    Working on testcases for Owen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108494 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5821a692bf4b89fe7c1de80d9fd627e0d45bd1e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jul 16 01:29:50 2010 +0000

    build/Clang: Build and install libLTO as part of clang-only/install-clang targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60d019fc56dcecb59b21c217a363cd9713466f32
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 16 01:28:45 2010 +0000

    Fix this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108491 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bf6f0bf8470f9bd592650cdb7bf2aee555f340e
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 16 00:02:08 2010 +0000

    The SelectionDAGBuilder's handling of debug info, on rare
    occasions, caused code to be generated in a different order.
    All cases I've seen involved float softening in the type
    legalizer, and this could be perhaps be fixed there, but
    it's better not to generate things differently in the first
    place.  7797940 (6/29/2010..7/15/2010).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99c913d682850eae86f78495b65f6a500a166e80
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 23:42:21 2010 +0000

    Revert. This isn't the correct way to go.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25bb3094a518e65467100f55df15b8e29f9d64f2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 15 23:38:13 2010 +0000

    Fix the order that SCEVExpander considers add operands in so that
    it doesn't miss an opportunity to form a GEP, regardless of the
    relative loop depths of the operands. This fixes rdar://8197217.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108475 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ae97f2e0d2a577a75eabdbc0155edbeec1d0e57
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 23:32:40 2010 +0000

    Handle code gen for the unreachable instruction if it's the only instruction in
    the function. We'll just turn it into a "trap" instruction instead.

    The problem with not handling this is that it might generate a prologue without
    the equivalent epilogue to go with it:

    $ cat t.ll
    define void @foo() {
    entry:
      unreachable
    }
    $ llc -o - t.ll -relocation-model=pic -disable-fp-elim -unwind-tables
            .section        __TEXT,__text,regular,pure_instructions
            .globl  _foo
            .align  4, 0x90
    _foo:                                   ## @foo
    Leh_func_begin0:
    ## BB#0:                                ## %entry
            pushq   %rbp
    Ltmp0:
            movq    %rsp, %rbp
    Ltmp1:
    Leh_func_end0:
    ...

    The unwind tables then have bad data in them causing all sorts of problems.

    Fixes <rdar://problem/8096481>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108473 91177308-0d34-0410-b5e6-96231b3b80d8

commit a672ce6faeda76ed4da587c353f76aa683a5192d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 15 22:07:12 2010 +0000

    Split -enable-finite-only-fp-math to two options:
    -enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18023c12d5984864d4618777419f392a740ad0b1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 15 21:51:52 2010 +0000

    build/Darwin: Add a missing directory dependency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108463 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5f43f281c5a5043c8ed72049ced0a093080107e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 21:24:02 2010 +0000

    remove some unneeded overloads that were causing
    ambiguity problems on some systems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 339d21f973861976a0c0ff19259b7b49d65012a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 21:22:00 2010 +0000

    fix the definitions of ConstTextCoalSection/ConstDataCoalSection
    to keep "Text" in sync with the "pure instructions" section attribute.
    Lack of this attribute was preventing the assembler from emitting
    multibyte noops instructions for templates (and inlines, and other
    coalesced stuff) and was causing the assembler to mismatch .o files.

    This fixes rdar://8018335

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108461 91177308-0d34-0410-b5e6-96231b3b80d8

commit e50fe0a3a3e6ce38211d4998d5ec234ebf2d4916
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 21:19:31 2010 +0000

    fix indentation and 80 cols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108460 91177308-0d34-0410-b5e6-96231b3b80d8

commit c559d0a101891551ac9bbac1c011d2bf745d516f
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 15 20:57:09 2010 +0000

    Revert 108456.  i.e. bring back r108444.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1296486c229225a7f1b1f386887c1716b1399ab0
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 15 20:25:51 2010 +0000

    Revert 108444. It breaks a build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 470b2e159b55e5f2d53eea948f52040475c7f9c4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 15 20:24:58 2010 +0000

    Don't merge uses when they are targetting fixup sites with
    different widths. In a use with a narrower fixup, formulae
    may be wider than the fixup, in which case the high bits
    aren't necessarily meaningful, so it isn't safe to reuse
    them for uses with wider fixups.

    This fixes PR7618, though the testcase is too large for a
    reasonable regression test, since it heavily dependes on
    hitting LSR's heuristics in a certain way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24a58c3c265c41ce3b0b65d92135b217e6ead5fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 20:13:34 2010 +0000

    fix the encoding of MMX_MOVFR642Qrr, it starts with 0xF2 not 0xF3,
    this fixes rdar://8192860.  Unfortunately it can only be triggered
    with llc because llvm-mc matches another (correctly encoded) version
    of this, so no testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96798c24bdeabd18de45899b07425bf9f08c477d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 15 20:12:42 2010 +0000

    Use dbgs() instead of errs() in a DEBUG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4146b0fd0387a3cf74c57a877c3985ba1e002157
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 20:04:36 2010 +0000

    Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108452 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb248e0111558f38e02aee03cacc7fcb72fa4554
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 15 20:02:11 2010 +0000

    Teach ScalarEvolution how to fold trunc(undef) and anyext(undef) to undef.
    This helps LSR behave more consistently on bugpoint-reduced testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69d5b68f0477b995e41dc2d7918b85934e095ae6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 20:01:02 2010 +0000

    Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15e64c926de75b68e9994083cb43b3aea87585f5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 19:58:14 2010 +0000

    Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister. This time
    make sure to allocate enough space in the std::vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a12bfff318072df9c8aabade7863b8044c3d44e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 19:41:20 2010 +0000

    Reserve a goodly amount of room for the vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a42f7b5c1918df5adb06aa1fd092d0a207174b6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 15 19:33:38 2010 +0000

    build/Darwin: Add support for embedding version information in tool executables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cf58058217daa7207380be422f0cdfca7b66562
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 15 18:45:27 2010 +0000

    Fix crash reported in PR7653.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108441 91177308-0d34-0410-b5e6-96231b3b80d8

commit 699a8dacd6e0fd2098d2d4865b41e3a109491f25
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 18:43:09 2010 +0000

    Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46eaff95bed2627c456bb618de68acd1c0c9e567
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 18:40:50 2010 +0000

    Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 231cdc02d85248790f62357adf35362258463f90
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 15 18:18:57 2010 +0000

    Speculatively revert r108429 to fix the clang self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 582fe5d9f100d2e8a83ff1a944efd94d1c35da4e
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 15 17:24:23 2010 +0000

    Per Chris' suggestion, get rid of the select canonicalization and just add
    the corresponding or-icmp-and pattern.  This has the added benefit of doing
    the matching earlier, and thus being less susceptible to being confused by
    earlier transforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12c3476ef1f4c61011e2c962c721c435f456cebd
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 15 16:38:22 2010 +0000

    Remove unneeded check, and correct style.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108427 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4987ad76fe1d05cbcd995c04a1d0a57415c3add
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 15 15:14:45 2010 +0000

    Watch out for a constant offset cancelling out a base register, forming
    a zero. This situation arrises in Fortran code with induction variables
    that start at 1 instead of 0. This fixes PR7651.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108424 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf9327298b724b37107333a9ffdb72eac31cf904
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Jul 15 15:00:23 2010 +0000

    Reapply r108378, with bugfixes, testcase, and improved comment formatting.
    This now passes LIT, nighty test, and llvm-gcc bootstrap on my machine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94a4e4059a7ab14cc0b689ddf205a0f392461b4e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 15 10:19:23 2010 +0000

    cache another dereferenced iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108421 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd7b420968aa2a36ae8f044194fc3936c09433e6
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 15 07:49:30 2010 +0000

    80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108420 91177308-0d34-0410-b5e6-96231b3b80d8

commit f911ceaaab7142eef5057493de74a4a5e20c080d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 06:51:46 2010 +0000

    revert bill's patches in an attempt to fix the buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45cf701ec9e58ac832d09dd07d6142c8d903ff6e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Jul 15 06:51:22 2010 +0000

    This is a full sentence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b1ade0fbbf211d6fc14787102acd9465aa09f8d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Jul 15 06:48:56 2010 +0000

    Disable aliases on all platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108417 91177308-0d34-0410-b5e6-96231b3b80d8

commit eea1fa6323610c49dc53ca257d0194481d4bcbe9
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Jul 15 06:36:57 2010 +0000

    Correctly set rpath on Mac OS X for executable tools.  Note that I am not certain this is the best fix; the code immediately above looks confused, as it first checks to see if we are NOT on Darwin and then checks the Darwin version number.  This fix allows c-index-test (in Clang) to run outside of running the regression test suite.  I would appreciate if someone reviewed this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 348c8d0cf84ba072c64fd9d754687c5127a57bb3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 06:36:08 2010 +0000

    Fix PR7647, handling the case when 'To' ends up being
    mutated by recursive simplification.  This also enhances
    ReplaceAndSimplifyAllUses to actually do a real RAUW
    at the end of it, which updates any value handles
    pointing to "From" to start pointing to "To".  This
    seems useful for debug info and random other VH users.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e2948dea8edb32528da6a2e5cce650d03fadb2a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 06:06:04 2010 +0000

    make various clients of ReplaceAndSimplifyAllUses tolerate
    it *changing* the things it replaces, not just causing them
    to drop to null.  There is no functionality change yet, but
    this is required for a subsequent patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108414 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd0609985339e766d59dc25aa5d92fe9c57223f7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 06:05:18 2010 +0000

    Fix headers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a8def464ee40f46ab43aafb48edb06376841923
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 06:04:38 2010 +0000

    Use std::vector instead of a hard-coded array. The length of that array could
    get *very* large, but we only need it to be the size of the number of pregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 248aa88597348b545287a0a43ece61fab34a08f5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 15 05:56:32 2010 +0000

    Use std::vector instead of a hard-coded array. The length of that array could
    get *very* large, but we only need it to be the size of thenumber of pregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80dbf9d807ad8c89ab9f0505640e0fe31125ede9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 05:17:36 2010 +0000

    see comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c7d669cd63e473cfd55794c6c1956d4e2e28af7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 05:14:01 2010 +0000

    add an accessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44d821bc18107f55b47c8266ca0f5534c637c846
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jul 15 05:09:31 2010 +0000

    Revert r108401; it breaks bootstrap :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108407 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef3340a6817e1275e73cf2ad0a02fa7f32bb4608
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jul 15 04:46:14 2010 +0000

    Add AssertingVH which makes PR7647 break consistently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37bf16d675cc09641b47c2da8b6ac102d9a47c87
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jul 15 02:20:38 2010 +0000

    Random note about bswap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 748e25171cecabd3eb5c9289470a6b25ff464e31
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 15 00:37:34 2010 +0000

    a more graceful fix for test/Other/inline-asm-newline-terminator.ll,
    follow on to r103765

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45492968bf37e0078b24eab04c2a8148aefca231
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jul 15 00:33:00 2010 +0000

    Speculatively revert r108378; may be causing bootstrap failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 899de05d611da196dbe0d0adf359dbb824f874a2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 14 23:58:21 2010 +0000

    Last COPY conversion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 331be8a5b07d5ef791e14e76c8faedf7b612748a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 23:54:43 2010 +0000

    Remove restriction on NEON alignment values.  Some of the NEON ld/st
    instructions use different values (e.g., 2-byte or 4-byte alignment).
    Also fix ARMInstPrinter to print these alignments as bits instead of bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108386 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6a8b2c33f421f917c6204882e50a02f4f244029
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 14 23:50:27 2010 +0000

    Use TargetOpcode::COPY instead of X86-native register copy instructions when
    lowering atomics. This will allow those copies to still be coalesced after
    TII::isMoveInstr is removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108385 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e1e8ec4a61f7025fdffe899eef5d4bafae0c8ed
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 23:49:18 2010 +0000

    Remove the entire docs directory from Apple-style builds.
    This fixes a "usr_junk" verification failure when installing into /usr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e420c7bb00d4d2ea77241deaca6b3a29de447b6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 23:41:58 2010 +0000

    Try to get embedded build of llvmCore to pass verification.
    Simplify some things in the process.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108382 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8abfe29c29e5a5bb34e4dc0f473744b729722b8
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 14 23:41:32 2010 +0000

    80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108381 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb85e596218ea4e8d119c4e7ae44fbb7ba62deb8
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 14 23:33:51 2010 +0000

    Add instcombine transforms to optimize tests of multiple bits of the same value into a single larger comparison.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108378 91177308-0d34-0410-b5e6-96231b3b80d8

commit da3f1673e8a48ade5968ec8acdb6794ad6ca995a
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 14 23:12:58 2010 +0000

    Temporarily disable this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31484d9a129bac90f50c9f468ae62547b02e18e2
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 14 23:12:52 2010 +0000

    Make it a .ll test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f91095973206cc989c75adac0cd58b6bbba82df
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 23:08:16 2010 +0000

    Make the order in which variables are described in debug information
    independent of the order that isel happens to visit the dbg_declare
    intrinsics. This fixes a bug in which the formal arguments were
    being printed in reverse order, now that fast isel is going bottom up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108369 91177308-0d34-0410-b5e6-96231b3b80d8

commit c194f0326bb74aca5e7873c179906303f4f1683a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 23:04:59 2010 +0000

    fix indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59a4a8931ee4a1c0cb6e0ed72a1705b48227bf8c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 22:41:51 2010 +0000

    Remove some broken code to check the DISABLE_EDIS flag (edis is now in the
    DIRS list, so it does no good to filter it from PARALLEL_DIRS), and replace
    it with a check to disable building the shared library version of edis when
    the flag is set.  Disabling it entirely does not work because MC uses it now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108367 91177308-0d34-0410-b5e6-96231b3b80d8

commit c461644c221e9366929ed33700534921f0926196
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jul 14 22:38:02 2010 +0000

    Don't pass StringRef by reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80035f40991521b1af1c689ca9ab9f8ab3332e58
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jul 14 22:26:35 2010 +0000

    Add a testcase for the vla and stack realignment warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06072f429bd69fdcb4c1f0782c2768e7f647307a
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 22:01:31 2010 +0000

    Properly restore DebugLoc after leaving the local constant area.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34ca1044b087efa41e47b4a640b38022aa6eb76c
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jul 14 21:22:35 2010 +0000

    Tests for llvm-gcc commit 108360.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fbf037e97ca950d68d3db068f50116076dad9f4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 21:12:44 2010 +0000

    Just use getParent() instead of getModuleFromVal when the value is a Function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 588a7fbb1f010ac989bdcd5b1d27143a0cababca
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 20:57:55 2010 +0000

    Rename WriteConstantInt to WriteConstantInternal, to avoid confusion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108357 91177308-0d34-0410-b5e6-96231b3b80d8

commit e97f7bda8e400ba4b66f37993fa378a555e426e3
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Jul 14 19:52:16 2010 +0000

    Extend SimplifyCFG's common-destination folding heuristic to allow a single
    "bonus" instruction to be speculatively executed.  Add a heuristic to
    ensure we're not tripping up out-of-order execution by checking that this bonus
    instruction only uses values that were already guaranteed to be available.

    This allows us to eliminate the short circuit in (x&1)&&(x&2).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47151f9ff9adaef8ccd21d38ec7bff070de25f19
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 18:26:50 2010 +0000

    Factor out metadata parsing into a separate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ca956fbdc5328c6799dea05e560b42ae72d4459
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 18:14:33 2010 +0000

    Merge lib/Target/X86/X86COFF.h into include/llvm/Support/COFF.h,
    patch by Michael Spencer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c030c079ab3ca27b9dee3e062547f9d7f34aea9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 14 17:45:16 2010 +0000

    Improve 64-subtraction of immediates when parts of the immediate can fit
    in the literal field of an instruction. E.g.,
    long long foo(long long a) {
      return a - 734439407618LL;
    }

    rdar://7038284

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2decdc283840b13e529313bc579474748bfe8579
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 17:25:37 2010 +0000

    Delete fast-isel's trivial load optimization; it breaks debugging because
    it can look past points where a debugger might modify user variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108336 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4c26130d2ce6da08a2c86cff13e1606802b227
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 16:43:47 2010 +0000

    Fix test to appease the buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108334 91177308-0d34-0410-b5e6-96231b3b80d8

commit 005d40dc4185af8df803f1dbb006c5c3ec27d73a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 16:02:13 2010 +0000

    Add missing address register update to t2LDM_RET instruction.
    Patch by Brian Lucas. PR7636.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8316b9a6031f978eece03867b21c92df1829fe08
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jul 14 14:32:33 2010 +0000

    Rather than using an ifdef on the target to zero out fields,
    just use memset to zero the entire struct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108330 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c029ee709b1d7b4fa402aa9018b0e41ca8a5d21
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Jul 14 06:58:26 2010 +0000

    A couple potential optimizations inspired by comment 4 in PR6773.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108328 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77a55b8955cd0cc3ab497cdc8e69dd1c96d84be1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 14 06:44:01 2010 +0000

    Fix for PR7193 was overly conservative. The only case where sibcall callee
    address cannot be allocated a register is in 32-bit mode where the first
    three arguments are marked inreg. In that case EAX, EDX, and ECX will be
    used for argument passing.

    This fixes PR7610.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74516326ff11741b93097d9e077bc7d0df5ec3d2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 06:31:50 2010 +0000

    Add support for NEON VMVN immediate instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10a5d0a259d985d06a7a97d0de165ee7b59c94e0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 06:30:44 2010 +0000

    The bits in the cmode field of 32-bit VMOV immediate instructions all depend
    of the value of the immediate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2099e94bf268888c4383375027fde11c26d59b07
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 06:16:35 2010 +0000

    revert r108320, I see the failures now...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108322 91177308-0d34-0410-b5e6-96231b3b80d8

commit efe1790d6cf23835da30f3b4f82327c840302263
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 05:59:13 2010 +0000

    reapply benjamin's instcombine patch, I don't see anything wrong with it and can't repro any problems with a manual self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108320 91177308-0d34-0410-b5e6-96231b3b80d8

commit b789047d6a1db05ba668df2ca63c84fb7b947d8a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 14 05:49:23 2010 +0000

    Re-enable the test with fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108319 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff15cd3107a9a241a6df957203d78cd19be3ed13
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 02:21:59 2010 +0000

    temporarily disable to test to fix buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 906bce18324d0c4940ca070edd4278a018d2e867
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 14 01:57:17 2010 +0000

    fix a bug found by a warning I added to clang this morning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4298a85e0d69d96efd10340dcfb70d11ddf6074f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 14 01:22:19 2010 +0000

    Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108304 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9f0c74febb3953bb35378123008e91e6234a317
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 14 01:22:12 2010 +0000

    Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.
    Radar 7373643.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b256010c806c3a212f588ef9c9f0479f99fb63
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 14 01:07:44 2010 +0000

    Don't propagate debug locations to instructions for materializing
    constants, since they may not be emited near the other instructions
    which get the same line, and this confuses debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108302 91177308-0d34-0410-b5e6-96231b3b80d8

commit c34389a361a9da4595f3b21ba5f1129f4bf2b23c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 13 22:06:38 2010 +0000

    Add AVX 256-bit compare instructions and a bunch of testcases

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108286 91177308-0d34-0410-b5e6-96231b3b80d8

commit c752d7c5439e65b71aafaa420dd1ffc8fa53be79
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 13 21:19:08 2010 +0000

    Remove vestigial decl.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1145e6b35662affaf747d64fa66db5524758df7d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 13 21:19:05 2010 +0000

    Print VNInfo flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41fcfc0beca0878547f17855b09567a222291e85
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jul 13 21:16:48 2010 +0000

    Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to represent
    NEON VMOV-immediate instructions.  This simplifies some things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108275 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8e8dfb3fc8433590ba08613398bd257a1eea02a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 13 21:07:28 2010 +0000

    AVX 256-bit conversion instructions
    Add the x86 VEX_L form to handle special cases where VEX_L must be set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b45e81e6b266ae34d4c5b9bbccbea8244131c96
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jul 13 21:03:14 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71c81bf3af713f27acf8317e186ed130bab9899d
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 13 20:17:05 2010 +0000

    In inline asm treat indirect 'X' constraint as 'm'.
    This may not be right in all cases, but it's better
    than asserting which it was doing before.  PR 7528.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 735a4bc4f13198bca9919891f96d76c779e4d82e
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Jul 13 20:05:41 2010 +0000

    Added a check that pusha cannot be encoded in 64-bit mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108265 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c88983e6b96fe4b078011d945f308cbef32078b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 13 19:56:28 2010 +0000

    Add an assertion to make PR7542 fail consistently.

    LiveInterval::overlapsFrom dereferences end() if it is called on an empty
    interval.

    It would be reasonable to just return false - an empty interval doesn't overlap
    anything, but I want to know who is doing it first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 485aa283584aec4f46761b026c4c24d0dda6cc77
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 13 19:48:13 2010 +0000

    Fix the Named Metadata example to make it clear which specific
    construct is the named metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263 91177308-0d34-0410-b5e6-96231b3b80d8

commit e76e76ebbb0a220ea19b3fe265168a0f4e0fdb7f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 13 19:42:44 2010 +0000

    Add support for empty named metadata too. This isn't particularly
    useful, but it is nice for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 480f630842980ea859133c8ce5984fa09566141d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 13 19:42:20 2010 +0000

    Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.
    Also, one binary search is enough.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108261 91177308-0d34-0410-b5e6-96231b3b80d8

commit 028b57991c4e418bd4312a1050273ea6302953c9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 13 19:33:27 2010 +0000

    Add support for empty metadata nodes: !{}.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108259 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1a12656bdecb844854999ccf8cad03a09f2608e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jul 13 19:27:42 2010 +0000

    Extend the r107852 optimization which turns some fp compare to code sequence using only i32 operations. It now optimize some f64 compares when fp compare is exceptionally slow (e.g. cortex-a8). It also catches comparison against 0.0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79432942e8bbbacbb381acf02d65e8a4bc47f93f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jul 13 19:21:50 2010 +0000

    Add an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35f7c9f4c82a44168d46cc68700caf7cf9381133
Author: Grey Clayton <gclayton@apple.com>
Date:   Tue Jul 13 18:47:09 2010 +0000

    Patched Makefile.rules to allow objective C and objective C++ compilation.
    This allows LLDB (llvm/tools/lldb) to build on Mac OS X.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108255 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc08cdaac3e6711f919921efb75481d7f9779906
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jul 13 18:46:14 2010 +0000

    -enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e96396981ff74aaac8e3b353b652df98af163fc
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 13 18:27:13 2010 +0000

    Grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e7b94d5ddb8b798c1041b03bf20baeab372f168
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 13 18:14:47 2010 +0000

    Fix PR number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 646bf9da66be01e48e11dd851d0296544b5e8211
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Tue Jul 13 17:28:05 2010 +0000

    Switch from EXPECT_EQ({true,false, ...) to the more canonical
    EXPECT_{TRUE,FALSE}(...) macros. This also prevents suprious warnings about
    bool-to-pointer conversion that occurs withit EXPECT_EQ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e74d7941fe30f35f05d87cf0af2f98a5d383808
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 13 16:53:20 2010 +0000

    Fix compile unit in example. Thanks Renato Golin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06a07fbb723f9a9cdbdae70a8d99e7e00446fb85
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 13 15:41:41 2010 +0000

    Handle the case of a tail recursion in which the tail call is followed
    by a return that returns a constant, while elsewhere in the function
    another return instruction returns a different constant.  This is a
    special case of accumulator recursion, so just generalize the existing
    logic a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33c9b635e4dbb46fadd16878ab4eca2f87ac9f6a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 13 15:31:36 2010 +0000

    rotate CallInst operands

    with this commit the callee moves to the end of
    the operand array (from the start) and the call
    arguments now start at index 0 (formerly 1)

    this ordering is now consistent with InvokeInst

    this commit only flips the switch,
    functionally it is equivalent to
    r101465

    I intend to commit several cleanups after a few
    days of soak period

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a4b158b0ee2667d18d6168742970d06164f5082
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jul 13 12:26:09 2010 +0000

    HTML cleanup and validation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108239 91177308-0d34-0410-b5e6-96231b3b80d8

commit a18b11c067d70474b8dc5f4d89b49a3628bfd5d0
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 13 12:06:14 2010 +0000

    When doing sext/zext of constants, the target type must be strictly
    wider than the source type.  Correct LangRef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108238 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81d602cf8d5e8614c1322a93869844fe3c43a1b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 13 05:52:36 2010 +0000

    use a typedef instead of its expansion, patch by Michael Spencer

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108229 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5ed1bf059a91d0fb76e4051213794382d9e045
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 13 05:50:08 2010 +0000

    80-columns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108228 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2c5df57d4d51228b7e7e468bd4c66a6d313d37a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jul 13 04:44:34 2010 +0000

    Move NEON "modified immediate" encode/decode into ARMAddressingModes.h to
    avoid replicated code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56a528241ad96d4b3a57f944d402fd3cbf6e749b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 13 04:23:55 2010 +0000

    my work on adding segment registers to LEA missed the
    disassembler.  Remove some code from the disassembler to
    compensate, unbreaking disassembly of lea's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108226 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6070199da3ce7062ca9d35268e8b07136428ddf
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 13 02:38:35 2010 +0000

    Add AVX 256-bit packed logical forms

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26b8d5c1738fe6ff66bc10c272025d66612edd0e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 13 01:53:31 2010 +0000

    Add AVX 256-bit unop arithmetic instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84caa7b73854f88182a8660255ad027c0219b725
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 13 00:38:47 2010 +0000

    Since AVX is a superset of all SSE versions, only use HasAVX for AVX instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108222 91177308-0d34-0410-b5e6-96231b3b80d8

commit c773ab179075590c0ed907796fba6e232966c88e
Author: Stephen Wilson <wilsons@start.ca>
Date:   Tue Jul 13 00:24:59 2010 +0000

    Bring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"
    section entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c3374528cffbff4e15773c3ebe087526e71432c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 13 00:23:30 2010 +0000

    Don't add memory operands to storeRegToStackSlot / loadRegFromStackSlot results,
    they already have one.

    This fixes the himenobmtxpa miscompilation on ARM.

    The PostRA scheduler got confused by the double memoperand and hoisted a stack
    slot load above a store to the same slot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108219 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e18393bf04b4cb7eb4847668929c2322508501f
Author: David Greene <greened@obbligato.org>
Date:   Mon Jul 12 23:41:28 2010 +0000

    Move some SIMD fragment code into X86InstrFragmentsSIMD so that the
    utility classes can be used from multiple files.  This will aid
    transitioning to a new refactored x86 SIMD specification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92db1c4dc15535762814fb9476cf7116768e4342
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jul 12 23:04:15 2010 +0000

    Add AVX 256 binary arithmetic instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108207 91177308-0d34-0410-b5e6-96231b3b80d8

commit dee3bce1c7a22ea9bf4764df7c53216ff5e0d7fc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jul 12 22:41:32 2010 +0000

    More refactoring of basic SSE arith instructions. Open room for 256-bit instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c9b06d16512c42cfe83fef36b4007ebd5c6b1f6
Author: Stephen Wilson <wilsons@start.ca>
Date:   Mon Jul 12 22:36:08 2010 +0000

    Simple format/style fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39bb34f2e6df7e2430151694ceb41ec2e79814e7
Author: Stephen Wilson <wilsons@start.ca>
Date:   Mon Jul 12 21:34:37 2010 +0000

    Test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cc95cf7c17a0ab33cb1534faa309789aa0eb3b4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 21:23:32 2010 +0000

    MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108196 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaf0cee5f48143c5e6108e776b91cb046bb39c5d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 20:51:51 2010 +0000

    MC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108193 91177308-0d34-0410-b5e6-96231b3b80d8

commit 750a9b099703a917613cfd9ca768b68e2412c0c3
Author: Argiris Kirtzidis <akyrtzi@gmail.com>
Date:   Mon Jul 12 20:47:08 2010 +0000

    Add convenience method FoldingSetImpl::InsertNode(Node *N) that asserts if the node is already inserted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b7419feee5d31aa7073da7dabaa43bba9e313eb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 12 20:46:04 2010 +0000

    Apply the SSE dependence idiom for SSE unary operations to
    SD instructions too, in addition to SS instructions. And
    add a comment about it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108191 91177308-0d34-0410-b5e6-96231b3b80d8

commit a24a16acc76386024b06bc33aff5bbd22ed072a0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 20:42:34 2010 +0000

    MC/AsmParser: Move .section parsing to Darwin specific parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e761374d19f14a856d8c889d94f4b23b4066cf8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 20:32:33 2010 +0000

    MC/AsmLexer: Raise LexUntilEndOfStatement to MCAsmLexer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45a63a2637b3dc93ca4cabe48c2605d573e18b77
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jul 12 20:27:02 2010 +0000

    getOrInsertLeaderValue cannot be const because it calls insert.
    Patch by Xi Wang!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108188 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41566672c407a8d29c84483dc2e98ef96ae41ecd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 20:23:36 2010 +0000

    MC/AsmParser: Move special section directive parsing to Darwin specific parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108187 91177308-0d34-0410-b5e6-96231b3b80d8

commit 572cc73a3f782d9ae9067efcfb3263364bb0bcc7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jul 12 20:22:45 2010 +0000

    Remove some code that doesn't appear to do anything.  All the ARM call
    instructions already have implicit defs of LR.  The comment suggests that
    this is intended to fix something like pr6111, but it doesn't really do
    that either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b6ed6554c5ff1ff8eca3776576291408f6e98f4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 20:08:04 2010 +0000

    MC/AsmParser: Add a basic ELFAsmParser extension.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4251ba701df83ca419a99d46b5ee4ceca6aeecad
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jul 12 20:06:32 2010 +0000

    Add AVX 256-bit MOVMSK forms

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c2b6272f14001f71e65af43106a439c22cd6402
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 19:52:10 2010 +0000

    MC/AsmParser: Inline AsmParser::CreateSymbol into callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0987842f19e582af85f68a2c17b70f8da90b4088
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 19:37:35 2010 +0000

    MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108180 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6a0ba2a72375de846c8534f68236f7b9b6d594a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 19:22:53 2010 +0000

    MC/AsmParser: Move .desc parsing to Darwin specific parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108179 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54c10f56f31426c9bb5018933eac33347302ae07
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 19:08:25 2010 +0000

    MC/AsmParser: Move .lsym parsing to Darwin specific parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108176 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab2bd410292c53fbfe76cf550575b66f5f986afc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 18:49:22 2010 +0000

    MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 192e19f8c55c0116b11cf0a0962edaa07cff7788
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 18:35:04 2010 +0000

    MCAsmParser: Add getSourceManager().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ccf53be301644d16b1520cd8c27ec90cc93aaf1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jul 12 18:17:47 2010 +0000

    Silence a warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108169 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91ece089213182ab36e14ab68f8301b6ce85f8f1
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 12 18:12:35 2010 +0000

    Check begin!=end, rather than !begin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6448cedbebce5e2a5ac0b923c0f74b361b368803
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 18:12:02 2010 +0000

    MC/AsmParser: Add a DarwinAsmParser extension.
     - Currently initialization is a bit of a hack, but harmless. We need to rework
       various parts of target initialization to clean this up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108165 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40ca3fed111ce74a1b6798289501e7d28b84a331
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 12 18:11:17 2010 +0000

    Fix a typo and fit in 80 columns. Found by Bob Wilson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b7d0296eff42bdca495bd04074b592b149e674e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 18:03:11 2010 +0000

    MC/AsmParser: Switch a bunch of directive parsing to use accessors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108163 91177308-0d34-0410-b5e6-96231b3b80d8

commit b94989145d5607356a9a8196462dc57c7327111b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 12 18:02:04 2010 +0000

    Add a lint check for mismatched return types, inspired by PR6944.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d6d5c46482bc3fa9aed06de7e20d9e31b0ab8de
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 17:54:38 2010 +0000

    MCAsmParser: Pull some directive handling out into a helper class, and change
    DirectiveMap to be based on MCAsmParserExtension.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108161 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50b0d52ea5abf562e53097853c2b63c928bd2f49
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 17:45:27 2010 +0000

    MC/AsmParser: Switch some directive parsing to use accessor methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85998817c1c87cecb93a6abfa7ef3bfdd5c41217
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 17:27:45 2010 +0000

    MC: Add MCAsmParserExtension, a base class for all the target/object specific
    classes which want to extend the basic asm parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f460ac1b176d3a4ba07a04038cf6b4a9e05dbbd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 17:18:45 2010 +0000

    MC: Move AsmParser::TokError to MCAsmParser().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108155 91177308-0d34-0410-b5e6-96231b3b80d8

commit aad9b43c15e5a257a1632dbbdb518e83724d8218
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jul 12 17:10:00 2010 +0000

    MC: Move getLoc() to MCAsmLexer().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25ae207892cd7cae31af23e6883b56620b022a7e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 16:38:48 2010 +0000

    Nope, still breaks the release selfhost bots :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108153 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29e8e9fbadd78f31972f78ce1690ff06d490fa44
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 16:15:48 2010 +0000

    Reapply the "or" half of r108136, which seems to be less problematic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8698145b3fc77f7f204f381cc98114be4a0ee205
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 15:48:26 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72ded6f11022f50816b6cc890436b871f4dfa816
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jul 12 15:46:30 2010 +0000

    Don't fast-isel an x87 comparison opcode, as fast-isel doesn't
    support branching on x87 comparisons yet. This fixes PR7624.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108149 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6efd925dc757c926cbea4c28f0fb1d0927c86d0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 14:42:04 2010 +0000

    Revert r108141 again, sigh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108148 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1175efa45237f368380e072e17aa27fb7d02484
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:15:58 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108147 91177308-0d34-0410-b5e6-96231b3b80d8

commit d104c410722b9b57416101ce6663b6df32dd845b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:15:10 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55140115e3293fdf7e2ecfdf34db3e5ca7e0eb07
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:14:03 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d1b8cbf7b8ad0518e279681a667b1d7988dda55
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:13:15 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48d42cc2b9e9bbc2d5f7e406ed20f5ee2bcabba7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:12:11 2010 +0000

    cache results of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ed023ac97daede3a74397b85b806eb4849d9a8c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 14:10:24 2010 +0000

    cache results of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 381506c3b29931f41cba107203340906e827a489
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 13:44:00 2010 +0000

    Reapply 108136 with an ugly pasto fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dd59f7da3c6d86f75666155bc7999af89d09c79
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 13:34:22 2010 +0000

    Move optimization to avoid redundant matching.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108140 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99c06691d8366d7e06985813d76137e2b8b0bfa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 12:35:49 2010 +0000

    Revert r108136 until I figure out why it broke selfhost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108139 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90099cc68f48bbcfb2abaf903b975337ec87a9f5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 12:03:02 2010 +0000

    cache dereferenced iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108138 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76c76cdaea3ce6ffe482896b8ee0ee24dc23c803
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 12:02:10 2010 +0000

    recommit r108131 (hich has been backed out in r108135) with a fix

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 963fc1f671edd51357a70c41c50544a497bab4d7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jul 12 11:54:45 2010 +0000

    instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773)

    before:
      %and = and i32 %y, %x
      %neg = xor i32 %x, -1
      %and4 = and i32 %z, %neg
      %xor = xor i32 %and4, %and

    after:
      %xor1 = xor i32 %z, %y
      %and2 = and i32 %xor1, %x
      %xor = xor i32 %and2, %z

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108136 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4faf7da3ad9864e720a02b8cdba6b670b2655a5d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 11:32:39 2010 +0000

    back out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failure

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108135 91177308-0d34-0410-b5e6-96231b3b80d8

commit f99577384956419e723edfa031f77b09741d6fc6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 11:19:24 2010 +0000

    cache dereferenced iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108134 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf34f5f30263ccb9aa38014c9ac97f5086b66449
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 10:59:23 2010 +0000

    cache dereferenced iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108133 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09b64a8d302715ea71684c0af7aaf76e660b70d8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 10:49:54 2010 +0000

    cache dereferenced iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c1905f42e60912d1ff1062b0828ea61c194284e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jul 12 10:36:48 2010 +0000

    cache dereferenced iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26239ef2be6af60a36ce88be30fb75c1fc2caeed
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Jul 12 08:16:59 2010 +0000

    Convert some tab stops into spaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130 91177308-0d34-0410-b5e6-96231b3b80d8

commit b01b78344cc75335f7f973f7cef124afb8495a8c
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Mon Jul 12 06:47:05 2010 +0000

    Add parentheses around an || to correct the logic. Also silences a GCC warning
    that was actually useful here.

    Chris, please double check that this is the correct interpretation. I was
    pretty sure, and ran it by Nick as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108129 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6581048466070fbeadd75869693024d2b5158b2f
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jul 12 05:26:37 2010 +0000

    Remove tab characters and 80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108127 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba15c22c601b4a64921a7dc493c67967beebd9d3
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jul 12 05:13:35 2010 +0000

    80 columns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108126 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47e4a790fe3672d743ca3d5e7b73f3da1f5dc743
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 04:39:07 2010 +0000

    Path::isRootDirectory is unimplemented on Unix and not used,
    remove it, fixing PR6909.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73b053572f88ac610801bb93759971413bf44cef
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 12 03:43:04 2010 +0000

    Convert getLoadStoreRegOpcode to use a switch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108123 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd56699bfe5a689669444cfd224f37d670a00783
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 12 02:55:34 2010 +0000

    Convert the last use of getPhysicalRegisterRegClass and remove it.

    AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
    instruction might be using a register that can only be replaced with one from
    a subclass of getPhysicalRegisterRegClass.

    With this patch we use getMinimalPhysRegClass. This is correct, but
    conservative. We should check the uses of the register and select the
    largest register class that can be used in all of them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e7c0d36b76dc5e876bb3f7bed9d157644eb8e26
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jul 12 02:32:44 2010 +0000

    Fix up the ocaml kaleidoscope example as well.

    Note that the example currently doesn't appear to work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 506be5bc9051298af0ec01dfe48746e5eb1aebbc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jul 12 02:12:47 2010 +0000

    A basic block that only uses RFP registers still needs the FP_REG_KILL marker.

    This fixes PR7375.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1af1454c8a74a6f1004a68957f5a465af77eca59
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 12 01:45:38 2010 +0000

    Don't use getPhysicalRegisterRegClass in PBQP. The existing checks that the
    physical register can be allocated in the class of the virtual are sufficient.

    I think that the test for virtual registers is more strict than it needs to be,
    it should be possible to coalesce two virtual registers the class of one
    is a subclass of the other.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108118 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccba7b3240c0388bd90048a00093fd9e74c9c1e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 01:19:22 2010 +0000

    fix PR7311 by avoiding breaking casts when a bitcast from scalar->vector
    is involved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108117 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc8139f28a3defa2de757d3f5a93c4cba7058016
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:57:28 2010 +0000

    make the prototypes for CreateMalloc and CreateFree more consistent.  Patch
    by Hans Vandierendonck from PR7605

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108116 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd7a610e337b7c07218860f942034c46f095b60d
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jul 12 00:52:33 2010 +0000

    Convert the last getPhysicalRegisterRegClass in VirtRegRewriter.cpp to
    getMinimalPhysRegClass. It was used to produce spills, and it is better to
    use the most specific class if possible.

    Update getLoadStoreRegOpcode to handle GR32_AD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2168eabf72e8bd500dd345c42d9d2daf86f67b95
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:47:34 2010 +0000

    if jump threading is able to infer interesting values on both
    the LHS and RHS of an and/or instruction, don't multiply add
    known predecessor values.  This fixes the crash on testcase
    from PR7498

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18e3db23ef0c882bf59d838224b5c84cbad279ad
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:22:51 2010 +0000

    fix PR7429, a crash turning a load from a string into a float.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4651b03a90fb6f126f19311f09a05d4b5591ab20
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:21:10 2010 +0000

    convert to filechecconvert to filecheckk

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6175519fea88e8009bc9a010d9372e5f64cbdb15
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:19:47 2010 +0000

    merge two tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ef72972adae523af730ee20c4aca4fc2925ec5c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:09:55 2010 +0000

    improve Path::makeUnique when mkstemp/mktemp are not available
    patch by Lasse Kärkkäinen in PR7404.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108110 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8c8e86e2e9e91f15109e610513330dd015c9a93
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 12 00:00:35 2010 +0000

    change machinelicm to use MachineInstr::isSafeToMove.  No
    intended functionality change.

    The avoidance of hoistiing implicitdef seems wrong though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108109 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3ee16711aec1ff31a135dd5798ec5d774f3f58c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 11 23:07:28 2010 +0000

    first part of JIT support for address of labels, part of PR7264,
    patch by Yuri!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108107 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdad91dc00d9c2da27dea37f2d7a43c44ef69f3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 11 22:07:02 2010 +0000

    introduce WinCOFFObjectWriter, patch by Michael Spencer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108103 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5061ddac23076ab2c892ed5901c9568596416f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 11 22:05:00 2010 +0000

    introduce WinCOFFStreamer.cpp, patch by Michael Spencer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108102 91177308-0d34-0410-b5e6-96231b3b80d8

commit c95654f37aa0a5e2ab870fd93d457da08bad3e57
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Jul 11 20:36:29 2010 +0000

    If it's safe to speculatively execute load(alloca) the it's safe to execute
    load(gep(alloca)) where the gep is all-zeros. There's more we could do here but
    this is a common case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6db8fcb5a4957ca2f5c5d4bf19ac8b9875463842
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 11 19:42:53 2010 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108100 91177308-0d34-0410-b5e6-96231b3b80d8

commit d15fff75fc972d27b0c5b38114370cfe13a5bf7e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 19:19:13 2010 +0000

    RISC architectures get their memory operand folding for free.

    The only folding these load/store architectures can do is converting COPY into a
    load or store, and the target independent part of foldMemoryOperand already
    knows how to do that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108099 91177308-0d34-0410-b5e6-96231b3b80d8

commit fedcc0e8e447720ca1882b94c940669945b14568
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 18:19:39 2010 +0000

    Use target independent COPY instructions for the fake fextend and fround
    operations in x87 code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e2cd07f32ae8055f36efe0732ec4e44e8a08981
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 17:17:35 2010 +0000

    Remove redundant branch. Thanks, Anton!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108097 91177308-0d34-0410-b5e6-96231b3b80d8

commit a92d668ef7cd92a48c1275760784a5bedc35305d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 17:13:42 2010 +0000

    Remove obsolete README_SSE note.

    We are generating movaps for all XMM register copies, including scalar
    floating point values. This is known to be at least as good as movss and movsd
    for all known architectures up to and including Nehalem because it avoids a
    partial register stall.

    The SSEDomainFix pass will switch movaps to movdqa when appropriate (i.e., when
    operands come from the integer unit). We don't now that switching movaps to
    movapd has any benefit.

    The same applies to andps -> pand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8960eb9e446ae5f5c030afa3d66e61f6bc79563f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 17:01:17 2010 +0000

    Remove TargetInstrInfo::copyRegToReg entirely.

    Targets must now implement TargetInstrInfo::copyPhysReg instead. There is no
    longer a default implementation forwarding to copyRegToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b6a12f81e90a7e2d8b71e4af00d2aa4a4c77320
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jul 11 16:49:10 2010 +0000

    Make getPhysicalRegisterRegClass non-virtual. Should be able to remove it soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108094 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99565986b9dd83520406754f73524cc9d619b7a
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jul 11 16:45:17 2010 +0000

    Convert uses of getPhysicalRegisterRegClass in VirtRegRewriter.cpp.

    The first one was used just to call isSafeToMoveRegClassDefs. In
    general, using a more specific reg class is better, in practice only
    x86 implements that method and the results are always the same.

    The second one is in FindFreeRegister and is used to check if a register
    is in a register class, a much more direct call to contains is better as
    it should cover more cases and is faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3856549bb5f35b18e207b94331e9cc6b00892e8d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 16:40:46 2010 +0000

    Replace copyRegToReg with copyPhysReg for SystemZ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5db41aec3b20485c140b6523d18ffac7896cf007
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 16:22:13 2010 +0000

    Avoid SSE instructions in FastIsel when it is not available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95c53b7ca32e13554768a4d01de3d8c2131e9aec
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sun Jul 11 08:18:12 2010 +0000

    Remove two other uses of ATTRIBUTE_UNUSED for variables only used within
    assert()s, switching to void-casts. Removed an unneeded Compiler.h include as
    a result. There are two other uses in LLVM, but they're not due to assert()s,
    so I've left them alone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108088 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3b48fa8cbc7311b2f83872210299ac3402e14fe
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 07:56:13 2010 +0000

    Replace copyRegToReg with copyPhysReg for XCore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58fb32c59839e8c5b236b4d1a90631b4b4610c6d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 07:56:09 2010 +0000

    Replace copyRegToReg with copyPhysReg for Sparc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108086 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa79c0dbac8b0f7035ccf81e6b97138b628ff6ab
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 07:31:03 2010 +0000

    Replace copyRegToReg with copyPhysReg for CellSPU.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108084 91177308-0d34-0410-b5e6-96231b3b80d8

commit 529791ec264b0c6996fd6e217c9f9dc4ae229cb3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 07:31:00 2010 +0000

    Replace copyRegToReg with copyPhysReg for PowerPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108083 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4a06d900d2f5e1d6c9067e6ea7f9446b1a287df
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 07:30:57 2010 +0000

    Fix PIC16 comments referencing copyRegToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108082 91177308-0d34-0410-b5e6-96231b3b80d8

commit d29e12e6151722c846aaf7eb5597a7c2515d6b79
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 06:53:33 2010 +0000

    Replace copyRegToReg with copyPhysReg for PIC16.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 689a90934f8f2c69988b92f5de0e641bcd2c7f2f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 06:53:30 2010 +0000

    Replace copyRegToReg with copyPhysReg for MSP430.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108080 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa74030791ecbd8000e9ce3ba4b93535acb561d1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 06:53:27 2010 +0000

    Replace copyRegToReg with copyPhysReg for MBlaze.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108079 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3464e55cd6648a43cb392f41bc06780450f608e3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 06:33:54 2010 +0000

    Replace copyRegToReg with copyPhysReg for ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 439af085904803be4265e942d16ad25eac865cd0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 05:44:34 2010 +0000

    Replace copyRegToReg with copyPhysReg for Blackfin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 420685a68ee6dd6c1ad3056798fb33d010e96c8a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 05:44:30 2010 +0000

    X86InstrInfo::copyRegToReg is dead. Long live copyPhysReg!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 569bb30940259a646ec11627cef6f252bdcf2a2f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 05:17:06 2010 +0000

    Remove copyRegToReg from TargetInstrInfo so it is not longer accesible.

    Use a COPY instruction instead for register copies, or TII::copyPhysReg() after
    COPY instructions are lowered.

    Targets should implement copyPhysReg instead of copyRegToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108075 91177308-0d34-0410-b5e6-96231b3b80d8

commit e96e38d5e6907dd4fc6a9c3a50a252498877dd1c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 05:17:02 2010 +0000

    Use COPY in X86FastISel::X86SelectRet.

    Don't try a cross-class copy. That is very unlikely anywy since return value
    registers are usually register class friendly. (%EAX, %XMM0, etc).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02f1a50f1d94deb3f33f855f6b41cb14cf0dfc76
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 05:16:54 2010 +0000

    Use COPY for fast-isel bitconvert, but don't create cross-class copies.

    This doesn't change the behavior of SelectBitcast for X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108073 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6317930e558e79aa00cd9ce0a96fa8c3594eb48
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jul 11 04:01:49 2010 +0000

    Fix va_arg for doubles. With this patch VAARG nodes always contain the
    correct alignment information, which simplifies ExpandRes_VAARG a bit.

    The patch introduces a new alignment information to TargetLoweringInfo. This is
    needed since the two natural candidates cannot be used:

    * The 's' in target data: If this is set to the minimal alignment of any
      argument, getCallFrameTypeAlignment would return 4 for doubles on ARM for
      example.
    * The getTransientStackAlignment method. It is possible for an architecture to
      have argument less aligned than what we maintain the stack pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108072 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea962926fe78d59bf8bf4b9f96e59d1be9315bca
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 03:53:50 2010 +0000

    Replace copyRegToReg with COPY in FastISelEmitter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 021df9c13c750eccaf9ebe429c393dcf9dcca5a1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 03:31:05 2010 +0000

    Use COPY for extracting ImplicitDef'ed values from fast-isel instructions.

    This assumes that the registers can be copied which is probably a safe
    assumption.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108070 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9ea89f92973cdc54503b54e3ceb7710577ff0f4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 03:31:00 2010 +0000

    Use COPY in FastISel everywhere it is safe and trivial.

    The remaining copyRegToReg calls actually check the return value (shock!), so we
    cannot trivially replace them with COPY instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108069 91177308-0d34-0410-b5e6-96231b3b80d8

commit 308d202cc86ada1cd38416bd58f0225a3083e6e2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 01:08:31 2010 +0000

    Replace copyRegToReg with copyPhysReg for Mips.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b081c8cc520b1a3194a6c0d51eb566efd8b58ea
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 11 01:08:23 2010 +0000

    Replace copyRegToReg with copyPhysReg for Alpha.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 225f72708dc6f4b745c208a3d353c6c1cfd8b821
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Jul 11 00:08:34 2010 +0000

    sdiv overflow is outright undefined behavior, with or without the
    'exact' keyword. Thanks to nlewycky for pointing this out!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 471922f2f6868f4f55e82db52fba515339a966d6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 22:43:03 2010 +0000

    Use COPY in targets

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 981574e5f487c009a6805627debf3735c7124a0b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 22:42:59 2010 +0000

    Replace copyRegToReg with COPY everywhere in lib/CodeGen except for FastISel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108062 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08266a02772e4cdb7e50ad95014af3695fc95c25
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 22:42:53 2010 +0000

    Only collect subreg extracting copies for later coalescing.
    This also avoids fatal copies from physregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108061 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43a872371deb4b042d4a356b55f9560d7df47c38
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 22:42:31 2010 +0000

    Fix a bug in the code which re-inserts DBG_VALUE nodes after scheduling;
    if a block is split (by a custom inserter), the insert point may be in a
    different block than it was originally. This fixes 32-bit llvm-gcc
    bootstrap builds, and I haven't been able to reproduce it otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dd6b23c9c3d79893078914b0037e167c8ccee56
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 22:42:12 2010 +0000

    Fix this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 149328491b23c702fb6da46605a0d3c2764407b7
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jul 10 20:31:42 2010 +0000

    The accumulator tail recursion transform claims to work for any associative
    operation, but the way it's implemented requires the operation to also be
    commutative.  So add a check for commutativity (and tweak the corresponding
    comments).  This makes no difference in practice since every associative
    LLVM instruction is also commutative!  Here's an example to show the need
    for commutativity: the accum_recursion.ll testcase calculates the factorial
    function.  Before the transformation the result of a call is
      ((((1*1)*2)*3)...)*x
    while afterwards it is
      (((1*x)*(x-1))...*2)*1
    which clearly requires both associativity and commutativity of * to be equal
    to the original.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 411de265211f3d77b6f2dc0c16b67f13500efed8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 19:08:25 2010 +0000

    Emit COPY instructions instead of using copyRegToReg in InstrEmitter,
    ScheduleDAGEmit, TwoAddressLowering, and PHIElimination.

    This switches the bulk of register copies to using COPY, but many less used
    copyRegToReg calls remain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108050 91177308-0d34-0410-b5e6-96231b3b80d8

commit e416cc19a91cfa014e21c7b69c044ed80d7b13c1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jul 10 18:56:35 2010 +0000

    Use non-bool values for .count.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108048 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe7175ece693e9be5b12d60ad4c1910fbeb3743f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 17:42:34 2010 +0000

    Don't emit st(0)/st(1) copies as FpMOV instructions. Use FpSET_ST? instead.

    Based on a patch by Rafael Espíndola.

    Attempt to make the FpSET_ST1 hack more robust, but we are still relying on
    FpSET_ST0 preceeding it. This is only for supporting really weird x87 inline
    asm.

    We support:

      FpSET_ST0
      INLINEASM

      FpSET_ST0
      FpSET_ST1
      INLINEASM

    with and without kills on the arguments. We don't support:

      FpSET_ST1
      FpSET_ST0
      INLINEASM

    nor

      FpSET_ST1
      INLINEASM

    Just Don't Do It!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41bce9819ed584676dd69678ecedd9f54d09a409
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 16:30:25 2010 +0000

    FileCheckize inline asm FP stack tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108046 91177308-0d34-0410-b5e6-96231b3b80d8

commit eebb1585e55143d2eb4a0c412eb929366671823d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 13:55:45 2010 +0000

    Insert IMPLICIT_DEF instructions at the current insert position, not
    at the end of the block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1215bf05150a64f94c2d5c07013e57fa24a89942
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sat Jul 10 12:06:22 2010 +0000

    Add parentheses yet again to satisfy GCC's warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 340c542246c6d7419a0db0d5a3ee703581e0b47c
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 09:01:35 2010 +0000

    Add an explicit triple to make this test behave consistently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36f1a1b69d6891689ee9b9a3aa239a28d4dab81b
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 09:01:03 2010 +0000

    Fix this XTARGET so that this does doesn't XPASS on non-darwin hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108040 91177308-0d34-0410-b5e6-96231b3b80d8

commit 347a438dde7d7784f5df83f93b5a835130cc1ea7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jul 10 09:00:22 2010 +0000

    Reapply bottom-up fast-isel, with several fixes for x86-32:
     - Check getBytesToPopOnReturn().
     - Eschew ST0 and ST1 for return values.
     - Fix the PIC base register initialization so that it doesn't ever
       fail to end up the top of the entry block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 006c34efbc6f59cfad6dac146f3c5900681dc777
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 10 04:04:25 2010 +0000

    An x86 function returns a floating point value in st(0), and we must make sure
    it is popped, even if it is ununsed. A CopyFromReg node is too weak to represent
    the required sideeffect, so insert an FpGET_ST0 instruction directly instead.

    This will matter when CopyFromReg gets lowered to a generic COPY instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d1f91df61f280035d4117663d7b40cad7a0ba59
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jul 9 21:48:31 2010 +0000

    Update DBG_VALUE to refer appropriate stack slot in case of a spill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108023 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9e3422f445b047c7aaaa18ffedb9ad381439027
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 21:46:19 2010 +0000

    Declare YMM subregisters in the right way! Thanks Jakob

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108022 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ffcbc1cde8c058f84a745759a9398aa80ee435b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 21:42:42 2010 +0000

    Add AVX 256-bit packed MOVNT variants

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b651c590e7d43ff2de79a02fd242a438c6553af
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 21:27:55 2010 +0000

    Remember the *_TC opcodes for load/store

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 012bc291b8634394b3aca9b25c0c202de15c3539
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 21:20:35 2010 +0000

    Add AVX 256-bit unpack and interleave

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108017 91177308-0d34-0410-b5e6-96231b3b80d8

commit b74766e1570ad441bfc0e2599db8d4dd3ed16178
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 20:55:49 2010 +0000

    Fix small bug in isMoveInstr -> COPY translation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18d738c8114189699660c47dd18d005d0009c80d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 20:43:13 2010 +0000

    Automatically fold COPY instructions into stack load/store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51218da5e3b5fbbab4d3b1eb792a11a00f56d3b1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 20:43:09 2010 +0000

    Fix a few tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65bcc45af42af77410872af00d19a7294c8989e4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 20:43:05 2010 +0000

    Remat uncoalescable COPY instrs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1004e0fd04662cefac5a35b502e32816eaba339e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 9 20:27:06 2010 +0000

    In the presence of variable sized objects, allocate an emergency spill slot.
    rdar://8131327

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a840af1f87ace59cd1426af9da0a5ffa79be2d0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jul 9 19:44:12 2010 +0000

    Clarify what mysterious check means.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108005 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6542db807786cef36b8eeca5a9c5768d02c83143
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 9 19:17:36 2010 +0000

    Add a target triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108003 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0c06a59a87ae14c94304e4ef0b3ee2a8c24f646
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 9 18:49:45 2010 +0000

    Fix MachineLICM to actually visit inner loops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108001 91177308-0d34-0410-b5e6-96231b3b80d8

commit b96be1e4fe3e3a1f42ab05f3ec89db1f8ee6bf3a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 18:27:43 2010 +0000

    Start the support for AVX instructions with 256-bit %ymm registers. A couple of
    notes:
    - The instructions are being added with dummy placeholder patterns using some 256
      specifiers, this is not meant to work now, but since there are some multiclasses
      generic enough to accept them,  when we go for codegen, the stuff will be already
      there.
    - Add VEX encoding bits to support YMM
    - Add MOVUPS and MOVAPS in the first round
    - Use "Y" as suffix for those Instructions: MOVUPSYrr, ...
    - All AVX instructions in X86InstrSSE.td will move soon to a new X86InstrAVX
      file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 481fef569d58b0cc03a67192969d20b69a79dd79
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 17:29:08 2010 +0000

    Change TII::foldMemoryOperand API to require the machine instruction to be
    inserted in a MBB, and return an already inserted MI.

    This target API change is necessary to allow foldMemoryOperand to call
    storeToStackSlot and loadFromStackSlot when folding a COPY to a stack slot
    reference in a target independent way.

    The foldMemoryOperandImpl hook is going to change in the same way, but I'll wait
    until COPY folding is actually implemented. Most targets only fold copies and
    won't need to specialize this hook at all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 619d52fffeeb3b44b27b509bd2fd07ddb123370b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:51:20 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107990 91177308-0d34-0410-b5e6-96231b3b80d8

commit db005ef4f16902db1846c3236b58845db7d5e203
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:42:04 2010 +0000

    remove useless cast and fix typos in comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56df43721b461e4cac389aa064f5949451301f4b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:39:02 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36ab66619c0321d22ef851fde5fce02b757a81da
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 9 16:37:18 2010 +0000

    --- Reverse-merging r107947 into '.':
    U    utils/TableGen/FastISelEmitter.cpp
    --- Reverse-merging r107943 into '.':
    U    test/CodeGen/X86/fast-isel.ll
    U    test/CodeGen/X86/fast-isel-loads.ll
    U    include/llvm/Target/TargetLowering.h
    U    include/llvm/Support/PassNameParser.h
    U    include/llvm/CodeGen/FunctionLoweringInfo.h
    U    include/llvm/CodeGen/CallingConvLower.h
    U    include/llvm/CodeGen/FastISel.h
    U    include/llvm/CodeGen/SelectionDAGISel.h
    U    lib/CodeGen/LLVMTargetMachine.cpp
    U    lib/CodeGen/CallingConvLower.cpp
    U    lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    U    lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    U    lib/CodeGen/SelectionDAG/FastISel.cpp
    U    lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    U    lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    U    lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    U    lib/CodeGen/SelectionDAG/TargetLowering.cpp
    U    lib/Target/XCore/XCoreISelLowering.cpp
    U    lib/Target/XCore/XCoreISelLowering.h
    U    lib/Target/X86/X86ISelLowering.cpp
    U    lib/Target/X86/X86FastISel.cpp
    U    lib/Target/X86/X86ISelLowering.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107987 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcf256e43faf749c943a91367bcca69190ad6982
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:31:08 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86d6b6614d28a7f8790ec8113bd43fae3f2d23b2
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:26:41 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cec898fb968e5f82cbfba67479143dbba7eb45f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:22:36 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c257878c2f077dfa92bcd296c5045193edaf78d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:17:52 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fc80fa0325a570d9da3bcd9813d27bfa311730c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:08:33 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a05dcaabca525df5109666a8078e50d8258f865
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 16:01:21 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2249ce27517c89a70f7f1d770b1b88fd5c8bbc44
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:53:42 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107978 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1762b599e73adfeecea22c3a6a0b80538548003
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:52:36 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 538ec53e9c588fef0fc2a184c9be37bb78a2db65
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:40:10 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107976 91177308-0d34-0410-b5e6-96231b3b80d8

commit de4935d0ca9cf097978ac8a4104aab3c5db54432
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:25:42 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107975 91177308-0d34-0410-b5e6-96231b3b80d8

commit d814ec658f1f253324cbcaa007e5bb83be94547c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:25:09 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 171e137c51ff8cde1d96c9ce7596fbbac15b7037
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 15:01:36 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e8fcc1766aa589f0772e7a1a87737665e99414c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:48:08 2010 +0000

    cache result of operator* (found by inspection)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107971 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd21951847a4fe84fe9665166ada7523c642abdb
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:46:49 2010 +0000

    fix clang selfhost issue (shadowing)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9855ab5df5d851d8aff11a8057a91cb05f4292c7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:36:49 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107969 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef83866dbcf6f25799e6cf5cb1bb1274c216d0e1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:29:14 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72950af7ed51fb7a921bf61dfc1097b37e63645e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:28:41 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95cdabb434c5ff8a5a7a69b7979b299228f44dfd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:18:23 2010 +0000

    cache result of operator*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107966 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5014069441939e9337da51e5d5151914a5ee53f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:02:13 2010 +0000

    cache operator*'s result (in multiple functions)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e0e066369a57f9b8e593cf219274d9402fc19df
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 14:00:56 2010 +0000

    refactor type expressions and cache operator*'s result

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4568f068c02e17228e788ba57c3a570c01446b01
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 13:17:13 2010 +0000

    do not repeatedly dereference use_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3319d4c645def82e03f5dda47fe0ab7bfdf63260
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 12:23:50 2010 +0000

    do not repeatedly dereference use_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cf178de264dad4f6f63c70c471a933e6dc89014
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 10:42:13 2010 +0000

    two more cases of reuse result of operator*, found by inspection

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107961 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46b6f8400b5a275ab0d33a68f078e30f6132c6cc
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 10:32:31 2010 +0000

    another case of reuse result of operator*, it is expensive to recompute

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06557ca829b8381ba87e132ad0a5a58c0521adef
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 9 09:50:51 2010 +0000

    reuse result of operator*, it is expensive to recompute

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67b61274fb324f9e2da6ef01d6943c00688d0041
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Jul 9 09:19:23 2010 +0000

    Added a support for inserting new MBBs into the numbering.

    Unlike insertMachineInstrInMaps this does not guarantee live intervals will
    remain correct. The caller will need to manually update intervals to account
    for the changes made to the CFG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a5cbe78eed39f2911d3058297e362dea5377352
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 05:56:21 2010 +0000

    Avoid creating %physreg:subidx operands in SimpleRegisterCoalescing::RemoveCopyByCommutingDef.

    This fixes PR7602.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34f5586c9f3f54a239b5f875a5900d5b14d920f6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 04:35:38 2010 +0000

    Deal with a few remaining spots that assume physical registers have live intervals.

    This fixes PR7601.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81af1a660bdd0e225e86d8780dd2ed91aa7c1c4c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 01:56:45 2010 +0000

    Merge VEX enums with other x86 enum forms. Also fix all checks of which VEX
    fields to use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107952 91177308-0d34-0410-b5e6-96231b3b80d8

commit afaef64dbd564b6dffe622291c2299832c44c437
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 01:32:11 2010 +0000

    Fix test to be less sensitive of regalloc accidents

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e4466ab77e346b4fc23f493f7ae0fb6d664903f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 01:27:21 2010 +0000

    Fix broken isCopy handling in TrimLiveIntervalToLastUse.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61dd50bd011a208b0d48dd4589d6263365a076cb
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 9 01:27:19 2010 +0000

    Handle COPY in VirtRegRewriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9912fddd5a0083f23f1c0357b0ebef46117a68d9
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 9 01:06:48 2010 +0000

    Fix the memoperand offsets in code generated for va_start.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107948 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e9cc6e2daa5b59dc1a02f4e0bfc9baef80a4aa4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 9 00:59:16 2010 +0000

    These changes should have accompanied r107943.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d80cd6461a8174e3091f24fb50a9481a9fc2f34
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 9 00:49:41 2010 +0000

    have the mc lowering process handle a few tail call forms, lowering them to
    jumps where possible and turning the TAILCALL marker in the instruction
    asm string into a proper comment.

    This eliminates a FIXME and is on the path to finishing:
    rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc.

    However, I can't eliminate the encodings for these instructions because the JIT
    still exists and has its own copy of the encoder, sigh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107946 91177308-0d34-0410-b5e6-96231b3b80d8

commit e48e5c0ec8cbe3cf07c96a3e1f8ab2ed7ce7f643
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 9 00:47:20 2010 +0000

    Print "dregpair" NEON operands with a space between them, for readability and
    consistency with other instructions that have lists of register operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107944 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bd73f82e19d02efce65300dd8188dea4b975756
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 9 00:39:23 2010 +0000

    Re-apply bottom-up fast-isel, with fixes. Be very careful to avoid emitting
    a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107943 91177308-0d34-0410-b5e6-96231b3b80d8

commit 125080fc62e3bee3f4379710a621bd55a1799f84
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 00:38:14 2010 +0000

    Factor out x86 segment override prefix encoding, and also use it for VEX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 402f7bda87d80206738fc80382074e5f9fe44b98
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 9 00:38:12 2010 +0000

    Reenable DAG combining for vector shuffles.  It looks like it was temporarily
    disabled and then never turned back on again.  Adjust some tests, one because
    this change avoids an unnecessary instruction, and the other to make it
    continue testing what it was intended to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 603a709fa9e0e3406868ed154fe6cc1e77d2704f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jul 9 00:17:50 2010 +0000

    reject pseudo instructions early in the encoder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d6726b9ce1817ed270c282923a7faab96e4464e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 9 00:07:19 2010 +0000

    Remove trailing whitespaces from file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107937 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebbd405e3ed0399f7471574c44d3721296484bdb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 8 23:46:44 2010 +0000

    Change LEA to have 5 operands for its memory operand, just
    like all other instructions, even though a segment is not
    allowed.  This resolves a bunch of gross hacks in the
    encoder and makes LEA more consistent with the rest of the
    instruction set.

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107934 91177308-0d34-0410-b5e6-96231b3b80d8

commit de63da6979ee343007de5075f24abe8cda2d0756
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jul 8 23:25:39 2010 +0000

    Reverting r107918 and r107919.  Radar 8063111.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95b9967cd3518d023d1cff89ac8d9c109775d7f0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 22:52:47 2010 +0000

    Revert "Fix broken isCopy handling in TrimLiveIntervalToLastUse"

    This reverts commit 107921. It broke the clang self host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0056a2a2a55d271b3ff870151485810490a08f5f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 8 22:41:28 2010 +0000

    add some long-overdue enums to refer to the parts of the 5-operand
    X86 memory operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107925 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca6c967fa51d436b30ae41bca57404d28063ff59
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 8 22:39:20 2010 +0000

    Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.
    This fixes PR7596 .

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d849d8d105b02e2b689621b3673233c7f4ff995
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 8 22:38:02 2010 +0000

    Extension of r107506. Make sure that we don't mark a function as having a call
    if the inline ASM doesn't need a stack frame.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107922 91177308-0d34-0410-b5e6-96231b3b80d8

commit df7e4cef7128345530a66c3a8e6c770a05fa5d65
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 22:30:38 2010 +0000

    Fix broken isCopy handling in TrimLiveIntervalToLastUse

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a275bc359cab71b0bc87d6bd6eb952b4cf2bba
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 22:30:35 2010 +0000

    Remember the VR64 register class

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 024dda2339d3c2d1bf85435fa534f77adb4189eb
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jul 8 22:28:59 2010 +0000

    Fix decl/def debug info for template functions.  Radar 8063111.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 120f23deebf78218c6ec78e4e1e1bb9151e341e4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 8 22:28:12 2010 +0000

    Rework segment prefix emission code to handle segments
    in memory operands at the same type as hard coded segments.
    This fixes problems where we'd emit the segment override after
    the REX prefix on instructions like:
    mov %gs:(%rdi), %rax

    This fixes rdar://8127102.  I have several cleanup patches coming
    next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 006b57b3c103ace3e2598d161888833b11b269b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 8 22:27:06 2010 +0000

    introduce a new X86II::getMemoryOperandNo method, which
    returns the start of the memory operand for an instruction.

    Introduce a new "X86AddrSegment" enum to reduce # magic numbers
    referring to X86 memory operand layout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107916 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a12cb8509fd092271a3e8c899edc1e80aa9d801
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Thu Jul 8 21:15:22 2010 +0000

    Switch SPU calling convention (function arguments)
    to a Tablegen implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107913 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12982bccc41ef14d55886b8e0516a624a1e20f2e
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jul 8 20:31:05 2010 +0000

    Test case for r107843.  Radar 8152866.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107907 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd8cc5c3325283e43e33d08d17521f964a9824ad
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Jul 8 20:30:44 2010 +0000

    Revert some unneeded parts of the change in r107886 for the
    .weak_def_can_be_hidden directive.  Chris pointed out that the MCAsmInfo.h/.cpp
    chunks aren't needed for this until the compiler starts generating these.  And
    when that happens it will be more convenient for it to be a bool than a const
    char*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107906 91177308-0d34-0410-b5e6-96231b3b80d8

commit b38cb7da418601768446b8892eef47f9936ca24f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 8 20:12:24 2010 +0000

    Check for FiniteOnlyFPMath as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 457e3d86405b1492726b99fefd890f218619584b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 8 20:10:35 2010 +0000

    Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03d59d370c90955f712c980224826280272b4fb0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 19:46:30 2010 +0000

    Teach the x86 floating point stackifier to handle COPY instructions.

    This pass runs before COPY instructions are passed to copyPhysReg, so we simply
    translate COPY to the proper pseudo instruction. Note that copyPhysReg does not
    handle floating point stack copies.

    Once COPY is used everywhere, this can be cleaned up a bit, and most of the
    pseudo instructions can be removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107899 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7462804d1236737dc17b25af0d9fb1fea38fd0c6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 19:46:25 2010 +0000

    Implement X86InstrInfo::copyPhysReg

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34f1e90b50d0842073cdadd5105eb7f54aea5e3c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 8 17:45:26 2010 +0000

    The NEONPreAllocPass should never have to assign fixed registers anymore.
    This pass can go away entirely soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107892 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8e465e702267336822b9a77ddecf465e728bff4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 8 17:44:00 2010 +0000

    For big-endian systems, VLD2/VST2 with 32-bit vector elements will swap the
    words within the 64-bit D registers.  Use VLD1/VST1 with 64-bit elements
    instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107890 91177308-0d34-0410-b5e6-96231b3b80d8

commit db4d50bfce09128439674ac7b29a2c01fd8073c3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jul 8 17:27:23 2010 +0000

    After r107880, findSurvivorReg() no longer needs to be public.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 251f2280aceb2a6622ac6046543943982bd3d38e
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Jul 8 17:22:42 2010 +0000

    Added the darwin .weak_def_can_be_hidden directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107886 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd0d752459d4a46dd775fe7d51347208e974a5dd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 8 16:56:18 2010 +0000

    only dereference iterator once in the loop
    (by caching the result we save a potentially expensive dereference)

    also use typedefs to shorten type declarations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107883 91177308-0d34-0410-b5e6-96231b3b80d8

commit a87adb5bd6d212b9717bdc44d3341c13a1dc97a7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 8 16:54:45 2010 +0000

    Clean up a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107882 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85a9198574d503b835cb392316cbd7d87932311d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 8 16:52:57 2010 +0000

    remove unneeded parens

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64ad755e090bcf664ea107f1724a53429fc829b3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jul 8 16:49:26 2010 +0000

    Clean up scavengeRegister() a bit to prefer available regs, which allows
    the simplification of frame index register scavenging to not have to check
    for available registers directly and instead just let scavengeRegister()
    handle it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107880 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e7d8c747ad185b96a70eb6376fbc021c6eb4aaa
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 16:40:22 2010 +0000

    Convert EXTRACT_SUBREG to COPY when emitting machine instrs.

    EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead.

    Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg().
    The isMoveInstr hook will be removed later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bbd475ba1309012f0f5e42742d2fb2677f2417a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 16:40:15 2010 +0000

    Remove references to INSERT_SUBREG after de-SSA.

    Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of
    INSERT_SUBREG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f52ffb14f5276c2a183def2e5916e2e3d48ab4c
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jul 8 13:06:08 2010 +0000

    Use std::vector rather than SmallVector here because SmallVector
    causes some versions of gcc to crash when building LLVM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107869 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad250152c49260ffe4c4bb426f641c5c2e8f5e3b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 8 12:09:56 2010 +0000

    Merge the duplicated iabs optimization in DAGCombiner and let it detected a few more idioms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107868 91177308-0d34-0410-b5e6-96231b3b80d8

commit c29a5160e2b5f3c48d7b2759474507d3a01e4c22
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jul 8 11:54:27 2010 +0000

    Do not use std::stack because it causes obscure failures when
    compiled with MSVC 2010 (PR7367).  Instead use a SmallVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107867 91177308-0d34-0410-b5e6-96231b3b80d8

commit b73d96202f865dd3315057a842da77c53368f613
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jul 8 11:39:10 2010 +0000

    Teach instcombine to transform
    (X >s -1) ? C1 : C2 and (X <s  0) ? C2 : C1
    into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional.

    This optimization could be extended to take non-const C1 and C2 but we better
    stay conservative to avoid code size bloat for now.

    for
    int sel(int n) {
         return n >= 0 ? 60 : 100;
    }

    we now generate
      sarl  $31, %edi
      andl  $40, %edi
      leal  60(%rdi), %eax

    instead of
      testl %edi, %edi
      movl  $60, %ecx
      movl  $100, %eax
      cmovnsl %ecx, %eax

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49f5d2ca55db026b3a264b7dc06929dc0ae7eb12
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jul 8 08:27:18 2010 +0000

    Tweak some docs now that the default build is called Debug+Asserts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ebf1bd2ca48e5ef5c7d785999e4f60a3fb7bdd8
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jul 8 07:36:46 2010 +0000

    A slight reworking of the custom patterns for x86-64 tpoff codegen and
    correct the testcase for valid assembly.

    Needs more tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107860 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff461b3d47189c11a51046ff460cf76458d3a6f2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 8 06:01:49 2010 +0000

    r107852 is only safe with -enable-unsafe-fp-math to account for +0.0 == -0.0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107856 91177308-0d34-0410-b5e6-96231b3b80d8

commit cae027607cf2cf28834ce618f0f9c4b9ef8ba1b5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 8 05:01:41 2010 +0000

    Add TargetInstrInfo::copyPhysReg hook and use it from LowerSubregs.

    This target hook is intended to replace copyRegToReg entirely, but for now it
    calls copyRegToReg.

    Any remaining calls to copyRegToReg wil be replaced by COPY instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a6b86ca10e27f6b89a6e65295ac4849313eb764
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jul 8 02:08:50 2010 +0000

    Optimize some vfp comparisons to integer ones. This patch implements the simplest case when the following conditions are met:
    1. The arguments are f32.
    2. The arguments are loads and they have no uses other than the comparison.
    3. The comparison code is EQ or NE.

    e.g.
            vldr.32 s0, [r1]
            vldr.32 s1, [r0]
            vcmpe.f32       s1, s0
            vmrs    apsr_nzcv, fpscr
    	beq     LBB0_2
    =>
            ldr     r1, [r1]
            ldr     r0, [r0]
            cmp     r0, r1
            beq     LBB0_2

    More complicated cases will be implemented in subsequent patches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107852 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3d1654dd796b34f9b74d685f2964854960e8b2a
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jul 8 01:18:23 2010 +0000

    Changes to ARM tail calls, mostly cosmetic.
    Add explicit testcases for tail calls within the same module.
    Duplicate some code to humor those who think .w doesn't apply on ARM.
    Leave this disabled on Thumb1, and add some comments explaining why it's hard
    and won't gain much.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98c34fb78519ccd1bcade873c256b08582990e33
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 8 01:00:56 2010 +0000

    Revert 107840 107839 107813 107804 107800 107797 107791.
    Debug info intrinsics win for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107850 91177308-0d34-0410-b5e6-96231b3b80d8

commit d576565988255a84bee4fdf7bc9d2c7cf04d4b06
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jul 8 00:38:54 2010 +0000

    When processing frame index virtual registers, consider all available registers
    (if there are any) and use the one which remains available for the longest
    rather than just using the first one. This should help enable better re-use
    of the loaded frame index values. rdar://7318760

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 109779aa37581a4bb44cf26d9c315fc179573176
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jul 8 00:27:05 2010 +0000

    Fix the second half of PR7437: scalarrepl wasn't preserving
    address spaces when SRoA'ing memcpy's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107846 91177308-0d34-0410-b5e6-96231b3b80d8

commit d88a0c761e53c66a462dbbe64014b28d8528745e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 23:52:58 2010 +0000

    Don't forward-declare registers for static allocas, which we'll
    prefer to materialize as local constants. This fixes the clang
    bootstrap abort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107840 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71db4115cc01b394b33791efc1c6699f33fe4971
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 23:47:25 2010 +0000

    Fix -fast-isel-abort to check the right instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107839 91177308-0d34-0410-b5e6-96231b3b80d8

commit f88eda16cdfc46b7611ae8c8e7cf0b51c74f808c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 7 23:16:37 2010 +0000

    use PrintEscapedString to handle attribute section with escapes in it,
    PR7399.  The asm parser already handles this.  This is of dubious
    utility (see the PR) but the asmprinter was clearly broken here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107834 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaef33770359d9741553bde52d83f99ccb20b613
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 7 23:04:56 2010 +0000

    fix copies to/from GR8_ABCD_H even more

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86aee5d05f456653f19e78dfa3f1e2240062b18b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 7 22:53:35 2010 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80c6b0e67645d4d47a66ee45506b5d85f5438621
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 7 22:51:22 2010 +0000

    Handle cases where the post-RA scheduler may move instructions between the
    address calculation instructions leading up to a jump table when we're trying
    to convert them into a TB[H] instruction in Thumb2. This realistically
    shouldn't happen much, if at all, for well formed inputs, but it's more correct
    to handle it. rdar://7387682

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87dfcd77079fd97627fb741551a18f10ae1df1b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 7 22:35:13 2010 +0000

    finish up support for callw: PR7195

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107826 91177308-0d34-0410-b5e6-96231b3b80d8

commit de45e0583cf9843e1caa0a86d8e2545ad687a44e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 7 22:27:31 2010 +0000

    Implement the major chunk of PR7195: support for 'callw'
    in the integrated assembler.  Still some discussion to be
    done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5254673d3c180c4e840823ede60006cf81ab29cc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 22:24:03 2010 +0000

    Add more assembly opcodes for SSE compare instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45f9d5677d549bfb0f6d7f16517851dba16dee01
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 7 22:20:57 2010 +0000

    One MDNode may be used to create regular DIE as well as abstract DIE.
    Keep track of abstract subprogram DIEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 554313f1f2cd93312992d625b53c59203e42e5e3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jul 7 22:15:37 2010 +0000

    Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument for consistency sake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107820 91177308-0d34-0410-b5e6-96231b3b80d8

commit c59d4c50615572f3d7581640d02246a5a5f7eba5
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 7 21:52:21 2010 +0000

    Print undefined/unknown debug value as "undef".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9091b36a98aec077e4fc70b519a81164c9712e76
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 21:18:22 2010 +0000

    Not all custom inserters create new basic blocks. If the inserter
    didn't create a new block, don't reset the insert position.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 030211c778a0283a074c7426793ce6ba5a353d70
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 7 21:06:51 2010 +0000

    grammar and trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13a1e23bb8a5f5c058065e28457789a0cc358734
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 7 20:49:57 2010 +0000

    Rename couple of maps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64581a329a411a822da3d0c50a8bf13134751257
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 7 20:33:27 2010 +0000

    Allow copies between GR8_ABCD_L and GR8_ABCD_H.

    This fixes PR7540.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107809 91177308-0d34-0410-b5e6-96231b3b80d8

commit 492bf0502161f49fceb5d370b52c2a06159e56d1
Author: Reid Kleckner <reid@kleckner.net>
Date:   Wed Jul 7 20:16:45 2010 +0000

    Update the docs for debugging JITed code with GDB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107808 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0c636ef4fda7095ae4379a7b6e6a6be09b6071c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 7 20:12:52 2010 +0000

    80 cols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f7546fad7f46bda0c5d043e08c491cc85958a2c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 19:20:32 2010 +0000

    Implement bottom-up fast-isel. This has the advantage of not requiring
    a separate DCE pass over MachineInstrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107804 91177308-0d34-0410-b5e6-96231b3b80d8

commit d61f27b2623dc5f4445468c21665eb9d46f52d4d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 18:32:53 2010 +0000

    Add X86FastISel support for return statements. This entails refactoring
    a bunch of stuff, to allow the target-independent calling convention
    logic to be employed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107800 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4071c8e0a1c198acb13637bb1b9a2eadddb845d
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 18:24:20 2010 +0000

    Add AVX AES instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107798 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa86edeadebf1104b817e97cb52024384be6bd08
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 18:22:13 2010 +0000

    Update the insert position after scheduling, which may change the
    position when emitting multiple blocks when executing a custom
    inserter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107797 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfdb94b0b75c12fd7a4f5edf2a7a8203a9a90975
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jul 7 18:18:18 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107796 91177308-0d34-0410-b5e6-96231b3b80d8

commit f048e4c15b8777b6a955c1896d9f74409ab90400
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 17:28:45 2010 +0000

    Fix debugging strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107795 91177308-0d34-0410-b5e6-96231b3b80d8

commit d736e61c4fe18f6a04320c81147eafedac30b296
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jul 7 16:48:16 2010 +0000

    Issue the warning about being slow whenever optimization is disabled,
    and not just for Debug+Asserts builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 200ce60f5f2416385dd87a9593b56a17cb0df849
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 16:47:08 2010 +0000

    Give FunctionLoweringInfo an MBB member, avoiding the need to pass it
    around everywhere, and also give it an InsertPt member, to enable isel
    to operate at an arbitrary position within a block, rather than just
    appending to a block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f7c569d4ebf6b06c14e127804271df1585a83ba
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 16:29:44 2010 +0000

    Simplify FastISel's constructor by giving it a FunctionLoweringInfo
    instance, rather than pointers to all of FunctionLoweringInfo's
    members.

    This eliminates an NDEBUG ABI sensitivity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107789 91177308-0d34-0410-b5e6-96231b3b80d8

commit f342d3f42adc8c30822262d92571412549627078
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 16:01:37 2010 +0000

    Move FunctionLoweringInfo.h out into include/llvm/CodeGen. This will
    allow target-specific fast-isel code to make use of it directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65dba79d91f1882ed5c2c5ad020a60fd81ac5941
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 15:54:55 2010 +0000

    Split the SDValue out of OutputArg so that SelectionDAG-independent
    code can do calling-convention queries. This obviates OutputArgReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107786 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd36b99d572469c2f0357aaf9e0fa5e25990025a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jul 7 15:52:27 2010 +0000

    add some triple for minix, patch by Kees van Reeuwijk from PR7582

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107785 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb662e00cb97aed38161d8af8dcd55bff2094239
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 15:28:42 2010 +0000

    Move ArgFlagsTy, OutputArg, and InputArg out of SelectionDAGNodes.h and
    into a new header, TargetCallingConv.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107782 91177308-0d34-0410-b5e6-96231b3b80d8

commit a35c4d2a154c53eb5a2d33770eb27aca3ef27a87
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 15:15:27 2010 +0000

    Move CallingConvLower.cpp out of the SelectionDAG directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107781 91177308-0d34-0410-b5e6-96231b3b80d8

commit e55b24609de3ff8889bab8b7065a860ccd789505
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 7 14:41:22 2010 +0000

    Fix more places assuming subregisters have live intervals

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107780 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc5f02329fe538994647ae09f0dbcbae1dc821c0
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 7 14:37:04 2010 +0000

    adapt condition for changed default build mode

    who knows how to cover Asserts or Debug separately
    please do not hesitate to extend this

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107779 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4452da781f96f8ff6026c24982f614b0dc12c73
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 14:33:51 2010 +0000

    Add a getFirstNonPHI utility function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ecf75e31c29212b613dc55f32bbe700ab1b3309
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 14:30:04 2010 +0000

    Minore code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107777 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc88982ee6eb43e70ad3f7bce9a6f00df0cc0937
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 14:27:09 2010 +0000

    Remove interprocedural-basic-aa and associated code. The AliasAnalysis
    interface needs implementations to be consistent, so any code which
    wants to support different semantics must use a different interface.
    It's not currently worthwhile to add a new interface for this new
    concept.

    Document that AliasAnalysis doesn't support cross-function queries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107776 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5cc5ea0d684c3acf323b026f7d41777b8d3048
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jul 7 14:12:28 2010 +0000

    Add Debug+Asserts and Release+Asserts to svn:ignore properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f0f4f704e194e541aaf302186a2c41ae43289b3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 7 13:58:46 2010 +0000

    typo in comment, regeneration not necessary

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107774 91177308-0d34-0410-b5e6-96231b3b80d8

commit f98d53cb86f6197f59bd61b3dc87f1e16e148014
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 7 10:34:03 2010 +0000

    conditionalize by CallInst::ArgOffset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107767 91177308-0d34-0410-b5e6-96231b3b80d8

commit f07345f50df1edced0a6755ad419da609bffde45
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 7 09:43:45 2010 +0000

    conditionalize on CallInst::ArgOffset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107766 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2e332a360c9eb7960fa9e4167d37b40dcbbe461
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jul 7 09:29:07 2010 +0000

    minor cosmetic changes that happened to sit in my tree

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a506fc3877d2d37eb79a62e9de2146e5f716a67
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jul 7 07:48:00 2010 +0000

    Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"
    builds to "Release".  The default build is unchanged (optimization on,
    assertions on), however it is now called Release+Asserts.  The intent
    is that future LLVM releases released via llvm.org will be Release builds
    in the new sense, i.e. will have assertions disabled (currently they have
    assertions enabled, for a more than 20% slowdown).  This will bring them
    in line with MacOS releases, which ship with assertions disabled.  It also
    means that "Release" now means the same things in make and cmake builds:
    cmake already disables assertions for "Release" builds AFAICS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41e36dc71046adf386d444a20a3fba6f1d56ec5b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 03:39:29 2010 +0000

    Add AVX SSE4.2 instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 216d7eca5de2c86a1b055ecb618541202d5c4aa6
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 01:43:01 2010 +0000

    Use only one multiclass to pinsrq instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107750 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3499f778b0add0eec4b3299eede67f789ac32a8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 01:33:38 2010 +0000

    Now that almost all SSE4.1 AVX instructions are added, move code around to more appropriate sections. No functionality changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aedb9d0d42688114949ac58c9847036a439a120
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 01:14:56 2010 +0000

    Add AVX SSE4.1 insertps, ptest and movntdqa instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26a41f6cbc9ddaded68b79c4c466f9ecb624e1cc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 01:01:13 2010 +0000

    Add AVX SSE4.1 extractps and pinsr instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ab3ede06b93f4a0d1043663f0e9c9dd9ee60ff1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jul 7 00:32:25 2010 +0000

    Revert "Remove references to INSERT_SUBREG after de-SSA" r107725.

    Buildbot breakage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10ca99394ad0dd048a3855bc7872b6a1045a9cbe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jul 7 00:08:54 2010 +0000

    Also use REG_SEQUENCE for VTBX instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44648041683fb46d2cc0561c79d82d43434c46d5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jul 7 00:07:57 2010 +0000

    Mark eh.sjlj.set/longjmp custom lowerings as Darwin-only since that's where
    they've been tested to work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107742 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7880fb4cacdd75d70f901e7eb713a4a5adb36a0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jul 7 00:07:24 2010 +0000

    Add AVX SSE4.1 Extract Integer instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 292782e8905f29c84da6b6fc3b787a895ab28b4b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jul 6 23:44:52 2010 +0000

    By default, the eh.sjlj.setjmp/longjmp intrinsics should just do nothing rather
    than assuming a target will custom lower them. Targets which do so should
    exlicitly mark them as having custom lowerings. PR7454.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107734 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1f3f08246ae18079603ecf7a2561ceaf2341784
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 23:40:35 2010 +0000

    Remove references to INSERT_SUBREG after de-SSA

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107732 91177308-0d34-0410-b5e6-96231b3b80d8

commit a791354c250e2b282521b58f7dcbed283905eee8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jul 6 23:36:25 2010 +0000

    Use REG_SEQUENCE nodes to make the table registers for VTBL instructions be
    allocated to consecutive registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54b72b6e696c1e81a9b4560ca95f469057c59903
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 6 23:27:00 2010 +0000

    Accept RIP-relative symbols with 'i' constraint, and
    print the (%rip) only if the 'a' modifier is present.
    PR 7528.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45b71d61a0ebe197bb4652f2a3be54d174e3af40
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 23:26:25 2010 +0000

    Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.

    INSERT_SUBREG will now only appear in SSA machine instructions.

    Fix the handling of partial redefs in ProcessImplicitDefs. This is now relevant
    since partial redef COPY instructions appear.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2009c77a56b542852ffe205cafe245a27f0b97dc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 23:26:23 2010 +0000

    Track defs for all aliases in NEONMoveFix.

    This means that an instruction defining an S register will affect the domain of
    the parent D register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0763fba24899517848db159ad1bbe240ee73d9d4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 6 23:15:17 2010 +0000

    Add the rest of AVX SSE4.1 packed move with sign/zero extend instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96172b262dd45331754d9e26473a764b9f7174b4
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jul 6 23:06:58 2010 +0000

    Make test not hang waiting for input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107721 91177308-0d34-0410-b5e6-96231b3b80d8

commit a18a08a42822b77716ca8424ce6ba6748ec22d14
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 6 23:01:41 2010 +0000

    Add part of AVX SSE4.1 packed move with sign/zero extend instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81c13b6487c768984b8e5fb5b2ab1925b7acdc2d
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 6 22:38:32 2010 +0000

    Fix comment from previous patch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 310897ba5239e106a5f2eec0e3b539457684fa58
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jul 6 22:36:24 2010 +0000

    Add AVX vblendvpd, vblendvps and vpblendvb instructions
    Update VEX encoding to support those new instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107715 91177308-0d34-0410-b5e6-96231b3b80d8

commit d412eba82dc90ef3f3d812dacf620b66703b9f7a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 22:19:37 2010 +0000

    CanLowerReturn doesn't need a SelectionDAG; it just needs an LLVMContext.

    SelectBasicBlock doesn't needs its BasicBlock argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 199a706d1c551fc9010c29c78c4c7ba8a7d9f9ae
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 6 22:08:15 2010 +0000

    Propagate debug loc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107710 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7033af71deed3e06f3f79ed29f86af972f8022d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jul 6 21:26:18 2010 +0000

    Represent NEON load/store alignments in bytes, not bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63eaf2b735ff415f88edbf0308b1d9bee22edc3b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 21:13:03 2010 +0000

    One more case assuming that subregs have live ranges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1914dfb3ba973a3eecd915852af39fff1902fb22
Author: John McCall <rjmccall@apple.com>
Date:   Tue Jul 6 21:07:14 2010 +0000

    Closing tags start with slashes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30845b59d94382971770b165469bbac9d6027748
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 21:06:39 2010 +0000

    Fix buildbot breakage where a def is missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 655a40d6891648dcb4de9feb5483acd77dc6d026
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 6 21:05:17 2010 +0000

    Add fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c0167321c7339e14fc072c573a817df64f12255
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 6 20:51:35 2010 +0000

    minor typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32e46fb4153d5351680dcd9bcbbeb157e7081723
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jul 6 20:31:51 2010 +0000

    Be more forgiving when calculating alias interference for physreg coalescing.

    It is OK for an alias live range to overlap if there is a copy to or from the
    physical register. CoalescerPair can work out if the copy is coalescable
    independently of the alias.

    This means that we can join with the actual destination interval instead of
    using the getOrigDstReg() hack. It is no longer necessary to merge clobber
    ranges into subregisters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 220d713a45a7893348743224a0adbd8ca8b8b657
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 20:24:04 2010 +0000

    Reapply r107655 with fixes; insert the pseudo instruction into
    the block before calling the expansion hook. And don't
    put EFLAGS in a mbb's live-in list twice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6022abc70e53cc893969fe206d4bf03fbb974196
Author: Matt Fleming <matt@console-pimps.org>
Date:   Tue Jul 6 18:44:02 2010 +0000

    Add X86_64 ELF relocation values and ELF64 relocation classes.

    Patch from Roman Divacky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107688 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b9682335f86f4ca2877509531500c26f5b690a9
Author: Matt Fleming <matt@console-pimps.org>
Date:   Tue Jul 6 18:36:57 2010 +0000

    Add some more ELF OSABI values as found in the System V Application
    Binary Interface specification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cd4929b2c2d7a6dc7b8a43c42209a8a164658d7
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 6 18:35:20 2010 +0000

    Fix to 80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9797e190ed0cca8726d3bddbfc74ef199ab09c53
Author: John McCall <rjmccall@apple.com>
Date:   Tue Jul 6 18:34:49 2010 +0000

    Provide IRBuilder conveniences for creating integer constants at common widths,
    and give a more precise return type for some of the type-creation methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48e873de934e9f0c241c6f5bb5b37be555090daf
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Jul 6 18:24:09 2010 +0000

    Alphabetize the list of function parameters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37ec180e047f369e8c4979f9b4073c5c749dec30
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jul 6 18:18:32 2010 +0000

    Fix PR7545 crash.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b2d3228b5c83b60c94b6aa208bcf20f6602ce51
Author: John McCall <rjmccall@apple.com>
Date:   Tue Jul 6 18:07:52 2010 +0000

    Provide an abstraction to save and restore the current insertion point of
    an IRBuilder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93b879cde96438d78eb51bea0652896ff71ff7d3
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jul 6 16:24:34 2010 +0000

    Don't create neon moves in CopyRegToReg. NEONMoveFixPass will do the conversion
    if profitable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107673 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca7a3a8d536fb6551e2a3cc9e0c100981fc15d0f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jul 6 15:59:27 2010 +0000

    tighten up this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107670 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca46ee84349cb83588d6b37da050d5b595384990
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jul 6 15:52:15 2010 +0000

    Bring the list of passes and their descriptions up to date.
    Patch by Kenneth Hoste.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107669 91177308-0d34-0410-b5e6-96231b3b80d8

commit 015d56d7518c65d91e0d1cf61a54546189983738
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:49:48 2010 +0000

    Revert r107655.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aa4bd3a3b7b8c7d0477ffa889bd64cfebc9f868
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jul 6 15:44:11 2010 +0000

    second round of low-level interface squeeze-out:
    making all of CallInst's low-level operand accessors
    private

    If you get compile errors I strongly urge you to
    update your code.

    I tried to write the necessary clues into the
    header where the compiler may point to, but no
    guarantees. It works for my GCC.

    You have several options to update your code:

    - you can use the v2.8 ArgOperand accessors
    - you can go via a temporary CallSite
    - you can upcast to, say, User and call its
      low-level accessors if your code is definitely
      operand-order agnostic.

    If you run into serious problems, please
    comment in below thread (and back out this
    revision only if absolutely necessary):

    <http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89b5c0cff34008dd9c429a0a393ce009998b5a62
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:39:54 2010 +0000

    Add versions of OutputArgReg, AnalyzeReturn, and AnalyzeCallOperands
    which do not depend on SelectionDAG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107666 91177308-0d34-0410-b5e6-96231b3b80d8

commit d169f03a087c29caddf0f896b2b1d0cbf2094354
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:35:06 2010 +0000

    Add a new CCValAssign LocInfo value, and a comment explaining what it
    should be used for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107661 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae2d3e4081f8131ebcac56a2b682fdb70fbc353e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:31:55 2010 +0000

    Make getMinimalPhysRegClass' comment mention what makes it different
    from getPhysicalRegisterRegClass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107660 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6377532373f579c2139f84a64a5743a29bd9a31
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:26:33 2010 +0000

    Note the relationship between C99 restrict and LLVM noalias, and
    clarify a few other things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1355bf09d4b027c6b81b43214d2d4beaba2b8ba6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Jul 6 15:24:56 2010 +0000

    Fix a major regression on COFF targets introduced by r103267: 'discardable' section means that it is used only during the program load and can be discarded afterwards.
    This way *only* debug sections can be discarded, but not the opposite. Seems like the copy-and-pasto from ELF code, since there it contains the reverse flag ('alloc').

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107658 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ed5a76f900eab7e35e7dce03c72ea99b31239c9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:23:00 2010 +0000

    Add some more TODO comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107657 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8999bdb29e9bbcdb7ecd36c0916233915690b18
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:21:57 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 612adc55c779a503dc91ef18d7db61e71e98c502
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jul 6 15:18:19 2010 +0000

    Fix a bunch of custom-inserter functions to handle the case where
    the pseudo instruction is not at the end of the block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54de32b3a620617f59ed836e691532bec4cb525f
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 6 05:20:13 2010 +0000

    Remove mistakenly added test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24210d85b88df69ba08e6f5be5940be9d7da181f
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jul 6 05:18:56 2010 +0000

    Fix up -fstack-protector on linux to use the segment
    registers.  Split out testcases per architecture and os
    now.

    Patch from Nelson Elhage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00350122867622b8ed04d944c14b1448e0e73e0b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Jul 6 03:53:43 2010 +0000

    Detabify this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107637 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc708b224c9432b4365c64e69c9c54b2453ba3b9
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Jul 6 03:53:22 2010 +0000

    Add default value to setIsNoInline for parity with the other methods of its
    kind.

    Also fold some functions that fit on a line to a single line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01d77516271a512cc7ad132003565336bd5b7130
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Jul 6 03:52:37 2010 +0000

    Fix typo 'getter' where 'setter' was intended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107635 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6b46d25a5a5dd73556b901ba12bd3c78690bad3
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jul 5 19:26:33 2010 +0000

    Have the X86 backend use Triple instead of a string and some enums.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 569c346b4471c5897cb999d792b26446bd8ebb8d
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Jul 5 18:40:09 2010 +0000

    Remove some unused/redundant code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4205b046e58b5d28a547c68b55266abdf257d4da
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 05:53:14 2010 +0000

    more tidying.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107615 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6e090899dbae7f6a6c81cf4c7783296f95b8f72
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 05:52:56 2010 +0000

    another v2f32 case, in this case showing poor codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27665f880998e053da7ab62970f25b3c16742566
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 05:48:41 2010 +0000

    some notes about suboptimal insertps's

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47762355815e7c820eb2d3454877daf69cedfad0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 05:36:21 2010 +0000

    random tidying

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6922cb3d6ff1d5d414f58a71623839faa96fde6f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 04:38:33 2010 +0000

    rip out even more sporadic v2f32 support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107610 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca969d30e03baccf694e4f83a0def85de4e9dbef
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 04:36:27 2010 +0000

    rip out the various v2f32 "mmx" handling logic, now that
    v2f32 is illegal on x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1829a36d0613b6d9f264ad51af6591452a5bed8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jul 5 03:56:55 2010 +0000

    fix test on non-x86 hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107608 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2557d8f4183a60ec9121eaf657216910f2ca8709
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Jul 4 23:24:23 2010 +0000

    Print symbolic subreg indices on REG_SEQUENCE and INSERT_SUBREG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107602 91177308-0d34-0410-b5e6-96231b3b80d8

commit a38ba9f936afaf0d6b5b253e1e2aa759dfc2919c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 4 23:07:25 2010 +0000

    Just rip v2f32 support completely out of the X86 backend.  In
    the example in the testcase, we now generate:

    _test1:                                 ## @test1
    	movss	4(%esp), %xmm0
    	addss	8(%esp), %xmm0
    	movl	12(%esp), %eax
    	movss	%xmm0, (%eax)
    	ret

    instead of:

    _test1:                                                     ## @test1
    	subl	$20, %esp
    	movl	24(%esp), %eax
    	movq	%mm0, (%esp)
    	movq	%mm0, 8(%esp)
    	movss	(%esp), %xmm0
    	addss	12(%esp), %xmm0
    	movss	%xmm0, (%eax)
    	addl	$20, %esp
    	ret

    v2f32 support did not work reliably because most of the X86
    backend didn't know it was legal.  It was apparently only added
    to support returning source-level v2f32 values in MMX registers
    in x86-32 mode.  If ABI compatibility is important on this
    GCC-extended-vector type for some reason, then the frontend
    should generate IR that returns v2i32 instead of v2f32.  However,
    we generally don't try very hard to be abi compatible on gcc
    extended vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0360fdf9b1829810f5477696f5663432751391af
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 4 22:57:10 2010 +0000

    fix PR7518 - terrible codegen of <2 x float>, by only marking
    v2f32 as legal in 32-bit mode.  It is just as terrible there,
    but I just care about x86-64 and noone claims it is valuable
    in 64-bit mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107600 91177308-0d34-0410-b5e6-96231b3b80d8

commit b905a692e7e9f736d764e1aebe506322b4da1871
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 4 22:56:10 2010 +0000

    indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107599 91177308-0d34-0410-b5e6-96231b3b80d8

commit 854918d5b282926cabe605d9b695042add7640ae
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Jul 4 18:52:05 2010 +0000

    Infer alignments of fixed frame objects when they are constructed. This ensures remat'ed loads from fixed slots have the right alignments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 828db679e25e9e15746c9067fa8d19445502700a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jul 4 17:36:43 2010 +0000

    indmemrem and lowerallocs are gone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107587 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd95c59f3c1436df95f339e6e618a5e3c871355e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Jul 4 09:16:57 2010 +0000

    Revert r107583. I no longer think that this is the way to solve the problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107585 91177308-0d34-0410-b5e6-96231b3b80d8

commit c349244d166e23c9aed03e1eddfeb2562e7338fa
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Jul 4 08:59:55 2010 +0000

    Mark sse_load_f32 and sse_load_f64 as having memory operands
    (SDNPMemOperand). This way when they're morphed the memory operands will be
    copied as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107583 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7157c873f1e9cac08eff22f0cac5055c675a50c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Jul 4 08:59:25 2010 +0000

    back out r107580, I have seen what I wanted

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107582 91177308-0d34-0410-b5e6-96231b3b80d8

commit d48b237ebaf77b752bc5589a8116e96659f27402
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Jul 4 08:58:43 2010 +0000

    Proper indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 578a2985209a4fc03da0fa1c56b90ecaf2828149
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Jul 4 07:42:31 2010 +0000

    [another test commit, just to tickle the selfhost buildbots; I'll back out in a few minutes]

    second round of low-level interface squeeze-out:
    making all of CallInst's low-level operand accessors
    private

    If you get compile errors I strongly urge you to
    update your code.

    I tried to write the necessary clues into the
    header where the compiler may point to, but no
    guarantees. It works for my GCC.

    You have several options to update your code:

    - you can use the v2.8 ArgOperand accessors
    - you can go via a temporary CallSite
    - you can upcast to, say, User and call its
      low-level accessors if your code is definitely
      operand-order agnostic.

    If you run into serious problems, please
    comment in below thread (and back out this
    revision only if absolutely necessary):

    <http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107580 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed884bca791e0108d1c2f0e76af30953035e184c
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 3 08:43:32 2010 +0000

    Minor amendment to switch-lowering improvement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107569 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3af44f666215e638e01b53d8da401e0a4922b7e
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jul 3 07:38:12 2010 +0000

    Note switch-lowering inefficiency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bad9ad54951d7c2d62bb3599e8a13a0269a246e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jul 3 01:37:03 2010 +0000

    Add AVX SSE4.1 blend, mpsadbw and vdp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 285e7f0cf4f05a4c2fe441519722b35d9380240c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jul 3 01:15:47 2010 +0000

    Add AVX SSE4.1 binop (some forms of packed max,min,mul,pack,cmp) instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ce3c76fd45ed19ed8796e9f41833efd3a861124
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jul 3 01:09:18 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01e2c18ab63ef4b51138a9cc349e807c4ab51b83
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jul 3 00:49:21 2010 +0000

    Add AVX SSE4.1 Horizontal Minimum and Position instruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107552 91177308-0d34-0410-b5e6-96231b3b80d8

commit aca758c082e7b4d778f6e97f73de306153484f98
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jul 3 00:40:23 2010 +0000

    Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107550 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d657ab35d8e078a0b199a88e7f50e09aea2835a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jul 3 00:37:44 2010 +0000

    Add AVX SSE4.1 round instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0978d1d0ab6241dfe0ecba14f92361faa5e63801
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jul 3 00:04:37 2010 +0000

    Detect and handle COPY in many places.

    This code is transitional, it will soon be possible to eliminate
    isExtractSubreg, isInsertSubreg, and isMoveInstr in most places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 911ae8536ec55d93ff8ba4d3a3db3614951d24f7
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 23:52:36 2010 +0000

    Document that BasicAA respects noalias, while InterproceduralBasicAA
    does not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f095deda552225a9fc10ed2ac17423fc4082189
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 23:46:54 2010 +0000

    Describe which dependencies are relevant to noalias, and document how
    AliasAnalyses have the choice to respect noalias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107544 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd14281454addf6f6b616a13fc6d74e2378ba5d4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 2 23:27:59 2010 +0000

    Simple refactoring of SSE4.1 instructions, making room for the AVX forms

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e87fb6808f9c808f2ca78550b29ae16a81269f3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 23:18:08 2010 +0000

    Add some html anchors, to allow attributes to be linked to directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3354d2cbcbf2efe268e1ee4900c9a6892c6eedb3
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jul 2 23:17:38 2010 +0000

    80-col fixup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107537 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad28bc223c3ce6dee7f3e23782222cbff0647460
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 22:29:50 2010 +0000

    Add a new target independent COPY instruction and code to lower it.

    The COPY instruction is intended to replace the target specific copy
    instructions for virtual registers as well as the EXTRACT_SUBREG and
    INSERT_SUBREG instructions in MachineFunctions. It won't we used in a selection
    DAG.

    COPY is lowered to native register copies by LowerSubregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36c43ca59483447fc2641fb102e1093457b25ec7
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jul 2 22:06:54 2010 +0000

    - Add support for the rest of AVX SSE3 instructions
    - Fix VEX prefix to be emitted with 3 bytes whenever VEX_5M
    represents a REX equivalent two byte leading opcode

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107523 91177308-0d34-0410-b5e6-96231b3b80d8

commit 222611571d91f5cebd212a9982096b18c95bb0b8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 21:44:22 2010 +0000

    Clean up TargetOpcodes.h a bit, and limit the number of places where the full
    list of predefined instructions appear. Add some consistency checks.

    Ideally, TargetOpcodes.h should be produced by TableGen from Target.td, but it
    is hardly worth the effort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e625f49d140e234c432e1f277b25b777a0f40ee
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 2 21:23:37 2010 +0000

    Custom inserters (e.g., conditional moves in Thumb1 can introduce
    new basic blocks, and if used as a function argument, that can cause call frame
    setup / destroy pairs to be split across a basic block boundary. That prevents
    us from doing a simple assertion to check that the pairs match and alloc/
    dealloc the same amount of space. Modify the assertion to only check the
    amount allocated when there are matching pairs in the same basic block.

    rdar://8022442

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c593555b9541b9f82ed3b827313eeb8d3a2d49e
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jul 2 21:13:23 2010 +0000

    MDString is already checked earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 891cd036ddf45f10be9726e2883c48246eb8097c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jul 2 21:07:09 2010 +0000

    Remove early IT block formation. It's not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107513 91177308-0d34-0410-b5e6-96231b3b80d8

commit db550f17205603939a89cd7cf41e852715f0acff
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jul 2 20:36:18 2010 +0000

    - Two-address pass should not assume unfolding is always successful.
    - X86 unfolding should check if the instructions being unfolded has memoperands.
      If there is no memoperands, then it must assume conservative alignment. If this
      would introduce an expensive sse unaligned load / store, then unfoldMemoryOperand
      etc. should not unfold the instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b3158cc53afb744b365f0e46b06b253fa9f5c54
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 20:20:50 2010 +0000

    Remove an unused enum.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f0ad7571f02e015ff1e448b8077b9f2baf0662e
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jul 2 20:16:09 2010 +0000

    Propagate the AlignStack bit in InlineAsm's to the
    PrologEpilog code, and use it to determine whether
    the asm forces stack alignment or not.  gcc consistently
    does not do this for GCC-style asms; Apple gcc inconsistently
    sometimes does it for asm blocks.  There is no
    convenient place to put a bit in either the SDNode or
    the MachineInstr form, so I've added an extra operand
    to each; unlovely, but it does allow for expansion for
    more bits, should we need it.  PR 5125.  Some
    existing testcases are affected.
    The operand lists of the SDNode and MachineInstr forms
    are indexed with awesome mnemonics, like "2"; I may
    fix this someday, but not now.  I'm not making it any
    worse.  If anyone is inspired I think you can find all
    the right places from this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107506 91177308-0d34-0410-b5e6-96231b3b80d8

commit c076a602a0c2a8cb261480ae704823e19cda7b4d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 19:54:47 2010 +0000

    Remove invalid assert

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5008bd46300e4f9813bd6095796c223e95c46bc7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 19:54:45 2010 +0000

    Handle unindexed instructions in SlotIndices.

    SlotIndexes::insertMachineInstrInMaps would crash when trying to insert an
    instruction imediately after an unmapped debug value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107504 91177308-0d34-0410-b5e6-96231b3b80d8

commit 553e08526a1c09a1de8eafbc139ad12385e65d1f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 19:54:40 2010 +0000

    Properly handle debug values during inline spilling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c94ab6ca536bf0ca23be2f9a9ab6a235b995a38
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 2 19:26:28 2010 +0000

    beautify output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fca04665e7988098efad92f897f9b92d17da487
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 2 19:08:46 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55476dd8e6ad0a2012213586462fafb4d50105d0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 18:43:05 2010 +0000

    Don't claim to preserve AliasAnalysis. First, this is doesn't actually
    have any effect, and second, deleting stores can potentially invalidate
    an AliasAnalysis, and there's currently no notification for this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fa6cbb15a7878b5c70d7ab15913b8501b63bbe1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 18:41:32 2010 +0000

    Reword the definition of the noalias attribute. The intention is for
    the noalias argument on function attributes be usable to model the
    C99 restrict keyword on arguments, and to allow AliasAnalysis to
    consider a noalias-attributed argument to be an "identified object".

    To support this, refactor a new "based on" concept out of the current
    pointer aliasing "associated" concept. This "based on" concept is very
    similar to (though it is not identical with) the "based on" concept
    in C99.

    Also, reword the definition of NoAlias to more closely describe the
    concept that the optimizer uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85a98abe15861f1510314ea7d56e1f2b2307081e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jul 2 17:44:57 2010 +0000

    Rematerialize as much as possible before inserting spills and reloads.

    This allows us to recognize the common case where all uses could be
    rematerialized, and no stack slot allocation is necessary.

    If some values could be fully rematerialized, remove them from the live range
    before allocating a stack slot for the rest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef567c118830b593ff5962608d2d5707f569dab
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 2 17:41:59 2010 +0000

    80-column and trailing whitespace cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5956487d41a6d778c03f0a383e7f2d91253a73e8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jul 2 17:38:34 2010 +0000

    grammar tweaks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107489 91177308-0d34-0410-b5e6-96231b3b80d8

commit f62e6e6234ce8ad5671f28a71bd295e07f3f8e63
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jul 2 17:23:44 2010 +0000

    Fix incorrect asm-printing of some NEON immediates.  Fix weak testcase so
    that it checks the immediate values, not just the instructions opcodes.
    Radar 8110263.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ef9e9e69bbac9c0ab2718b4dce4c5f4ec704bf8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 2 13:37:16 2010 +0000

    use ArgOperand API (found by my previous commit)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107482 91177308-0d34-0410-b5e6-96231b3b80d8

commit 661c461428bb3111461fb0d4aaade8d2bedea360
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 2 13:27:50 2010 +0000

    back out r107480, it was just testing the waters anyway...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5720314ac20f6e308952b267e068b4ebe4a3cada
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jul 2 13:21:55 2010 +0000

    [test commit, just to tickle the selfhost buildbots; I'll back out in a few minutes]

    second round of low-level interface squeeze-out:
    making all of CallInst's low-level operand accessors
    private

    If you get compile errors I strongly urge you to
    update your code.

    I tried to write the necessary clues into the
    header where the compiler may point to, but no
    guarantees. It works for my GCC.

    You have several options to update your code:

    - you can use the v2.8 ArgOperand accessors
    - you can go via a temporary CallSite
    - you can upcast to, say, User and call its
      low-level accessors if your code is definitely
      operand-order agnostic.

    If you run into serious problems, please
    comment in below thread (and back out this
    revision only if absolutely necessary):

    <http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20f45e8fe3f1fe647b34c5105981df1556efa64e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 01:20:16 2010 +0000

    Comment a non-obvious member variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06ec84a132d85d9c0397c99ef769759963bcfbf6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 00:35:34 2010 +0000

    IndirectBr is not safe to speculatively execute (!)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b3357baf845cdf87321cdac9aa4e048e61ce15b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jul 2 00:10:16 2010 +0000

    Rename CreateReg to CreateRegs, and MakeReg to CreateReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107451 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe2c4cb9725c48c0d864083c051f5007c43bf0cc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 23:10:49 2010 +0000

    Shrink down SSE3 code by more multiclass refactoring

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107448 91177308-0d34-0410-b5e6-96231b3b80d8

commit e15cc977c452aa527cbd88238773f4d03eb8087f
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jul 1 22:57:11 2010 +0000

    Prevent test from hanging waiting for input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107446 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7aa9c93178f35e834b3fb75c16677d0ce65f736
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 1 22:38:24 2010 +0000

    Make the "linker_private" linkage type emit a non-weak symbol to the file. It
    will still be stripped by the linker when it generates the final image.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107440 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb0022d3b19cef1750e259060e5f9665f0e92867
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 22:33:18 2010 +0000

    Shrink down SSE3 code by some multiclass refactoring - 1st part

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a5caf17fba5e5a95f6be811ddf55a21964243d2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jul 1 22:26:26 2010 +0000

    ARM function alignments were off by a power of two.  svn 83242 changed
    getFunctionAlignment and the corresponding use of that value in the ARM
    asm printer, but now we're using the standard asm printer.  The result of
    this was that function alignments were dropped completely for Thumb functions.
    Radar 8143571.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70d8fcc0e3aa3e0664de362b22198fd61b2fe11a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jul 1 21:55:59 2010 +0000

    Implement the "linker_private_weak" linkage type. This will be used for
    Objective-C metadata types which should be marked as "weak", but which the
    linker will remove upon final linkage. However, this linkage isn't specific to
    Objective-C.

    For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

          .globl l_objc_msgSend_fixup_alloc
          .weak_definition l_objc_msgSend_fixup_alloc
          .section __DATA, __objc_msgrefs, coalesced
          .align 3
    l_objc_msgSend_fixup_alloc:
           .quad   _objc_msgSend_fixup
           .quad   L_OBJC_METH_VAR_NAME_1

    This is different from the "linker_private" linkage type, because it can't have
    the metadata defined with ".weak_definition".

    Currently only supported on Darwin platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c9ff2ee21f400392799cbe4ae87130b1954b710
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 1 21:46:41 2010 +0000

    evil hack to coerce external users (projects)
    to update their code to high-level interfaces

    If you get compile errors in your project
    please update your code according to the
    comments.

    This is a re-commit of r107396 which causes
    compile errors for the indicated usage patterns
    instead of link errors (which are less easy to
    fix because of missing source location).

    If you get compile errors please perform
    following functionally equivalent transformations:
      - getOperand(0)  --->  getCalledValue()
      - setOperand(0, V)  --->  setCalledFunction(V)

    This will make your code more future-proof
    and avoid potentially hard-to-debug bugs.

    please refer to this thread on llvm-dev:

    <http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 517b22fc43cd7975c6a2babe970d38fbe44beaa0
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 1 21:38:08 2010 +0000

    Do not require line number entry for undefined local variable.
    This is a regression caused by r106792 and caught by gdb testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 538299892010107def71d3ec03d2c442f79723d9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 1 20:48:51 2010 +0000

    MC: Fix some stray hunks I didn't intend to commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d87675b0e980505d794f873a5e29fd050861bb6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 1 20:41:56 2010 +0000

    MC: Pass the target instance to the AsmParser constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 257f52417f47d55d4fc2831dd53d6d3a0106d8b7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 1 20:20:05 2010 +0000

    Remove stray comma.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107425 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7fd1b9064b24e1ef916f423b78c9d11f267297d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 1 20:20:01 2010 +0000

    MC: Fix an error message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107424 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33b1abb7f959672997c2754f19b5211cf73129dc
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 20:08:40 2010 +0000

    Remove context sensitivity concerns from interprocedural-basic-aa, and
    make it more aggressive in cases where both pointers are known to live
    in the same function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107420 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8851cf6fadff99338b3be53391aa034c3710b5b2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jul 1 20:07:24 2010 +0000

    MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by Michael
    Spencer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 290c535084f898c05d8a3af0898a7daea8bf6a01
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 1 19:58:05 2010 +0000

    Preserve debug info for only extracted symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107417 91177308-0d34-0410-b5e6-96231b3b80d8

commit a948092e6c977dc4e7fdc3b1c893bb34fa6024b4
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 1 19:49:20 2010 +0000

    Debugging infomration is encoded in llvm IR using metadata. This is designed
    such a way that debug info for symbols preserved even if symbols are
    optimized away by the optimizer.

    Add new special pass to remove debug info for such symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107416 91177308-0d34-0410-b5e6-96231b3b80d8

commit b58f955918f76661190fe01fb07267824c244a92
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jul 1 18:27:46 2010 +0000

    If a named mdnode is removed then mark module as changed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26a790cc838094b72003071babbbf74b1339c7cc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 17:35:02 2010 +0000

    Move SSE3 Move patterns to a more appropriate section
    Add AVX SSE3 packed horizontal and & sub instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107405 91177308-0d34-0410-b5e6-96231b3b80d8

commit d007dfe4ab20e8a44a84efbd2c034888522ee8d8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 17:08:18 2010 +0000

    Add AVX SSE3 packed addsub instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107404 91177308-0d34-0410-b5e6-96231b3b80d8

commit e85d6754eaedfc493b1e6890040212c6371fc5c8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 1 15:42:00 2010 +0000

    back out r107396 for now, it needs another minor change to function as advertised

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c8534c518464e6946acf909b9a80e20c6f874a9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 1 15:16:35 2010 +0000

    evil hack to coerce external users (projects)
    to update their code to high-level interfaces

    If you get compile errors in your project
    please update your code according to the
    comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814e2cfe9b61ed10e5dc14644d00f322867383b1
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 12:15:30 2010 +0000

    Temporarily disable on-demand fast-isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107393 91177308-0d34-0410-b5e6-96231b3b80d8

commit 553509286867c5d25e605bc86fff47b0c53e4fa0
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 1 11:26:05 2010 +0000

    reformulate CallSiteBase::getCallee to adapt to CallInst::ArgOffset, and make it work even if CallInst::op_* are private

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107392 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1dc993c9ac8c57aec940dab95444e1c3bb50bb3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jul 1 10:41:37 2010 +0000

    reformulate CallSite::getCallee to adapt to CallInst::ArgOffset, and make it work even if CallInst::op_* are private

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107390 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4d6757ee3bfe3d77e5f9414b4ee40d43509c852
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 03:57:05 2010 +0000

    Use FuncInfo's isExportedInst accessor method instead of
    doing the work manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68a508ab2fc80ad962563a60a090360d7ecd7ea9
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 03:55:39 2010 +0000

    Rename CreateRegForValue to CreateReg, and change its argument
    from a Value to a Type, because it doesn't actually care about
    the Value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107383 91177308-0d34-0410-b5e6-96231b3b80d8

commit c66a288851d3b226744f8c3972d56f06c365d01b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 03:49:59 2010 +0000

    Fast isel no longer needs DeadMachineInstrElim to clean up after it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7498adf0d34b643fdf5d27d747b06d6582110fd4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 03:49:38 2010 +0000

    Teach fast-isel to avoid loading a value from memory when it's already
    available in a register. This is pretty primitive, but it reduces the
    number of instructions in common testcases by 4%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107380 91177308-0d34-0410-b5e6-96231b3b80d8

commit def159ed85fd4593f1d9a8e94aa9a75c7e3dd707
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 02:58:57 2010 +0000

    Enable on-demand fast-isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b60fa88440608720abf62b81e20870fc62f1ab9
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 02:58:21 2010 +0000

    Fix X86FastISel's add folding to actually work, and not fall back
    to SelectionDAG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6613eacb4bf71bfedecd33ab67000017b5e863bc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 02:33:39 2010 +0000

    Add AVX SSE3 replicate and convert instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4738b45d4b9a0d844bbf793b4c4dca88cf46cb1a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 02:27:15 2010 +0000

    Teach X86FastISel to fold constant offsets and scaled indices in
    the same address.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107373 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1c730cf491cd613781c788602b0476fead0213d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 01:59:43 2010 +0000

    Reapply r106422, splitting the code for materializing a value out of
    SelectionDAGBuilder::getValue into a helper function, with fixes to
    use DenseMaps safely.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107371 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc0c09ec053bfc9f1817f56bebe97fdeb1c4774f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jul 1 01:33:21 2010 +0000

    Don't use operator[] here, because it's not desirable to insert a default
    value if the search fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 602e05168b6b9559ed2e6aeaf59a25be087b6ffb
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jul 1 01:20:06 2010 +0000

    - Add AVX SSE2 Move doubleword and quadword instructions.
    - Add encode bits for VEX_W
    - All 128-bit SSE 1 & SSE2 instructions that are described
      in the .td file now have a AVX encoded form already working.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fca7a648c570f350caa18e7191713dc6976009a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Jul 1 01:00:37 2010 +0000

    Test for the -filelist fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107363 91177308-0d34-0410-b5e6-96231b3b80d8

commit d94d174cc0aa6f823589eb77095404afc65f14dd
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Jul 1 01:00:32 2010 +0000

    Make -filelist work with -linker=c++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08c555a1fd38a4e2e27f88d340e3c5daaba689df
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Jul 1 01:00:27 2010 +0000

    80-col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d0b6395f49e53e021f14aea9aa3deb42a91cb4b
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Jul 1 01:00:22 2010 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e2fe49db5bb853a6bac8208a8be67bab6e0ecda
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jul 1 00:13:04 2010 +0000

    Add memory operand folding support to InlineSpiller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3682fbf0ea5c48a40b5e7f227efbf149ca51e0c7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 30 23:03:52 2010 +0000

    Add support for rematerialization to InlineSpiller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 879ad2eada76e315b8b2aa6f04cbf3a35fdd6ab4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 30 22:49:53 2010 +0000

    Use the catch-all selectors we already found when converting them to use the
    correct catch-all value. This saves having to iterate through all of the
    selectors in the program again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 635b935d9df378d9896d330b906319e23e34055b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 30 22:22:59 2010 +0000

    lowerinvoke needs to handle aggregate function args like sjlj eh does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107335 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05c8b1f32de4868baac3ab58495742d377f1d96f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 30 22:22:46 2010 +0000

    build: Update install-clang target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107334 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02b4f098b75db665bfd7c0b28093bf7acc03620d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 30 22:20:38 2010 +0000

    Handle array and vector typed parameters in sjljehprepare like we do
    structs. rdar://8145832

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 106a86fa42e61afa5fd09a687619fca449064694
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 30 21:29:00 2010 +0000

    Remove all debug info related named mdnodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87a5236d2f7d7f8537dde4e62694310efac6b7f0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 30 21:27:56 2010 +0000

    grammar tweak in comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107321 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad7ca6ea1f16fa8f5e01ea8c5ca55f8f9b39e2e2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 20:21:12 2010 +0000

    In ScalarEvolution::forgetValue, eliminate any SCEVUnknown
    entries associated with the value being erased in the
    folding set map.  These entries used to be harmless, because
    a SCEVUnknown doesn't store any information about its Value*,
    so having a new Value allocated at the old Value's address
    wasn't a problem. But now that ScalarEvolution is storing more
    information about values, this is no longer safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16acb36d1507b212bbc535ab32ccc255dd84de3c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 18:49:10 2010 +0000

    Move MOVD/MODQ code around, creating sections for each of them

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107308 91177308-0d34-0410-b5e6-96231b3b80d8

commit b293e833092d02425d0c3356fc850b9ed7f7ca24
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 30 18:41:20 2010 +0000

    Some fool committed without testing (or even building) first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23e35c6105a846d4719b8edaf6f0a295f56ccd4a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 18:38:10 2010 +0000

    Add AVX SSE2 mask creation and conditional store instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30ad188bb60c24a5cd9512449d40b8573b8876e0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 30 18:19:08 2010 +0000

    Remember to track spill slot uses in VirtRegMap when inserting loads and stores.
    LocalRewriter::runOnMachineFunction uses this information to mark dead spill
    slots.

    This means that InlineSpiller now also works for functions that spill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68c25b5d4e1416d24cf13a783ca4ba9a316d2eca
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 18:06:01 2010 +0000

    Fix a bug introduced in r107211 where instructions with memory operands are declared as commutable

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b1b8b554f02ba961496019cec09c88f9a38eba0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 17:27:11 2010 +0000

    Revert the part of r107257 which introduced new logic for using
    nsw and nuw flags from IR Instructions. On further consideration,
    this isn't valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107298 91177308-0d34-0410-b5e6-96231b3b80d8

commit d59db4e1128e0e6edb69dcd35a1147bc1ee035a6
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 30 17:24:28 2010 +0000

    Rename NextPowerOfTwo to RoundUpToPowerOfTwo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 817e9410c1615f1446c4321ad6513814d3d8bf67
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 30 17:22:28 2010 +0000

    Remove an unused variable.  The call to getRoot has side-effects, so
    this could break something (but doesn't seem to).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107295 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0a8c145ee8c891a2b75f8d2710b4c4471ca3dae
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 17:03:03 2010 +0000

    Add AVX SSE2 packed integer extract/insert instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02ff0007739f09dcdf7162e016763c116ddc4cbb
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 30 15:29:46 2010 +0000

    Clarify that the NextPowerOfTwo template is idempotent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107286 91177308-0d34-0410-b5e6-96231b3b80d8

commit db286cc075d33e9b95579cb87eb4e6f0aa6277dc
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 30 15:02:37 2010 +0000

    Rather than giving SmallPtrSetImpl a member field SmallArray which is magically
    replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a
    pointer to the start of the storage, and have SmallPtrSet pass in the value to use.
    This has the disadvantage that SmallPtrSet becomes bigger by one pointer.  It has
    the advantage that it no longer uses tricky C++ rules, and is clearly correct while
    I'm not sure the previous version was.  This was inspired by g++-4.6 pointing out
    that SmallPtrSetImpl was writing off the end of SmallArray, which it was.  Since
    SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to
    valid memory.  But it was writing off the end of the declared array type - sounds
    kind of dubious to me, like it sounded dubious to g++-4.6.  Maybe g++-4.6 is wrong
    and this construct is perfectly valid and correctly compiled by all compilers, but
    I think it is better to avoid the whole can of worms by avoiding this construct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107285 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6c94b790a1cb1a08a5760d9f7d159a9f5574b57
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 13:45:50 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107282 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb432dacdc858060e194076adca5374b7fcef5c4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 13:03:37 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69f85438d79cf323d2f519fab5fd60602b783226
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 12:55:46 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28f7ff25f597bbf1d02cf158dda195d443e75f67
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 12:42:43 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107278 91177308-0d34-0410-b5e6-96231b3b80d8

commit fddb35e1c17a8d2c46d9e6b72cc7d69ef970ca46
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 12:40:35 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68317d9221fb4e17420e143436236e5f772f7243
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 12:39:23 2010 +0000

    use CallSite::arg_end instead of CallInst::op_end

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107276 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf7087d6368cedb20558481b80c51ec924e7e800
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 12:38:26 2010 +0000

    use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f9554a9b7a33be7ccdfba302b65ee4b16ceab34
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 09:19:23 2010 +0000

    use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107273 91177308-0d34-0410-b5e6-96231b3b80d8

commit c54a1aaa759ac204374287db4c658d8f62af6940
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 09:17:53 2010 +0000

    use getNumArgOperands instead of getNumOperands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107272 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbfac2fe485b5518a09f9a779f83dbce8d9ca0bc
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 09:16:16 2010 +0000

    use getArgOperand instead of getOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77f7a0f0b051e9b84ab6ff2aee2dda5123db0cc6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 09:15:28 2010 +0000

    use getArgOperand instead of getOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70369cead126c310451a238e79e5482d7306771d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 30 09:14:26 2010 +0000

    use getArgOperand instead of getOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107269 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff589ac6c4436850240e9652ead8a0eba44fc71a
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 07:17:47 2010 +0000

    Add a testcase for scev-aa's new capability.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107258 91177308-0d34-0410-b5e6-96231b3b80d8

commit db91404411da1eebae29bdb6676880541d88a7a5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 07:16:37 2010 +0000

    Improve ScalarEvolution's nsw and nuw preservation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f5e811ffcd926b6425c67b67d76975c582ff739
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 06:58:35 2010 +0000

    When computing a new ConservativeResult, intersect it with
    the old one instead of replacing it, to be more precise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cb08c6b8506c53e0f91389c3ba99b9119be8183
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 06:12:16 2010 +0000

    Rework scev-aa's basic computation so that it doesn't depend
    on ScalarEvolution successfully folding and preserving
    range information for both A-B and B-A. Now, if it gets
    either one, it's sufficient.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107249 91177308-0d34-0410-b5e6-96231b3b80d8

commit a01a5cb0b3f2beffe9ce8429375bc6747da44b3e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 30 06:09:46 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107248 91177308-0d34-0410-b5e6-96231b3b80d8

commit f240e4809fdecddfca9c4c0d51d1d386b8687a1a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 04:06:39 2010 +0000

    Add AVX SSE2 integer unpack instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107246 91177308-0d34-0410-b5e6-96231b3b80d8

commit e269ece20d34ff0d4d406d2f2b46e6db08700057
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 03:47:56 2010 +0000

    Add AVX SSE2 packed integer shuffle instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3eabe37a575b7ab62f5a51e55961fe7fa5351511
Author: John Mosby <ojomojo@gmail.com>
Date:   Wed Jun 30 03:40:54 2010 +0000

    Remove trailing whitespace, no functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107244 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbca443c17fbe3b8cf5dc0b1a466a30672352bf8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 03:29:36 2010 +0000

    Small refactoring of SSE2 packed integer shuffle instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107243 91177308-0d34-0410-b5e6-96231b3b80d8

commit be762977020b7193e2f7211648b8fc16b7d18aa6
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 02:30:25 2010 +0000

    Add AVX SSE2 pack with saturation integer instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38b7ea31aec510542d4158dfb8d219f7f50a570c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 02:21:09 2010 +0000

    Add AVX SSE2 integer packed compare instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b35775a9662d31025a59ffdfb68d1bded0dfd72
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 30 01:58:37 2010 +0000

    - Add AVX form of all SSE2 logical instructions
    - Add VEX encoding bits to x86 MRM0r-MRM7r

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107238 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffbdac1703565a390d42a018418771c4ca0056ab
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 30 01:40:11 2010 +0000

    Do not construct DIE for already processed MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107237 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3df7c3146b3c9eb9ea064e3aa63c8870f2592b23
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 30 00:30:36 2010 +0000

    Use skipInstruction() as a simpler way of iterating over instructions using SrcReg

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107234 91177308-0d34-0410-b5e6-96231b3b80d8

commit b47ebb3b08c4d9daf8d381b87033f9c5d8983d72
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 30 00:24:51 2010 +0000

    Use clEnumValN macro to work around keyword clash

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97324af76ae10c23e5ce61c112c4071484e46e8c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 30 00:11:08 2010 +0000

    Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d679bc5429b8bddc78724a4fc2f3fd78236d668
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 29 23:58:39 2010 +0000

    Begin implementation of an inline spiller.

    InlineSpiller inserts loads and spills immediately instead of deferring to
    VirtRegMap. This is possible now because SlotIndexes allows instructions to be
    inserted and renumbered.

    This is work in progress, and is mostly a copy of TrivialSpiller so far. It
    works very well for functions that don't require spilling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 236246407bbac5ad659d5eb2c4f28854bb6581d7
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 23:47:49 2010 +0000

    Add *several* AVX integer packed binop instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b340fa3c9936e4185caabdf3fd7a71eac17f6e0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 29 23:43:06 2010 +0000

    Fix ScalarEvolution's tripcount computation for chains of loops
    where each loop's induction variable's start value is the exit
    value of a preceding loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95d531ffbc82733fd7fc34a71505762a3208ca54
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 29 22:34:52 2010 +0000

    Revert r107205 and r107207.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67129046f14970ffe9855b7b923c33e98399d9b4
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 29 22:29:15 2010 +0000

    Print InlinedAt location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107214 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea99da23f58a62176097305dd948d9bdb9182c1e
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 29 22:22:22 2010 +0000

    Add another bswap idiom that isn't matched.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a335a2c261bec893c819caa44391cfa712c6cf6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 29 22:17:37 2010 +0000

    Use -l option to remove symbols from i386.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8245d42c1004b148240f895bbf5d265d60155097
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 22:12:16 2010 +0000

    Move SSE2 Packed Integer instructions around, and create specific sections for each of them

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107211 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce1a4f5a86b81a4b7ac8e046ae9927c3d391bffa
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 29 21:51:32 2010 +0000

    Print InlinedAt location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5897fa1948c9ecb72b333135be978454a02b3411
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 29 21:41:58 2010 +0000

    Improve explanation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 791be14ab4817d41455610177450ca7c4c08433e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 21:25:12 2010 +0000

    Add AVX Move Aligned/Unaligned packed integers

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107206 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99d1ee7669ed99d9d9fbdae83a00c10f16348f0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 29 21:24:00 2010 +0000

    Introducing the "linker_weak" linkage type. This will be used for Objective-C
    metadata types which should be marked as "weak", but which the linker will
    remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
    defined like this:

           .globl l_objc_msgSend_fixup_alloc
           .weak_definition l_objc_msgSend_fixup_alloc
           .section __DATA, __objc_msgrefs, coalesced
           .align 3
    l_objc_msgSend_fixup_alloc:
            .quad   _objc_msgSend_fixup
            .quad   L_OBJC_METH_VAR_NAME_1

    This is different from the "linker_private" linkage type, because it can't have
    the metadata defined with ".weak_definition".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a416e7fc389dc86a4292d7f74add389bdfb180f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 20:35:48 2010 +0000

    Add AVX ld/st XCSR register.
    Add VEX encoding bits for MRMXm x86 form

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bd242edbab95509f7b896c2a37e3f4badb7e33d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 29 20:17:53 2010 +0000

    Do not hardcode DW_AT_stmt_list value.
    Inspired by Artur Pietrek.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 249c34e9cecae73aa113d31360bdc94ae509582f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 20:13:29 2010 +0000

    Add support for encoding VDUP (ARM core register) instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e9dd3c65aa2e3d76922897f30d66f73398bd200
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 20:12:02 2010 +0000

    Fix a buffer overflow noticed by gcc-4.6: zero is written into
    SmallArray[SmallSize] in the SmallPtrSetIteratorImpl, and this is
    one off the end of the array.  For those who care, right now gcc
    warns about writing off the end because it is confused about the
    declaration of SmallArray as having length 1 in the parent class
    SmallPtrSetIteratorImpl.  However if you tweak code to unconfuse
    it, then it still warns about writing off the end of the array,
    because of this buffer overflow.  In short, even with this fix
    gcc-4.6 will warn about writing off the end of the array, but now
    that is only because it is confused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107200 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff44abf0abbd00326e8f87412f69598a337a6a04
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 20:05:34 2010 +0000

    NextPowerOfTwo was already used to ensure that SmallSizePowTwo is a power
    of two, no need to do it a second time (NextPowerOfTwo is idempotent).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1774daa5bfe46a19198227b26f9af07926332656
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jun 29 19:20:38 2010 +0000

    give PATypeHolder an explicit copy ctor which initializes the type pointer,
    and make PATypeHolder work with null pointers.

    The implicitly generated one didn't work on numerous levels, but was still
    accepted, allowing all sorts of bugs with default constructed pa type holders.

    Previously, they "sort of" worked if they were default constructed and then
    destructed.  Now they really work, and you can even default construct one,
    then assign to it, amazing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7802bc242c88c26b7cd02ca2d3df2982e6b21960
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 29 19:15:30 2010 +0000

    Fix the handling of partial redefines in the fast register allocator.

    A partial redefine needs to be treated like a tied operand, and the register
    must be reloaded while processing use operands.

    This fixes a bug where partially redefined registers were processed as normal
    defs with a reload added. The reload could clobber another use operand if it was
    a kill that allowed register reuse.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107193 91177308-0d34-0410-b5e6-96231b3b80d8

commit 028a5b615baf63e4924a2f88d28a2a86e6e8e5b6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 18:42:49 2010 +0000

    Fix a register scavenger crash when dealing with undefined subregs.
    The LowerSubregs pass needs to preserve implicit def operands attached to
    EXTRACT_SUBREG instructions when it replaces those instructions with copies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107189 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1570a14969ee40f9cde77dd3815f604133a3fbe
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 18:22:01 2010 +0000

    Add AVX non-temporal stores

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107178 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d64fee15c43a9f57ac061b7ff30214fcab8386a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 29 18:17:11 2010 +0000

    Add a few more interesting testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e2035ae8134b8e42c906d0b36898b384b11c7ea
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 29 18:12:34 2010 +0000

    Fix whitespace style.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1921fc0472583d2bc584769a063802afa679cd7c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 17:42:37 2010 +0000

    Move non-temporal movs to their own section

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99d8300183d3207aaf263d06aa7f0fae8519f290
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 17:34:07 2010 +0000

    Add support for encoding NEON VMOV (from core register to scalar) instructions.
    The encoding is the same as VMOV (from scalar to core register) except that
    the operands are in different places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107167 91177308-0d34-0410-b5e6-96231b3b80d8

commit d49d484954f817fbf5041ffc1a14fcfb8fe047bc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 17:26:30 2010 +0000

    Add sqrt, rsqrt and rcp AVX instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107166 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7f23fb3b1736ff942e8ef851586e69a567002c2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 29 16:55:24 2010 +0000

    skip dbg_value instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107154 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1445432d68266ba519f53238777237b8f430071
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 16:27:38 2010 +0000

    minor cosmetics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cbc8a0e326d2be98bfe74240a772c5c228fb8c8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 16:25:11 2010 +0000

    The t2MOVi16 and t2MOVTi16 instructions do not set CPSR.  Trying to add
    a CPSR operand to them causes an assertion failure, so apparently these
    instructions haven't been getting a lot of use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aa17908de04be0dbca459ad4b0ef461956675f9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 16:21:20 2010 +0000

    use ArgOffset constant to prepare for operand rotation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d62db042fc8a23c158edfa88d788ffef08b91a6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 16:17:26 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107145 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8f76b64e4167ffa50b4e1a6df03946d9b16caa2
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 16:01:30 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36bbfa1097a3e2ae4fbaae449fb130710672fcf4
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 14:52:10 2010 +0000

    Return Changed.  This required setting Changed if dbg metadata
    is stripped off.  Currently set unconditionally, since the API
    does not provide a way of working out if anything was actually
    stripped off.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107142 91177308-0d34-0410-b5e6-96231b3b80d8

commit d41514b2160c99eacbef9a1c05ae0c7c6b96fb3f
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 14:49:35 2010 +0000

    It seems clear that this should return Changed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107141 91177308-0d34-0410-b5e6-96231b3b80d8

commit f16aab02ee9602d7589b82b6f5913fa9db57e717
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jun 29 14:02:34 2010 +0000

    Add a VT argument to getMinimalPhysRegClass and replace the copy related uses
    of getPhysicalRegisterRegClass with it.

    If we want to make a copy (or estimate its cost), it is better to use the
    smallest class as more efficient operations might be possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107140 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf85d806608d2ee30a417af11e4c0b71da9c7770
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:34:20 2010 +0000

    getMachineBasicBlockAddress returns a uintptr_t - don't truncate
    to unsigned only to extend back to a pointer sized value on the
    next line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107139 91177308-0d34-0410-b5e6-96231b3b80d8

commit efe1cfcab3d30f1177ed80844997bc3c6057d9cd
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:30:08 2010 +0000

    The variable ValueSize is set to 1 on both code paths, and then
    ignored!  Remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107138 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b0202d1e3febc8afb9948ee39cd77ebae1743ba
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:26:33 2010 +0000

    The variable "Value" is carefully set to Layout.getSymbolAddress,
    but then not actually used - maybe a bug?  Remove the variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7332c4f57f5592d79e20d4f2eac95bd2b51ac5ee
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:24:40 2010 +0000

    Remove unused calls to Lexer.getLoc and the pointless variable HasFillExpr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107136 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8406361f729ebb3cdb61275b39514c627d56b4e2
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:23:22 2010 +0000

    Remove pointless variable LastDef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 329978d97b051fd6f4efa7419ffbd9e18ed11ad6
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:18:50 2010 +0000

    Looks like this test is missing an XFAIL line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107134 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd7fa90b69f2a29f5b899353d69eeffd728c9f47
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:04:35 2010 +0000

    Remove unused variable Loc and pointless variables unified_syntax
    and thumb_mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107133 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b5a50d8d4541d5caabad71fb281e74bb2929f45
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 13:03:46 2010 +0000

    use ArgOperand APIs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107132 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe8400ab06969f0b5ec2568f93783b1e1602fd8c
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 13:00:29 2010 +0000

    Remove an unused and a pointless variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0588364fb268934affab78b0af7394ab67152099
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 12:48:49 2010 +0000

    Remove pointless and unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20520bde989c310b4e7a9769905c36bcdfa8a751
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 29 11:41:38 2010 +0000

    encode operand initializations (at fixed index)
    in terms of Op<> and ArgOffset. This works for
    values of {0, 1} for ArgOffset.
    Please note that ArgOffset will become 0 soon and
    will go away eventually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107129 91177308-0d34-0410-b5e6-96231b3b80d8

commit e92d5e7371946363b9d261349f8f25e4089a4eb8
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 11:39:45 2010 +0000

    Remove a pointless variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107128 91177308-0d34-0410-b5e6-96231b3b80d8

commit e379fbcbe97b8d8ca5ffb0f1b404ef18833d6b67
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 11:22:26 2010 +0000

    Remove initialized but otherwise unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107127 91177308-0d34-0410-b5e6-96231b3b80d8

commit f27157ef5c3da4fa8d057b969b85c4150ad321f6
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jun 29 11:07:47 2010 +0000

    Remove variables that are written by not read.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107126 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e0d3c0fb850f12ae556f5c515b7b1f9388e26f7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jun 29 10:03:11 2010 +0000

    Use a more obvious way to avoid compiling functions which are only used when XDEBUG is enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46388b7aa600cf5b6cc814f353351e12f0aad03e
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Tue Jun 29 06:46:00 2010 +0000

    Jump through some silly hoops to make GCC accept that a function may not always
    be called.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107124 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f65260e6abe7862e13fd6395a1008c12c7ae3a2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jun 29 05:38:36 2010 +0000

    PR7503: uxtb16 is not available for ARMv7-M. Patch by Brian G. Lucas.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107122 91177308-0d34-0410-b5e6-96231b3b80d8

commit a043bb8ecf240160febc30fbb25747b89e850915
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jun 29 05:37:59 2010 +0000

    Change if-cvt options to something that actually as useable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 723159a2d5ef1cb37bc40c365edcf5cf0fc2b319
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 29 04:48:13 2010 +0000

    When processing loops for scheduling latencies (used for live outs on loop
    back-edges), make sure not to include dbg_value instructions in the count.
    Closing in on the end of rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107119 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9479ec200bac4ad5153d6d3d90cd3a0151bd525
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 29 01:41:41 2010 +0000

    Just as its not safe to blindly transfer the nsw bit from an add
    instruction to an add scev, it's not safe to blindly transfer the
    inbounds flag from a gep instruction to an nsw on the scev for the
    gep.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74ed4c28297b3eedd3add10cb8109fc6ed435545
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 01:33:09 2010 +0000

    Refactoring of arithmetic instruction classes with unary operator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107116 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2db3a34ded2680b05be7790f351733e32195584a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 29 01:13:07 2010 +0000

    When no memoperands are present, assume unaligned, volatile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107114 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec171ae0d52894aed2d66c23e5993577ae17aede
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 29 01:08:57 2010 +0000

    Strip resulting binaries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107112 91177308-0d34-0410-b5e6-96231b3b80d8

commit d090f9692efed3bbaec4740853d95e7d62b22642
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 00:55:23 2010 +0000

    Reapply my if-conversion cleanup from svn r106939 with fixes.
    There are 2 changes relative to the previous version of the patch:

    1) For the "simple" if-conversion case, there's no need to worry about
    RemoveExtraEdges not handling an unanalyzable branch.  Predicated terminators
    are ignored in this context, so RemoveExtraEdges does the right thing.
    This might break someday if we ever treat indirect branches (BRIND) as
    predicable, but for now, I just removed this part of the patch, because
    in the case where we do not add an unconditional branch, we rely on keeping
    the fall-through edge to CvtBBI (which is empty after this transformation).

    The change relative to the previous patch is:

    @@ -1036,10 +1036,6 @@
         IterIfcvt = false;
       }

    -  // RemoveExtraEdges won't work if the block has an unanalyzable branch,
    -  // which is typically the case for IfConvertSimple, so explicitly remove
    -  // CvtBBI as a successor.
    -  BBI.BB->removeSuccessor(CvtBBI->BB);
       RemoveExtraEdges(BBI);

       // Update block info. BB can be iteratively if-converted.

    2) My patch exposed a bug in the code for merging the tail of a "diamond",
    which had previously never been exercised.  The code was simply checking that
    the tail had a single predecessor, but there was a case in
    MultiSource/Benchmarks/VersaBench/dbms where that single predecessor was
    neither edge of the diamond.  I added the following change to check for
    that:

    @@ -1276,7 +1276,18 @@
       // tail, add a unconditional branch to it.
       if (TailBB) {
         BBInfo TailBBI = BBAnalysis[TailBB->getNumber()];
    -    if (TailBB->pred_size() == 1 && !TailBBI.HasFallThrough) {
    +    bool CanMergeTail = !TailBBI.HasFallThrough;
    +    // There may still be a fall-through edge from BBI1 or BBI2 to TailBB;
    +    // check if there are any other predecessors besides those.
    +    unsigned NumPreds = TailBB->pred_size();
    +    if (NumPreds > 1)
    +      CanMergeTail = false;
    +    else if (NumPreds == 1 && CanMergeTail) {
    +      MachineBasicBlock::pred_iterator PI = TailBB->pred_begin();
    +      if (*PI != BBI1->BB && *PI != BBI2->BB)
    +        CanMergeTail = false;
    +    }
    +    if (CanMergeTail) {
           MergeBlocks(BBI, TailBBI);
           TailBBI.IsDone = true;
         } else {

    With these fixes, I was able to run all the SingleSource and MultiSource
    tests successfully.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dcbf688459ac4bb5dad52d7fd2561cb0523a2aa
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 29 00:50:39 2010 +0000

    Add an Intraprocedural form of BasicAliasAnalysis, which aims to
    properly handles instructions and arguments defined in different
    functions, or across recursive function iterations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107109 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2267c0ebd1cb6e12d2b8171e29d896aecc57053
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 29 00:36:02 2010 +0000

    Described the missing AVX forms of SSE2 convert instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107108 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc5eb8f02c841e75ca31a1b341766a3e8ecdcabe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 29 00:26:13 2010 +0000

    Fix Thumb encoding of VMOV (scalar to ARM core register).  The encoding is
    the same as ARM except that the condition code field is always set to ARMCC::AL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107107 91177308-0d34-0410-b5e6-96231b3b80d8

commit df48232234e94421caab33c02458a1a298584c2e
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 29 00:04:40 2010 +0000

    The comment string does not match for all targets. PowerPC uses ;.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107103 91177308-0d34-0410-b5e6-96231b3b80d8

commit f77dd4f24e0371a42e046ab5e8671d4177f2ce90
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 28 23:40:25 2010 +0000

    Unlike other targets, ARM now uses BUILD_VECTORs post-legalization so they
    can't be changed arbitrarily by the DAGCombiner without checking if it is
    running after legalization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fbcf095fe23f391e2e23713a4db5556580d13ab
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 28 22:45:33 2010 +0000

    Refix XTARGET.  Previous attempt matches on powerpc-apple-darwin,
    although I don't see why.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ea0c37d628ecc74e6c889a5dfd6cbc3edb33238
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 28 22:31:52 2010 +0000

    Attempt to fix XTARGET.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107088 91177308-0d34-0410-b5e6-96231b3b80d8

commit c354426f5cda00564ac805635003f27241039975
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 28 22:23:17 2010 +0000

    Make the ARMCodeEmitter identify Thumb functions via ARMFunctionInfo instead
    of the Subtarget.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 006283cdd7e6b69e784d65722ee0fe68e70faec1
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 22:22:47 2010 +0000

    Use DW_FORM_addr for DW_AT_entry_pc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39d8dabefd1bc1d0ecc566b8493b5141c60e2e3f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 28 22:09:52 2010 +0000

    Add a blurb about -scev-aa.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58aa8ae584bd935095007fec309b11cd952a0a65
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 28 22:09:45 2010 +0000

    In asm's, output operands with matching input constraints
    have to be registers, per gcc documentation.  This affects
    the logic for determining what "g" should lower to.  PR 7393.
    A couple of existing testcases are affected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107079 91177308-0d34-0410-b5e6-96231b3b80d8

commit d339a118be280ede24100a71a13850f74a0b559f
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Jun 28 21:45:58 2010 +0000

    Added the darwin .secure_log_unique and .secure_log_reset directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2baa248dab8660231dcdc472ce0d8b9ec7537cbf
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 28 21:30:07 2010 +0000

    Constant fold x == undef to undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98cc2e3a04012f32fcaf10ba21c90c5960bce1f4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 28 21:29:17 2010 +0000

    tidy up style. no functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18ed6c0bad18a3cec538e00d283d5f0bd6f78d39
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 28 21:16:52 2010 +0000

    Fix Value::stripPointerCasts and BasicAA to avoid trouble on
    code in unreachable blocks, which have have use-def cycles.
    This fixes PR7514.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d3a1987083337e644ebf61c4fc72e7cff4c29a9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 28 21:16:30 2010 +0000

    Refactor encoding function for NEON 1-register with modified immediate format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107070 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4778c757e4d1b9a0db4865689128ec3f75b39d51
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 28 21:12:19 2010 +0000

    Support Thumb mode encoding of NEON instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107068 91177308-0d34-0410-b5e6-96231b3b80d8

commit c700b75bef4f95e345e0b7c24f225a3f9914ed13
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jun 28 21:08:32 2010 +0000

    Reduce indentation via early exit. NFC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107067 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c77d6490a3535d2da8b25d0e95055d4b3236684
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 20:53:04 2010 +0000

    Include inlined function in list of processed subprograms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107065 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b1b38da03336f5197002d0d7a75fe29df305a5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 28 20:26:00 2010 +0000

    new, no longer brain-dead, r106907

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d78af3bfcd3692de20d899da8b67df46f94d82d
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 20:24:35 2010 +0000

    Remove this weak test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42121b4357c296b345a304e4e3d2016261c73bee
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 28 20:07:30 2010 +0000

    Testcase for llvm-gcc fix 107051.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107052 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b99c3f47c72344dd930c27b655eed90a281f11e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jun 28 20:01:15 2010 +0000

    Don't write temporary files in test directory

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89d6ef70b56b3f05702369186b80c31901d07e6f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jun 28 19:39:57 2010 +0000

    After physreg coalescing, physical registers might not have live ranges where
    you would expect.

    Don't assert on that case, just give up.

    This fixes PR7513.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4843790f97cd66cedf8e5dbf0c5749aa596c50c8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jun 28 19:31:15 2010 +0000

    Add a triple so test runs on Linux as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107045 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa91f14e54c3a8e7a9eafe8998373e47d8f7a25
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jun 28 18:34:34 2010 +0000

    Add more special treatment for inline asm in RegAllocFast.

    When an instruction has tied operands and physreg defines, we must take extra
    care that the tied operands conflict with neither physreg defs nor uses.

    The special treatment is given to inline asm and instructions with tied operands
    / early clobbers and physreg defines.

    This fixes PR7509.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107043 91177308-0d34-0410-b5e6-96231b3b80d8

commit bad94479cdc0bf6dcdfea8cf482bd434ffa40b3f
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 28 18:33:48 2010 +0000

    Fix thinko.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07e9d9e8dfba4de77d72bbc3bc4ae48fc8c375cf
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 28 18:25:51 2010 +0000

    Pull in the libCrashReporterClient.a information with a warning comment.

    Remove library check and regenerate configure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107028 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb035b88f508bc4022923963b01c19e03950d95b
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 18:25:03 2010 +0000

    Preserve deleted function's local variables' debug info.
    Radar 8122864.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107027 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7a59856b53c85d63d556b28046652f6986fa16f
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 18:04:03 2010 +0000

    Make this test darwin specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107025 91177308-0d34-0410-b5e6-96231b3b80d8

commit fec5c4e03a61106e9f33252d5a90c66dfeffac09
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 16:50:57 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107017 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e47c9b66a4538b4b85f7277a23380efce16594
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 16:45:00 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107016 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2fd464d422d4d05355dabccee7130b3c30f2f05
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 16:43:57 2010 +0000

    employ CallInst::ArgOffset (for now)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a7361415230829fc130463af3a7866310f5268d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 16:40:52 2010 +0000

    simplify: we have solid argument iterator range

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107014 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe59504396195f61c5f3aaf2e3587beee8474c02
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 28 16:01:37 2010 +0000

    Generalize AAEval so that it can be used both per-function and
    interprocedurally. Note that as of this writing, existing alias
    analysis passes are not prepared to be used interprocedurally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107013 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc958363e7acbb5df8fae7395f6ff3d5841b9b9b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 28 15:55:15 2010 +0000

    Fix this build message so that it displays the correct library
    name, specifically the "lib" prefix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d4dbef8db8b25538cc8f9c78e40be6ec1fa1aff
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jun 28 15:47:17 2010 +0000

    Revert r106907, "make sure to handle dbg_value instructions in the middle of the
    block, not...", it caused a bunch of nightly test regressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 601bfe434a0bfc60daff17735076cece0b4d3fbe
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 12:31:35 2010 +0000

    use setArgOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8633cfd96a7ba23663163c61d93f871e0b14f4c7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 12:30:07 2010 +0000

    use CallInst::ArgOffset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2baf0d0d71a99d63412931ec6bd263b0849a94ac
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 12:29:20 2010 +0000

    use ArgOperand API and CallInst::ArgOffset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99b1cd621f00535979650a0c0ccf2b5deb887337
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 12:23:36 2010 +0000

    extend ArgOperand interface: setArgOperand
    (in both CallInst and InvokeInst)

    also add a (short-lived) constant to CallInst, that names
    the operand index of the first call argument. This is
    strictly transitional and should not be used for new code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107001 91177308-0d34-0410-b5e6-96231b3b80d8

commit e11b140f00372345948a34e475cf0e6c0ec5696d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Jun 28 11:20:42 2010 +0000

    use cached value

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23de80c00fea1ed576a9d50c641f13ac2b3a7afe
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 05:59:13 2010 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 142bea7597cd6ba788e6adb2905a10fb5f48977f
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 28 05:53:08 2010 +0000

    Use named MDNode, llvm.dbg.sp, to collect subprogram info. This will be used to emit  local variable's debug info of deleted functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 720c317302101aca01c89217b02cd3098814de2a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 28 04:27:01 2010 +0000

    minor housekeeping cleanup: 80-column, trailing whitespace, spelling, etc.. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106988 91177308-0d34-0410-b5e6-96231b3b80d8

commit be1cde8c165c8eae486a4258b13e722fe24629fe
Author: Devang Patel <dpatel@apple.com>
Date:   Sun Jun 27 21:04:31 2010 +0000

    Do not forget last element, function, while creating Subprogram definition MDNode from subprogram declare MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45c5749cbbb4273476eb7dc620560548fc370469
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jun 27 07:58:26 2010 +0000

    minor cleanup to SROA: when lowering type unsafe accesses to
    large integers, the first inserted value would always create
    an 'or X, 0'.  Even though this is trivially zapped by
    instcombine, don't bother creating this pointless instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c7154f3206756a3d3aaf39b9b1b7431d4fe9d4e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 26 23:26:37 2010 +0000

    add some named accessors for StoreInst

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39d8d7baef03a00619516e054ce0b4896771c106
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 26 23:26:22 2010 +0000

    fit in 80 cols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7f21d01c8bb8067969750f2b8055c509aef0f6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 26 22:08:30 2010 +0000

    this test is failing nondeterministically and blaming me, just disable
    it for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106960 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef49a8135bb4a308b26529337b96e189d5af0bbd
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jun 26 22:06:50 2010 +0000

    Fix test weirdness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 301cbd884fb9379114ad8033a9c5be995eb00c49
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jun 26 20:05:06 2010 +0000

    Fix some tests that didn't test anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64756b7a2575a7b6ebf8c7f4f46e5c9545115347
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Sat Jun 26 18:47:40 2010 +0000

    Partial specialization test should not depend on the order of specialization operations or the names assigned to the specialized functions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81b6368b65cd5ca9b1836d4c11f5e7b8dda37d1a
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jun 26 18:22:20 2010 +0000

    When splitting a VAARG, remember its alignment.
    This produces terrible but correct code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bf596d47d4716fcbb6baa754a08cf9b53c11016
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 26 17:47:06 2010 +0000

    Revert my if-conversion cleanup since it caused a bunch of nightly test
    regressions.

    --- Reverse-merging r106939 into '.':
    U    test/CodeGen/Thumb2/thumb2-ifcvt3.ll
    U    lib/CodeGen/IfConversion.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a60b88a6bb405d592cd4e3d89fa34194a58bbe1
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jun 26 12:53:31 2010 +0000

    Fix PR7328: when turning a tail recursion into a loop, need to preserve
    the returned value after the tail call if it differs from other return
    values.  The optimal thing to do would be to introduce a phi node for
    the return value, but for the moment just fix the miscompile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106947 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7af63b28b5bab813dda7307b6fe2150e09fbfda
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jun 26 12:17:21 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106946 91177308-0d34-0410-b5e6-96231b3b80d8

commit db4a3b9b1f78e8b93b51df5def522866e4634877
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jun 26 12:09:10 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106945 91177308-0d34-0410-b5e6-96231b3b80d8

commit b863fff112e2c8cfafc895513db9fa2beb56aa81
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jun 26 11:51:52 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106944 91177308-0d34-0410-b5e6-96231b3b80d8

commit a232b1ea9f81ea748109709966473a263a5436aa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jun 26 11:30:59 2010 +0000

    VNInfos don't need to be destructed anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106943 91177308-0d34-0410-b5e6-96231b3b80d8

commit 009d847c8032d0b4eac0fe5dc7909699d28b53ee
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Jun 26 09:35:09 2010 +0000

    resort to ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106942 91177308-0d34-0410-b5e6-96231b3b80d8

commit d54f95301471df435508f20cdc475cdadcdcb5e7
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jun 26 04:59:56 2010 +0000

    Remove bogus test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 448a8f3b7bc42776e5c51e72d6b6ec023fd50942
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jun 26 04:36:50 2010 +0000

    Followup to r106770: actually generate SXTB and SXTH for sign-extensions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106940 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1f8550b6051723eab3314d913aa0d5dbf4f520c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 26 04:27:33 2010 +0000

    Clean up some problems with extra CFG edges being introduced during
    if-conversion.  The RemoveExtraEdges function doesn't work for blocks that
    end with unanalyzable branches, so in those cases, the "extra" edges must
    be explicitly removed.  The CopyAndPredicateBlock and MergeBlocks methods
    can also avoid copying successor edges due to branches that have already
    been removed.  The latter case is especially helpful when MergeBlocks is
    called for handling "diamond" if-conversions, where otherwise you can end
    up with some weird intermediate states in the CFG.  Unfortunately I've
    been unable to find cases where this cleanup actually makes a significant
    difference in the code.  There is one test where we manage to remove an
    empty block at the end of a function.  Radar 6911268.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fb26256fcd34c5ca0311be9bdad1bc5a00485ec
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 26 04:07:15 2010 +0000

    Add support for encoding NEON VMOV (from scalar to core register) instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c923ce1bc5bae00306fc565dfd07e7c082105b8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 26 01:52:05 2010 +0000

    It's now possible to run code placement pass for ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106935 91177308-0d34-0410-b5e6-96231b3b80d8

commit d55bb2f551bf3cab18154c357afbbc50719a7e30
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Jun 26 00:39:23 2010 +0000

    When creating X86 MUL8 and DIV8 instructions, make sure we don't produce
    CopyFromReg nodes for aliasing registers (AX and AL). This confuses the fast
    register allocator.

    Instead of CopyFromReg(AL), use ExtractSubReg(CopyFromReg(AX), sub_8bit).

    This fixes PR7312.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106934 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef58a1b2f748eacbcca46b60ddfe87bf222fbc82
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 26 00:05:09 2010 +0000

    Renumber NEON instruction formats to be consecutive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106927 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5474ce368c488e8479125e7a292464fb59ef6450
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 23:56:05 2010 +0000

    Rename ARM instruction formats NEONGetLnFrm, NEONSetLnFrm and NEONDupFrm to
    "N..." instead of "NEON..." for consistency with the other NEON format names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a8eb773d51b664a4f6dbb24754a5a74dfc77707
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 23:47:23 2010 +0000

    Add AVX convert CVTSS2SI{rr,rm} and CVTDQ2PS{rr,rm} instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e35fce4996012fe2f7cb72054c22ed16984867c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 23:45:37 2010 +0000

    Remove unused NEONFrm and ThumbMiscFrm ARM instruction formats.
    Renumber MiscFrm to 25.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106916 91177308-0d34-0410-b5e6-96231b3b80d8

commit 064047b0ce3650290d36ad81db233dffc2439a45
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 23:33:42 2010 +0000

    Reapply r106896:
    Add several AVX MOV flavors
    Support VEX encoding for MRMDestReg

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106912 91177308-0d34-0410-b5e6-96231b3b80d8

commit acf930aeb082839d63148fee254d61fb049d421e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 25 23:14:54 2010 +0000

    Thumb2ITBlockPass: Fix a possible dereference of an invalid iterator. This was
    introduced in r106343, but only showed up recently (with a particular compiler &
    linker combination) because of the particular check, and because we have no
    builtin checking for dereferencing the end of an array, which is truly
    unfortunate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 560aa82b31641d53b458510679b90953199427a4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 25 23:05:46 2010 +0000

    make sure to handle dbg_value instructions in the middle of the block, not
    just at the head, when doing diamond if-conversion. rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106907 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3de199f7069e2e1be30aa8790ccd085a293080ed
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 23:04:29 2010 +0000

    revert this now, it's using avx instead of sse :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4db360fa20f7418db3262310ec7a42890b651bbe
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 25 22:53:05 2010 +0000

    Don't track kills in VNInfo. Use interval ends instead.

    The VNInfo.kills vector was almost unused except for all the code keeping it
    updated. The few places using it were easily rewritten to check for interval
    ends instead.

    The two new methods LiveInterval::killedAt and killedInRange are replacements.

    This brings us down to 3 independent data structures tracking kills.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106905 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2d4491471dbb0490b3513361acfe850cfb34a4f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 25 22:42:03 2010 +0000

    Change if-conversion block size limit checks to add some flexibility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106901 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2c740cdf2bf18dbad75ea73bc9763f5c80408b7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 22:40:46 2010 +0000

    Add support for encoding 3-register NEON instructions, and fix
    emitNEON2RegInstruction's handling of 2-address operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d57d982f8af04131b7f1c3b7aaed33dec4d4138
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 25 22:32:18 2010 +0000

    In GenerateReassociations, don't bother thinking about individual
    SCEVUnknown values which are loop-variant, as LSR can't do anything
    interesting with these values in any case. This fixes very slow compile
    times on loops which have large numbers of such values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106897 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2b4a7208ffa0f369ad7ef07267dbc4ef9debdc6
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 22:27:51 2010 +0000

    Add several AVX MOV flavors
    Support VEX encoding for MRMDestReg

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b6933cf11094827cd2700a023d9923403765065
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jun 25 22:07:34 2010 +0000

    Collect debug info for optimized variables of inlined functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f158871206fa01d23098515cb651d103fb01fbf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 25 22:02:28 2010 +0000

    80 column and typo fix

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106894 91177308-0d34-0410-b5e6-96231b3b80d8

commit fed79a37b3d1a5acc15abb741e15e30133311657
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 25 21:55:36 2010 +0000

    The hasMemory argument is irrelevant to how the argument
    for an "i" constraint should get lowered; PR 6309.  While
    this argument was passed around a lot, this is the only
    place it was used, so it goes away from a lot of other
    places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106893 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d97192e686ce39ef83fc6b479eb05b461d0ad8c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 21:17:19 2010 +0000

    Add support for encoding 2-register NEON instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106891 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe522521839de5b315300bcd8846190c34b22ff3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 25 21:05:35 2010 +0000

    pcmpeqd and friends are Commutable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c489745251fc3f7d0a4bf3543f3fbfe82bbd6ea
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 25 21:02:24 2010 +0000

    80-column and trailing whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61efe4ea6171f4f59072c043aa11b86816c4e8a4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 20:54:44 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ecb812c08e7cab13b88bd7f4fd44835e694d9ee
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jun 25 20:48:10 2010 +0000

    - Reapply r106066 now that the bzip2 build regression has been fixed.
    - 2010-06-25-CoalescerSubRegDefDead.ll is the testcase for r106878.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106880 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8fc7a971fe1b056512b788346c6ec68c0a01e32
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Jun 25 20:42:55 2010 +0000

    We should remove the live range from the destination register only if *all* defs
    are dead, not just the def of this register. I.e., a register could be dead, but
    it's subreg isn't.

    Testcase to follow with a subsequent patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f9d3ca81614f5bd4eeb1dcf9abae0827a359604
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 20:29:27 2010 +0000

    Move the last piece of SSE2 convert instructions to the Convert Instructions section

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f297e9018109755f446fe2b90a1b4e847e154bc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 20:22:12 2010 +0000

    More SSE refactoring, this time with different types of MOVs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84d68184e6b14fbe79a1188e595085100930a570
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 25 18:47:08 2010 +0000

    Eliminate a redundant FoldingSet lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8706e0f42fce56b1d9e2a67039ef9a416acf884f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 25 18:43:14 2010 +0000

    IT instructions are considered to be scheduling hazards, but are scheduled
    with the following instructions. This is done via trickery by considering the
    instruction preceding the IT to be the hazard. Care must be taken to ensure
    it's the first non-debug instruction, or the presence of debug info will
    affect codegen.

    Part of the continuing work for rdar://7797940, making ARM code-gen unaffected
    by the presence of debug information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106871 91177308-0d34-0410-b5e6-96231b3b80d8

commit a972a806ec06578253f095a11041f277d624e5e7
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 18:06:22 2010 +0000

    Refactoring of more SSE conversion instructions. Also add some AVX instrinsics Int_V... placeholders

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106867 91177308-0d34-0410-b5e6-96231b3b80d8

commit d39d4a9ecb3ef80e7082b4224b66c44c059e29f6
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 25 17:41:07 2010 +0000

    Cosmetic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106865 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6668680fcb6e8a024b1c827bc3e2a7b387f939e
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jun 25 17:32:23 2010 +0000

    XFAIL this test on powerpc for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89daf61dac234ec529606f002a51fe3aa2f65f58
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 25 16:29:14 2010 +0000

    Fix LLVM CMake PACKAGE_VERSION variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7614bcc0e2cf69faf5f6b4dffe0d1f57003150d1
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jun 25 16:07:18 2010 +0000

    Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69c2c5b074eb42b45325357a6880dfa593e185b6
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Jun 25 14:48:39 2010 +0000

    Remove variables which are assigned to but for which the value
    is not used.  Spotted by gcc-4.6.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 952cf0e2373cd994e2e2404a3f88a5999da5d1ce
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jun 25 12:51:01 2010 +0000

    Bring back the empty vector workaround I removed in r106839. Looks like MSVC needs it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bba86778df68eb7641eef0cc2e54241bca40c48
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jun 25 11:50:40 2010 +0000

    Tweak MemoryBuffer to allocate the class itself, the name and possibly the
    buffer in the same chunk of memory.

    2 less mallocs for every uninitialized MemoryBuffer and 1 less malloc for every
    MemoryBuffer pointing to a memory range translate into 20% less mallocs on
    clang -cc1 -Eonly Cocoa_h.m.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106839 91177308-0d34-0410-b5e6-96231b3b80d8

commit f597960b1fe3452bf09ce18e24cf41b39f53897f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 11:25:30 2010 +0000

    use ArgOperand accessors
    and CallInst for getting hold
    of the intrinsic's arguments

    simplify along the way (at least for me this is much more legible now)
    Bill, Baldrick or Anton, please review\!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106838 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdf6028824f4bc830aee6a504f03c9d2b72fbd0d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 09:44:37 2010 +0000

    use ArgOperand API (the simple part)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106837 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0347a3dd93f76e5c6c5073548b59d6ed2f47c96
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 09:38:13 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10a9f7f74ff4a37ccbfa8209998e07c58f4d5ef4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 09:36:23 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 002c8492df4229a90908fba95ae641f213884837
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Jun 25 09:35:33 2010 +0000

    Remove unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106834 91177308-0d34-0410-b5e6-96231b3b80d8

commit e533725bfbffa5cf208f4906d770f9b8c3f814ae
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 09:03:52 2010 +0000

    use ArgOperand API and CallSite to access arguments of CallInst

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106833 91177308-0d34-0410-b5e6-96231b3b80d8

commit a88edbeb17f067bc3e6aaf24641d3666e03ddaed
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 08:48:19 2010 +0000

    use ArgOperand API and CallSite to access arguments of CallInst

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96aa6236341dd72ad07d77df502859f48c7068ec
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 08:24:59 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106828 91177308-0d34-0410-b5e6-96231b3b80d8

commit e292158017220487770899e8b771ce5cf1fa61db
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 08:16:50 2010 +0000

    prune an include

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106827 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4df0d12fbd5d0005d2aaa7bc3a73fa839d17b93
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 07:58:41 2010 +0000

    use ArgOperand API (one more hunk I could split)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92d79f244e7d4d20bc44ef19d3d9088aba30b559
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 07:57:14 2010 +0000

    use ArgOperand API (some hunks I could split)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0793f79df3824f570d0ab9cc321a23f0bff47512
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Jun 25 07:40:32 2010 +0000

    use ArgOperand API; tighten type of handleFreeWithNonTrivialDependency to be able to use isFreeCall whithout a cast or new overload

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62e33d1dba6fb901d625694408d791f0db8e550e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 04:41:08 2010 +0000

    Add missing ARM and Thumb data layout info for vector types.
    Radar 8128745.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106820 91177308-0d34-0410-b5e6-96231b3b80d8

commit e51bec4bd0ea0f0afe1241cd5a230abbb4bc4f6f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 25 04:12:31 2010 +0000

    Reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106819 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf2805567653f9edffdc1d02f9861b550b43e9c8
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 25 00:49:43 2010 +0000

    Fix a case where an earlyclobber operand of an asm
    is reused as an input.  PR 4118.  Testcase is too big,
    as usual with bugs in this area, but there's one in
    the PR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86b5db7a5dd9c1d519c6e73f6a62ca18e794615a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 25 00:39:30 2010 +0000

    Add some AVX convert instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106815 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbc0a18b78677f1e9642cc05a0737f060130675b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 23:57:35 2010 +0000

    Make sure all eliminated kills are removed from VNInfo lists.

    This fixes PR7479 and PR7485. The test cases from those PRs are big, so not
    included. However, PR7485 comes from self hosting on FreeBSD, so we will surely
    hear about any regression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106811 91177308-0d34-0410-b5e6-96231b3b80d8

commit eeba7b7e8851d5bced1aad9818e16e9468784475
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 23:45:15 2010 +0000

    Don't write an output file to cwd, and put an rdar prefix on
    an rdar number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106810 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9cb087959bac1ea4d9c5c3118c1788d1b60075f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 23:41:59 2010 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106809 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70a7dcdaa83331319d5dbfcbbf15491e5f831cf8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 23:37:07 2010 +0000

    Refactoring of SSE convert intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106808 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc395493ba76c1cf60a82042213997f32a0e2b04
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 22:23:02 2010 +0000

    Teach EmitLiveInCopies to omit copies for unused virtual registers,
    and to clean up unused incoming physregs from the live-in list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86691160eb871748967213f4e9686205c561aa9b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 22:22:21 2010 +0000

    Refactoring of SSE conversion instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 566f86d38584bffe949d165045528dae185ce473
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 24 22:21:19 2010 +0000

    Change array references to match my previous change to use the public type
    names for the array fields.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c713b41c9e6a34bbf3f32b9a94e6e728b07354a
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Jun 24 22:05:52 2010 +0000

    DataTypes.h.cmake (MSVC): Protect some #define's and use specific
    suffixes for integer types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106797 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4676a7c73a0c297e52ee9c60b02de2b43c7042f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 22:04:40 2010 +0000

    Refactor SSE cmp intrinsics and declare the same for AVX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f3c4a58c99b39ab672e54ded50580a04d2aa09c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 24 22:04:30 2010 +0000

    Fix up some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 182b4367fcfcfffebc9ffecdc741af7586d3ec94
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 24 22:03:41 2010 +0000

    Use the struct tags mandated by ARM's ABI.  Also use the public type names for
    the array fields in these structs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eb787a17b29138fe6196cc1529a77fd49827b23
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jun 24 22:00:37 2010 +0000

    It's possible that a flag is added to the SDNode that points back to the
    original SDNode. This is badness. Also, this function allows one SDNode to point
    multiple flags to another SDNode. Badness as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106793 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf471c736f2ffbf95c270ba5d7fc6bf873b0420b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jun 24 21:51:19 2010 +0000

    DBG_VALUE machine instruction pointing to undefined register for a variable justify a separate scope if the variable is inlined function's argument.
    Radar 8122864.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12b9e5dc89b3f1cab78a58efb2e74f6a2c20f32a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 20:54:29 2010 +0000

    Don't return a std::vector in the Spiller interface, but take a reference to a
    vector instead. This avoids needless copying and allocation.

    Add documentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69ac171185dded1a4dd9a52b4ce23d0fd45fbf5b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 20:48:23 2010 +0000

    - Add AVX COMI{SS,SD}{rr,rm} and UCOMI{SS,SD}{rr,rm}.
    - Fix a small VEX encoding issue.
    - Move compare instructions to their appropriate place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f0208560d1fbb50b5cc17e2b787bb663ed8ad18
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 20:18:15 2010 +0000

    Remove the now unused LiveIntervals::getVNInfoSourceReg().

    This method was always a bit too simplistic for the real world. It didn't really
    deal with subregisters and such.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106781 91177308-0d34-0410-b5e6-96231b3b80d8

commit 500252fa32fd45e6f021b5f3925fad2b50197a09
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 20:16:00 2010 +0000

    Teach AdjustCopiesBackFrom to also use CoalescerPair to identify compatible copies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106780 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7e14efbbf65cfdb1b7b1d81299aad0c7bf5e552
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jun 24 20:14:51 2010 +0000

    Disallow matching "i" constraint to symbol addresses when
    address requires a register or secondary load to compute
    (most PIC modes).  This improves "g" constraint handling.  8015842.

    The test from 2007 is attempting to test the fix for PR1761,
    but since -relocation-model=static doesn't work on Darwin
    x86-64, it was not testing what it was supposed to be testing
    and was passing erroneously.  Fixed to use Linux x86-64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106779 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ca228a78dc5ad5ea89d893474279adf228588ad
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 24 20:14:34 2010 +0000

    Silence some unused variable warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106778 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4161d37840c4a92880d4eff5cb6e6804ae20c24
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 19:56:08 2010 +0000

    Remove the -fast-spill option.

    This code path has never really been used, and we are going to be handling
    spilling through the Spiller interface in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106777 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7418745b706370b08c9fef8bfdee3d0671d4c77
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 19:34:03 2010 +0000

    Document problems that I encountered when working on -scev-aa.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106776 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7df503c2d8ff15b393f7ce79728beef0f1002e49
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jun 24 19:10:14 2010 +0000

    Oops. IT block formation pass needs to be run at any optimization level.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106775 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac581200001471ce4f44528436285ace72deacee
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jun 24 18:49:10 2010 +0000

    Loosen up the requirements in the Horrible Hack(tm) to include all selectors
    which don't have a catch-all associated with them not just clean-ups. This fixes
    the SingleSource/Benchmarks/Shootout-C++/except.cpp testcase that broke because
    of my change r105902.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106772 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97c40940363789cb4dd7215414d629a8adf6a4a0
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jun 24 18:20:04 2010 +0000

    Always allow Thumb-2 SXTB, SXTH, UXTB, and UXTH.  Fixes PR7324.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88a3265b79c3fcb34b757b33236ca8bb42f61afe
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 18:15:01 2010 +0000

    Replace a big gob of old coalescer logic with the new CoalescerPair class.

    CoalescerPair can determine if a copy can be coalesced, and which register gets
    merged away. The old logic in SimpleRegisterCoalescing had evolved into
    something a bit too convoluted.

    This second attempt fixes some crashes that only occurred Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106769 91177308-0d34-0410-b5e6-96231b3b80d8

commit a63b9e97b4f83c1e188344ba75eceff05182784f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 17:36:51 2010 +0000

    Add an exports file for the Hello example plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 068808efddb9fed284c5a4da63be29ac312e54ab
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 17:31:07 2010 +0000

    Print the LSBs of a SlotIndex symbolically using letters referring to the
    [L]oad, [u]se, [d]ef, or [S]tore slots.

    This makes it easier to see if two indices refer to the same instruction,
    avoiding mental mod 4 calculations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106766 91177308-0d34-0410-b5e6-96231b3b80d8

commit d205e26267ec859241b82eb674a8d3c5de41f06a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 17:08:31 2010 +0000

    Simplify this code; switch lowering shouldn't produce cases
    which trivially fold away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106765 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9060f4e0dcb817b6b0e22a1a4bd96b918df0043
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:57:52 2010 +0000

    A few minor micro-optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fc92eeff3b7e6e332bfc3ea47682347a0ab34a2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:51:25 2010 +0000

    Teach getExactSDiv to evaluate x/1 to x up front, as it's a common
    enough special case, and it theoretically allows more folding because
    it works even when x is unanalyzable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106763 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec5d7833c8f3fcd48423c45e4b6fcfd211819a7d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 24 16:50:20 2010 +0000

    PR7458: Try commuting Thumb2 instruction operands to put them into 2-address
    form so they can be narrowed to 16-bit instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61615b94ef7d598068fd2dcb241259d518dc2b79
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 24 16:48:26 2010 +0000

    Edit and clarify comments for TargetInstrInfo methods:

    None of the existing implementations of commuteInstruction create new
    instructions unless the NewMI parameter is true, but the comment had
    implied otherwise.

    findCommutedOpIndices returns false, not true, when it doesn't know
    how to commute the instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106761 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7f59550a446d5bbaf56948063d975c3f430f77e
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:47:03 2010 +0000

    Don't try to preserve pointer types in SCEVConstants; the old code
    was over-complicated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106760 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3d216f5be759efe9bfb792d78e588f30b77822f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:45:11 2010 +0000

    Fix copy+pasto issues in isMulSExtable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106759 91177308-0d34-0410-b5e6-96231b3b80d8

commit c46e263c68f1d060a6111d172b85f3b6d6af6c51
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:33:38 2010 +0000

    Make the trunc code consistent with the zext and sext code in its
    handling of pointer types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fdbc66210b04d0f259e3fd341aa0171c0715c40
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:31:32 2010 +0000

    Add a comment about a thread safety issue in Statistic.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68b6d418ae4bd43633851743477220dc646a35b2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 16:25:50 2010 +0000

    Add overloads for getFile and getFileOrSTDIN which take a const char *
    instead of a StringRef, avoiding the need to copy the string in the
    common case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106754 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd27965a3fd860a877321c6b287c410e97ba3ebe
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 16:19:28 2010 +0000

    Be more strict about subreg-to-subreg copies in CoalescerPair.

    Also keep track of the original DstREg before subregister adjustments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106753 91177308-0d34-0410-b5e6-96231b3b80d8

commit b658ebaa5f066688e2404514a1e2ceed90aa04d3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 16:11:44 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 958704f15927d1f473f4ffb5f7223b85148f74a7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 15:56:59 2010 +0000

    Verify that VNI kills are pointing to existing instructions.

    In this case it is essential that the kill is real because the spiller will
    decide to omit a spill if it thinks there is a later kill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 253a656b26f831857894350b14ee9aac33062b5a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 15:51:11 2010 +0000

    use (even more, still) ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106750 91177308-0d34-0410-b5e6-96231b3b80d8

commit b74890b8f2e2944f047efa085ee32542de671fad
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 15:24:03 2010 +0000

    Eliminate the other half of the BRCOND optimization, and update
    as many tests as possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5966ad14c6676ce764027ee7fa107003ea1dd9b6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 15:04:11 2010 +0000

    Eliminate the first have of the optimization which eliminates BRCOND
    when the condition is constant. This optimization shouldn't be
    necessary, because codegen shouldn't be able to find dead control
    paths that the IR-level optimizer can't find. And it's undesirable,
    because it encourages bugpoint to leave "br i1 false" branches
    in its output. And it wasn't updating the CFG.

    I updated all the tests I could, but some tests are too reduced
    and I wasn't able to meaningfully preserve them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bc4becc28b9b256c2ec3147f265b95cdbcadb90
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 14:42:01 2010 +0000

    use ArgOperand API and CallSite for arg range; add necessary casts and perform some cosmetics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106747 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0e3de4a264060f7610fb4bcbc50d58dd990fd5c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 14:30:44 2010 +0000

    Reapply r106634, now that the bug it exposed is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ebfcc01d76aaa7f7005a2691610eb00edb2ff8a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 14:13:36 2010 +0000

    use ArgOperand API and CallSite for arg range

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61302b0a840f615fe414db78f5304eee5214c0d5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 13:54:33 2010 +0000

    use (even more) ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106744 91177308-0d34-0410-b5e6-96231b3b80d8

commit f89ab6ee1385124f2851b1b8ca866924f84e758a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 13:42:49 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106743 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3f0c31a35def721c4e4b93c67cfec7f26e5a0fd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 12:58:35 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106740 91177308-0d34-0410-b5e6-96231b3b80d8

commit de67bfbee8c74e07325c109077a1fe21e5bbb147
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 12:35:13 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 375c211a7758733f9df150ff3baa87fff8c01bc0
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 12:21:15 2010 +0000

    use ArgOperand API, also tighten the type of visitFree to make this work out smoothly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106736 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6333e54a988da34481ca0ceb3e8a93d3278de61
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 12:03:56 2010 +0000

    use ArgOperand API; introduce downcasted pointers into scope to facilitate this

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106734 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd3ce6f450b1c91657f36ab739b63b42c14e357c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 10:42:46 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 988f2693e0ce402375f669c5acd920d724ca753c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 10:17:17 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55771a55676eadcb1cf14d591be0e759b6dfb2bc
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 10:04:07 2010 +0000

    use callsite to obtain all arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 808eb88e1b95630e5774f1b31e71e2b09e0e6ca9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 09:56:43 2010 +0000

    use callsite to obtain all arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f09d34a826fbf3157367c48228e4499b2902c61
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jun 24 07:29:18 2010 +0000

    Teach the x86 mc assembler that %dr6 = %db6, this implements
    rdar://8013734

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 847a663a4653fa4c8d3a819bfcd5967466752cd7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jun 24 07:18:14 2010 +0000

    more cleanups

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95c6ec961bf542e7ea605e64269139b0461c1d50
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jun 24 07:16:25 2010 +0000

    reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66374179d3caa5082835358380695484852797a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jun 24 06:46:50 2010 +0000

    fix breakage from r98938 by correctly marking msp430 calls as variadic.

    Patch by Ben Ransford!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106722 91177308-0d34-0410-b5e6-96231b3b80d8

commit d71541301a02505cca7bb7a081b91d5023339342
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 02:07:59 2010 +0000

    Fix a bug in the code which determines when it's safe to use the
    bt instruction, which was exposed by r106263.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106718 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9c0818883dffedb64a42a884fdcfc305e6d52ed
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 24 02:07:57 2010 +0000

    Add a couple more quick comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106717 91177308-0d34-0410-b5e6-96231b3b80d8

commit b317670a6b66d0451a598b6825a6c3595c61f545
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 24 02:06:24 2010 +0000

    Optimize the "bit test" code path for switch lowering in the
    case where the bit mask has exactly one bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106716 91177308-0d34-0410-b5e6-96231b3b80d8

commit d98a4460c0f59be7f87d4425063dfa7aa2757251
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 00:52:22 2010 +0000

    Revert "Replace a big gob of old coalescer logic with the new CoalescerPair class."

    Whiny buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87fa9031edab1abca88e2f00dc58cf772069ca57
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 00:48:48 2010 +0000

    use getNumArgOperands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36f5f3d32e48c99cbeea4b85021f0d4b06b8587c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Jun 24 00:44:01 2010 +0000

    use ArgOperand API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106707 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd3f7ffc2ec7ef619b9026c35da43bf1a7941db4
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jun 24 00:33:28 2010 +0000

    Use ValueMap instead of DenseMap.
    The ValueMapper used by various cloning utility maps MDNodes also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706 91177308-0d34-0410-b5e6-96231b3b80d8

commit a36ea17aab79295df18ea32630b8708ef941034b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 00:32:06 2010 +0000

    Add AVX CMP{SS,SD}{rr,rm} instructions and encoding testcases

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78bbd7fed252d453eed8f89df26319db77963dd1
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 24 00:15:50 2010 +0000

    Move SSE and AVX shuffle, unpack and compare code to more appropriate places

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7696441e073dc64c033dd754913fcf4955315b70
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 24 00:12:39 2010 +0000

    Replace a big gob of old coalescer logic with the new CoalescerPair class.

    CoalescerPair can determine if a copy can be coalesced, and which register gets
    merged away. The old logic in SimpleRegisterCoalescing had evolved into
    something a bit too convoluted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a2f5cf4c25d4a389768bbf3114f422b57b6c68d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jun 24 00:00:42 2010 +0000

    Use available typedef for " DenseMap<const Value*, Value*>".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106699 91177308-0d34-0410-b5e6-96231b3b80d8

commit e673bb282583261d6cd4bc0eddd3938992e48413
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 23 23:55:51 2010 +0000

    Cosmetic change.
    Do not use "ValueMap" as a name for a local variable or an argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106698 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a1abf3e15793f85cb83ba85ce62bc9d942038b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 23:38:07 2010 +0000

    use ArgOperand accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d8d2853ba332eb350060a3064a2f07a8bf89465
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 23 23:00:16 2010 +0000

    We are missing opportunites to use ldm. Take code like this:

    void t(int *cp0, int *cp1, int *dp, int fmd) {
      int c0, c1, d0, d1, d2, d3;
      c0 = (*cp0++ & 0xffff) | ((*cp1++ << 16) & 0xffff0000);
      c1 = (*cp0++ & 0xffff) | ((*cp1++ << 16) & 0xffff0000);
      /* ... */
    }

    It code gens into something pretty bad. But with this change (analogous to the
    X86 back-end), it will use ldm and generate few instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106693 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7212c44b8ec591ce5be04ebef4b952310976cc4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 22:48:06 2010 +0000

    use the new isFreeCall API and ArgOperand accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18c3cc8406c60e7e6504ca03526115a2f00b3552
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 21:51:12 2010 +0000

    minor enhancement to llvm::isFreeCall API: return CallInst; no functional change

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ec904d431ed9c7b8823d17cba007f277496de09
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 21:41:47 2010 +0000

    use ArgOperand getters

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4983f2c3e0843aa07149fbb031abb40bdaedf4a6
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 23 21:30:27 2010 +0000

    Add AVX MOVMSK{PS,PD}rr instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106683 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef381229ef9189b664d3d179b2fbcff31d136c49
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 23 21:10:57 2010 +0000

    Add tests for different AVX cmp opcodes, also teach the x86 asm parser to understand the vcmp instruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90c587b42acec8e0cb4a18e788ead90a1ae1a94f
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 23 20:49:35 2010 +0000

    Update according to feedback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ab7898e0dbfd2039b87d76a78d19a68f6725056
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 23 20:20:59 2010 +0000

    Add an extra-library-path option to the plugin. This is used to support
    having a library both as bitcode and native code. We want to use the
    bitcode first, but if codegen produces new undefined references we have to use
    the native code to satisfy those references.

    Gold has no notion of bitcode and native search directories, so instead it has
    an API where the plugin can instruct it to look for the libraries it is passing
    to it. This patch uses that API.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106674 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf70e11d2a750f288f6b1e39fd06ed284718eb7d
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 23 20:07:15 2010 +0000

    Add AVX SHUF{PS,PD}{rr,rm} instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59e1f68f761c765c2120d00e55dceaa6ec358463
Author: Nico Weber <nicolasweber@gmx.de>
Date:   Wed Jun 23 20:00:58 2010 +0000

    Add support for the x86 instructions "pusha" and "popa".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106671 91177308-0d34-0410-b5e6-96231b3b80d8

commit f177063c459f373a238139268c8e4da78baf9323
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 23 19:50:39 2010 +0000

    Fix a tblgen bug.

    Given the pattern below as an example:
    list<dag> Pattern = [(set RC:$dst, (v4f32 (shufp:src3 RC:$src1,
                                (mem_frag addr:$src2))))];

    The right reference resolving should lead to:
    list<dag> Pattern = [(set VR128:$dst, (v4f32 (shufp:src3 VR128:$src1,
                                (mem_frag addr:$src2))))];
    But was yielding:
    list<dag> Pattern = [(set VR128:$dst, (v4f32 (shufp VR128:$src1,
                                (mem_frag addr:$src2))))];

    Fix this by passing the right name when creating a new DagInit node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e005be95f8b74c904d87df78ca4b6f30e6b7873
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jun 23 18:56:06 2010 +0000

    Reinstate correct test, remove the real invalidated test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7db15643a52b33c3a50b8d3fd6513dcb027f984b
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jun 23 18:53:12 2010 +0000

    Remove tests invalidated by previous checkin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96d47b0b24ba96e6090ee8f8ae75741964f9a788
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jun 23 18:52:34 2010 +0000

    Do not do tail calls to external symbols.  If the
    branch turns out to be ARM-to-Thumb or vice versa
    the linker cannot resolve this.  8120438.

    If this optimization is going to be useful we probably
    need a compiler flag "assume callees are same architecture"
    or something like that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106662 91177308-0d34-0410-b5e6-96231b3b80d8

commit a40cd3706821e13d661458bdc926df6dc58d19af
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 23 18:16:24 2010 +0000

    MorphNodeTo doesn't preserve the memory operands. Because we're morphing a node
    into the same node, but with different non-memory operands, we need to replace
    the memory operands after it's finished morphing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106643 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2531a2af4033db77d72d2c0c5d1c0e889f1b7a05
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 23 18:06:16 2010 +0000

    tests: Tweak lit.cfg to fix breakage with out-of-dir lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106638 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5775be5e6fe5016b68bea35d2c9644ecae6fca2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 23 17:09:26 2010 +0000

    Revert r106263, "Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,"... it was causing both 'file' (with clang) and 176.gcc (with llvm-gcc) to be miscompiled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75a2f1ac0dba9359e4bcc44008b88e5100723e77
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 23 16:25:07 2010 +0000

    The generic DAG combiner can now fold atomic fences when needed, so switch
    to using that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 293bb597ef521796e72263a9caf2b6a925e10dbc
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 23 16:08:49 2010 +0000

    When using libcall expansions for the atomic intrinsics, the explicit
    MEMBARRIER fences aren't necessary for ARM. Tell the combiner to fold them
    away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c82577b695de620071e41713f1d7e67eafb388d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 23 16:07:42 2010 +0000

    Some targets don't require the fencing MEMBARRIER instructions surrounding
    atomic intrinsics, either because the use locking instructions for the
    atomics, or because they perform the locking directly. Add support in the
    DAG combiner to fold away the fences.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a46afe54f00acd705ed694fb3ba10b5fb4fd3a6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 23 15:49:18 2010 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106628 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc19af59676c6bd7b560ed42958fc5b0afd6c867
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 23 15:34:36 2010 +0000

    Add a few VNInfo data structure checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 879e75fa9be2b02ecd1b0ebdf74862811d0ddbfc
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 13:56:57 2010 +0000

    use ArgOperand accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b1115576797c4680c009665b19e1fcd447da650
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 13:09:06 2010 +0000

    use ArgOperand accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106623 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7ecf7dbad455f38a354d67ffeedf981a5ba6ae5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Jun 23 08:45:32 2010 +0000

    use helper to neatly access arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63b1702c5a2ff795ef213ed365daff8ea939c3c2
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 23 08:01:49 2010 +0000

    Update uses, defs, and comments for darwin tls patterns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10b41e403bd7388533791cdf08c326c7ec95e00d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Jun 23 06:48:34 2010 +0000

    Don't link against libm and libpthread which don't exist in BeOS/Haiku. Also,
    Haiku like Linux provides <regex.h>, so use it. Patch by Paul Davey!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106620 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3ba4f2bc44f4fb7b6fe8df5fbd8ae66b2c3fe8c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 23 00:48:25 2010 +0000

    Revert r106066, "Create a more targeted fix for not sinking instructions into a range where it"... it causes bzip2 to be miscompiled by Clang.

    Conflicts:

    	lib/CodeGen/MachineSink.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f13d9adf4345da04a4129afd72a1a4fe3323dc5
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Jun 23 00:31:14 2010 +0000

    Less incorrect handling of zero-length bitfields.  Radars 7992077 and 8093043.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52875c2c36f4ed7be756cb3df54f0551e0e6609c
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 22 23:51:47 2010 +0000

    Get the addend correct for i386 pic.

    Thanks Daniel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106608 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2040b75a0d467e2f9af241ad651b352e2905090
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 22 23:44:15 2010 +0000

    Generate DWARF information during Apple-style build. They'll be stripped out
    later on. But we need them saved in the symbols directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eaff125a4f2c533c0a8900205ce74be461200d6
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 23:43:28 2010 +0000

    Replace ScalarEvolution's private copy of getLoopPredecessor
    with LoopInfo's public copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 957131d163bacea529ab0c94e8f29220f42581c4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 23:37:59 2010 +0000

    Add AVX compare packed instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106600 91177308-0d34-0410-b5e6-96231b3b80d8

commit befa9d754e316766339c52575712666b9260c108
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 23:32:47 2010 +0000

    Loosen up this test so that it doesn't depend as much on register
    allocation details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106599 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1825c56e1207f37ab3ad65e75874e3928ab4ed01
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 23:29:55 2010 +0000

    Revert 106592 for now. It causes clang-selfhost build failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b4d78bf24b2f87e4fb1a286397e0abb761a0bf1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 23:07:13 2010 +0000

    Fix OptimizeMax to handle an odd case where one of the max operands
    is another max which folds. This fixes PR7454.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106594 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea3b8d5c0adca63bf7dfa3d48af2137bf2d7703a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 23:02:38 2010 +0000

    Reapply support for AVX unpack and interleave instructions, with
    testcases this time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106593 91177308-0d34-0410-b5e6-96231b3b80d8

commit dcf9af4106bcb5e0d41d392f44ae4a57c038eb87
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 22:53:21 2010 +0000

    If a metadata operand is seeded in value map and the metadata should also be seeded in value map. This is not limited to function local metadata.

    Failure to seed metdata in such cases causes troubles when in a cloned module, metadata from a new module refers to values in old module. Usually this results in mysterious bugpoint crashes. For example,

     Checking to see if we can delete global inits: Unknown constant!
     UNREACHABLE executed at /d/g/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:904!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106592 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3fc083a68d683edbc99ebb3d4ca3606b6e6c57a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 22:50:42 2010 +0000

    While cloning a module, clone metadata attached with instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106591 91177308-0d34-0410-b5e6-96231b3b80d8

commit a130c9ec385c92882133def4cd3827fd12e05f3f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 22:38:56 2010 +0000

    Add AVX MOV{SS,SD}{rr,rm} instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106588 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6e439870f3ccd9776e33a2cdf782f14b57a8888
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 22 22:16:17 2010 +0000

    Fix the formatting of the switch statement and add a missing break.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f6f8e355a92b75d6566a01563500ecd420352ec
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 22 22:11:07 2010 +0000

    Also convert SUBREG_TO_REG to a KILL when relevant, like the other subreg
    instructions.

    This does not affect codegen much because SUBREG_TO_REG is only used by X86 and
    X86 does not use the register scavenger, but it prevents verifier errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106583 91177308-0d34-0410-b5e6-96231b3b80d8

commit e159469c6404f770b5e4a2335270083860647ddf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 22 22:04:24 2010 +0000

    Thumb1 functions using @llvm.returnaddress were not saving the incoming LR.
    Radar 8031193.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106582 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca744980124261537a6bb61a4277c797ae87a541
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 22 21:11:51 2010 +0000

    Move a 64-bit test to the 64-bit file.  Fixes an llvm-mc assertion
    during test runs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49a5eaace7024dbaf92fffc843c2b98c0f0f005d
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 22 21:01:04 2010 +0000

    Look for and use a different darwin crash reporter library.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106576 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3110ac8a43801969cd54e5700b2a923088e616e
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 22 20:54:03 2010 +0000

    Add SSE so these actually pass on non-X86 hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106575 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab883a92ec79e90ddd1c431a9b7323389f9346d0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 22 20:52:02 2010 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106574 91177308-0d34-0410-b5e6-96231b3b80d8

commit f65852c49c974dcfff4a6a3d84045e10ada4f8bd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 22 20:40:38 2010 +0000

    use high-level accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106573 91177308-0d34-0410-b5e6-96231b3b80d8

commit edfef8fcd4836d188fb28c3751c9f1b610c9884e
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 20:30:50 2010 +0000

    Fix a subtle multiclass bug: when using class inheritance on
    a toplevel 'defm', make sure to properly resolve references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 162fb55e6540131633bee5355cf85b4099a51dea
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 22 20:30:14 2010 +0000

    Corresponding test changes for r106564.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106569 91177308-0d34-0410-b5e6-96231b3b80d8

commit 318814a145e360120ba506b77fd358d7005b7580
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Jun 22 19:46:37 2010 +0000

    warmup ritual: use high-level argument accessors

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b1f39f9077afcc57e0fb302efc08dc385bbad68
Author: Mon P Wang <wangmp@apple.com>
Date:   Tue Jun 22 19:40:50 2010 +0000

    Move v-binop-widen tests to X86 since they don't work on all platforms

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d84c9387d101182764a1bc1b34356ebbf1559ac
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 18:52:38 2010 +0000

    Clone named metadata while cloning a module.
    Reapply Bob's patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cb09869eeccd4487dfce73af0852d9054b8ef8b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 18:17:40 2010 +0000

    Reorganize logical and arithmetic SSE 1 & 2 instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 117a2256f2bc699ab2b7a8e4893806f885aeed47
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 22 18:09:32 2010 +0000

    Reorganize SSE instructions, making easier to see oportunities for refactoring

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ab25f293e3852a5e9c89fa7c86ab8cf40213dca
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 17:25:57 2010 +0000

    Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks out
    into a utility routine, teach it how to update MachineLoopInfo, and
    make use of it in MachineLICM to split critical edges on demand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106555 91177308-0d34-0410-b5e6-96231b3b80d8

commit 310adb433e4f51cfe133af5e78573c63d39f1fe4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 22 16:13:57 2010 +0000

    Remove the SimpleJoin optimization from SimpleRegisterCoalescing.

    Measurements show that it does not speed up coalescing, so there is no reason
    the keep the added complexity around.

    Also clean out some unused methods and static functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106548 91177308-0d34-0410-b5e6-96231b3b80d8

commit c01e9ddc47cd765823582db1393a809f0e44e3ae
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 15:25:42 2010 +0000

    Split out the code for finding a unique loop predecessor from
    getLoopPreheader into a separate function, for clients which don't
    require a proper preheader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106543 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1040ca4ada6f587de7dd3f95a8759007c84f6b9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 15:08:57 2010 +0000

    Use pre-increment instead of post-increment when the result is not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a7845c4cca49775c72ab816afccd47a622e7961
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 13:57:08 2010 +0000

    Add a comment explaining a non-obvious API.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106539 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec09296c05877572b09e038c56a586f7e972a345
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 13:53:29 2010 +0000

    Add an explicit keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106538 91177308-0d34-0410-b5e6-96231b3b80d8

commit b80abd5b7f6d7bbfb9c0a8832c851de50700fa20
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 13:15:46 2010 +0000

    Allow "exhaustive" trip count evaluation on phi nodes with all
    constant operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106537 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88e62f2fb5c164f3b5be1c563b8427269ce5f554
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 06:14:09 2010 +0000

    Revert 106528. It is causing self host failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 960babe735176ab134ea32987b7503ec1b2d447d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 05:16:56 2010 +0000

    Do not rely on DenseMap slot which can be easily invalidated when DenseMap grows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 938f7331585408e28b8862cce037618506dc933a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 22 02:08:51 2010 +0000

    Revert my change to clone named metadata.  Buildbots are complaining.

    --- Reverse-merging r106508 into '.':
    U    lib/Transforms/Utils/CloneModule.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 257692b38de1d3d6bfb1c471e78f33763287cd62
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 02:07:21 2010 +0000

    When unfolding a load, avoid assuming which instruction that
    kill and dead flags will end up on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106520 91177308-0d34-0410-b5e6-96231b3b80d8

commit c02003eb0817c17e497935bb689772a2d92f1dfe
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 01:19:38 2010 +0000

    Use single interface, using twine, to get named metadata.
    getNamedMetadata().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b68654d95a058d5a258943cef0dcaa5cc3a937d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jun 22 01:18:16 2010 +0000

    Tail merging pass shall not break up IT blocks. rdar://8115404

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b89339565d94323fd0da1493aa1de57ae8c5dd7
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 01:06:05 2010 +0000

    Discard special LLVM prefix from linkage name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106516 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd6bbd0f2c677414e914ea629b861860e8f92823
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 22 01:01:58 2010 +0000

    Do not rely on Twine temporaries to survive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2987e573ece39e478af5902347d62719ca6053ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jun 22 00:40:26 2010 +0000

    make sure to initialize indent_level

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94b35cddef76dae50640ab3503e718aa3bb3d3fe
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 22 00:32:04 2010 +0000

    Fix the new load-unfolding code to update LiveVariable's dead flags,
    in addition to the kill flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106512 91177308-0d34-0410-b5e6-96231b3b80d8

commit c235ba5d3f0815d3ee45291fd7040a48a5ca1ced
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 22 00:11:03 2010 +0000

    Include named metadata when cloning a module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80114b2b472d03c93bfb17b07608033a7cfee495
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 23:49:08 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12bb914f608e8cc831644d09e3ff3eed7843de11
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 23:19:36 2010 +0000

    add some support for blockaddress.  This isn't really enough to be useful,
    but it will cover uses of blockaddress that are actually in a function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48156a81ef8e2ff3e631e9371134d1833f25d901
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 23:14:47 2010 +0000

    eliminate a mutable global variable, use raw_ostream::indent instead of
    rolling our own.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d631558cc96904853905d4297fa7a129fff0a4a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 23:12:56 2010 +0000

    un-indent a huge amount of code out of an anonymous namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106500 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc1eb2bc253598f900a31088c234d1c290a7bfb9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jun 21 22:59:03 2010 +0000

    revert r106482

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35fb66b259979d771eb4b6e623b9575882210c8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 22:51:14 2010 +0000

    fix several bugs in the tutorial, patch by Kevin Kelley!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 866711e285cf5a9c8078c15615ee338d99c92d66
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 22:17:20 2010 +0000

    Teach two-address lowering how to unfold a load to open up commuting
    opportunities. For example, this lets it emit this:

       movq (%rax), %rcx
       addq %rdx, %rcx

    instead of this:

       movq %rdx, %rcx
       addq (%rax), %rcx

    in the case where %rdx has subsequent uses. It's the same number
    of instructions, and usually the same encoding size on x86, but
    it appears faster, and in general, it may allow better scheduling
    for the load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106493 91177308-0d34-0410-b5e6-96231b3b80d8

commit beb1ce3200b63ca91a2928766a1e4cdb86b73eb7
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jun 21 21:28:07 2010 +0000

    change parameter name to avoid confusion with global definition

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106486 91177308-0d34-0410-b5e6-96231b3b80d8

commit da3e915c16d4408c9bf4b40de69e1e6b66ed58ee
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 21 21:27:34 2010 +0000

    sign_extend_inreg needs to be expanded for pre-v6 Thumb as well as ARM.
    Radar 8104310.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106484 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2eb202f41bd11caa6f0b1a2e5f9f7b0ec0faf11
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 21 21:27:27 2010 +0000

    LEApcrelJT shouldn't be marked as neverHasSideEffects, as we don't want it
    being moved around away from the jump table it references. rdar://8104340

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c749c2c067d6353a3f0594497ce0218e4505dcc
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jun 21 21:21:48 2010 +0000

    Add unpack and interleave AVX instructions, encoding tests cooming soon

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106482 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8ac36396ee033bbc8aa5c2a650727c626b1e73a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jun 21 21:21:14 2010 +0000

    Fix PR7421: bug in kill transferring logic. It was ignoring loads / stores which have already been processed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4747c3270a31694edbeb7feef94da72808f07988
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 20:36:09 2010 +0000

    This makes example Makefile a lot more like actual
    lib/Transforms/Hello/Makefile, and prevents a lot of errors like "Assertion
    `Inserted && "Pass registered multiple times!"' failed"

    Patch by Gregory Petrosyan!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78ee8d2115f12a57bb2d695c10dd88a213852e2d
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:35:09 2010 +0000

    Remove isTwoAddress from llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92a3062252883b9c7eeef25e49ca4be091cf20cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 20:35:01 2010 +0000

    "This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: all attributes have now a \t before and after, as done for '.type'.

    This makes the output look consistent, as well as help some third party assemblers expecting the attributes to be in the second column."

    Patch by Arnaud de Grandmaison!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106469 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52beb1f19e27153b9420a3beaac76a3cf46b0f03
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 20:31:30 2010 +0000

    fix typos reported by Adam Warner!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25ad7e46bd270034314fa15ab4ad28d591120ede
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:25:57 2010 +0000

    Remove isTwoAddress from SystemZ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106467 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc24d9fe4aad7a15730b3af4ee0d2bfade47dd4c
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:22:35 2010 +0000

    Remove isTwoAddress from Sparc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106466 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaadd648e2c7ca604eccb083a7910fbb8161f98e
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:19:21 2010 +0000

    Remove isTwoAddress from Mips.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106465 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba8eefed6af2db84eb7cfd1ad6ee3cc917ab4155
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:13:37 2010 +0000

    Remove isTwoAddress from Blackfin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04777c45791f7a14309513e38188df306d73fc8f
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 20:07:30 2010 +0000

    Remove isTwoAddress from MSP430.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 927869a00c5572441d8e084c7ec14d8224ec99e5
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 19:56:27 2010 +0000

    Make this test more robust in case LLVM ever decides to align the global
    variable differently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 309c64e06222d3a20a87c64e6a37c4901eb6a61b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 19:47:52 2010 +0000

    Use A.append(...) instead of A.insert(A.end(), ...) when A is a
    SmallVector, and other SmallVector simplifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fb39a6f7fd9647fe5d435e4dd1feb9f3780add9
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 18:56:55 2010 +0000

    Make 80-column.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106448 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd9d194fb99d714e449273d280eb628641880a50
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 18:55:01 2010 +0000

    Remove isTwoAddress from PIC16.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106447 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9fd28b206655322b6f6a16b2c7f0df426a73cf6
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 18:51:38 2010 +0000

    Remove isTwoAddress from XCore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8be9a848c4c08b0b9e426e4f10def4ae288bf8e8
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 18:48:55 2010 +0000

    Remove isTwoAddress from Alpha.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106445 91177308-0d34-0410-b5e6-96231b3b80d8

commit a066746157411995a3612e35e0def2819cc5430c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 18:46:45 2010 +0000

    Move several non-performance-critical member functinos out of line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d888592793caf6a3d7f17ebd618a2250a1b301a
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 21 18:46:08 2010 +0000

    Add missing FileCheck call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4ab8379c765f06b102e20dc46c0d0f6dd4b6ee
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 21 18:37:23 2010 +0000

    test case for r106438.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5155b69f19088645611757f473f44d93f6933c50
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jun 21 18:36:58 2010 +0000

    Do not directly use function names to construct new name for named metadata.
    "llvm.dbg.lv.~A" is not a valid name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106438 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe2af3d29d9563b92fda9d60f5b43d830d0c3498
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jun 21 18:36:04 2010 +0000

    Move part of SSE 1 & 2 compare, shuffle and unpack instructions closely. Preparing them for refactoring and to the addition of their AVX forms

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44bc5eb6232205b7a784fdcb37bbc92f3855ee09
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Jun 21 18:22:54 2010 +0000

    Add AVX regular (non-aliased ones) and,or,xor,andn packed instructions. They are already tested in the MC framework, no test needed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106436 91177308-0d34-0410-b5e6-96231b3b80d8

commit debc1e4d7a84378b4d1adbf5499088620303364e
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jun 21 18:21:49 2010 +0000

    Fix PR 7433.  Silly typo in non-Darwin ARM tail call
    handling, plus correct R9 handling in that mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 790c94c560bfd220bb82f6e6af8e72111a440c58
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 21 18:21:27 2010 +0000

    Add some codegen patterns for x86_64-linux-gnu tls codegen matching.

    Based on a patch by Patrick Marlier!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106433 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7a4b3a3cb0cbc75f057192bc61dd3496e2cd121
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 21 17:49:23 2010 +0000

    early exit for dbg_value instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 436af500acd45737178ed072ee53e009786e6023
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 17:20:18 2010 +0000

    remove some dead variables reported by clang++

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106428 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad315db856f723476dd85be0aa0d09707cb0f20d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 21 16:46:37 2010 +0000

    make the Value constructor protected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106427 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbdef2b9d4ddea718bd1ad5406a21a0ee291e910
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 16:02:28 2010 +0000

    Revert r106422, which is breaking the non-fast-isel path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97ac595b3da45793f37627c62b4d22b6d256ff1b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 15:13:54 2010 +0000

    More changes for non-top-down fast-isel.

    Split the code for materializing a value out of
    SelectionDAGBuilder::getValue into a helper function, so that it can
    be used in other ways. Add a new getNonRegisterValue function which
    uses it, for use in code which doesn't want a CopyFromReg even
    when FuncMap.ValueMap already has an entry for it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78df8e6fc85acd647999dc5d2852b61322a053ae
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Jun 21 15:11:51 2010 +0000

    Add the check to the testcase of r106419.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7941b13da6c0a2cab0034ed0b0bc0c997bed8790
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Jun 21 15:08:16 2010 +0000

    Mark the SPU 'lr' instruction to never have side effects.
    This allows the fast regiser allocator to remove redundant
    register moves.
    Update a set of tests that depend on the register allocator
    to be linear scan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106420 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9eb26d1c05c0f4e24234b2af370de6453258ccc
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Jun 21 14:42:19 2010 +0000

    Fix the lowering of VECTOR_SHUFFLE on SPU to handle splats.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4226b003f18f3c1727da7170b56a39ad90c73c98
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 14:21:47 2010 +0000

    Do one lookup instead of two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 411099f20b5a959ac2d85aa52863ebcca1c2d908
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 21 14:17:46 2010 +0000

    Generalize this to look in the regular ValueMap in addition to
    the LocalValueMap, to make it more flexible when fast-isel isn't
    proceding straight top-down.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 620272bfe33275d026e3789b7c4b67b2d66e9d53
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 21 13:31:32 2010 +0000

    Fix an unintentional commit. I think I typed "git svn dcommit" in the wrong branch.

    I was trying to do some refactoring on the copyRegToReg, but this is realyl a work in progress and not generally useful yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28e113ac3ff6f0f9b18c3b61804fe94634441682
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon Jun 21 10:17:36 2010 +0000

    Fix lowering of VECTOR_SHUFFLE on SPU. Old algorithm
    used to choke llc with the attached test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106411 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0f2092ac1d81e670fb652f74be695f9d7af5dbe
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 21 02:23:12 2010 +0000

    add_input_file and add_input_library now take const arguments, remove the
    const_cast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ab8f0b3b3df4debcd801be145f4dd3c3c09a0d5
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 21 02:17:36 2010 +0000

    Save more temps with -save-temps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b97543a3294599829491347ea22e34b2d3dc56e
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 21 02:17:34 2010 +0000

    wip

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106408 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6ccd1a445261a6b45eac28e402c943087f2d24f
Author: Nate Begeman <natebegeman@mac.com>
Date:   Sun Jun 20 21:09:52 2010 +0000

    Add support for returning multiple vectors via sret, which is how the ARM target expects the intrinsics to work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95034e9d7a886982174eed6e26858aa992279955
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Jun 20 20:27:42 2010 +0000

    Fix warning in no-asserts build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03bf7454204384760f41e19d0f7a006adf22de1a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Jun 20 00:54:38 2010 +0000

    Fix a crash caused by dereference of MBB.end(). rdar://8110842

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106399 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc1f2062ffb0dfeb83e18fd82d5d8add4e25123a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 22:50:35 2010 +0000

    Restore a call to rememberInstruction which was accidentally dropped
    in refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106398 91177308-0d34-0410-b5e6-96231b3b80d8

commit d82d336d2173618265beebed0fa45b3262919e85
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 21:30:18 2010 +0000

    Add a TODO comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106397 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2d9ab48c561b0f4167469b76899ab566f475440
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 21:29:59 2010 +0000

    Include the use kind along with the expression in the key of the
    use sharing map. The reconcileNewOffset logic already forces a
    separate use if the kinds differ, so incorporating the kind in the
    key means we can track more sharing opportunities.

    More sharing means fewer total uses to track, which means smaller
    problem sizes, which means the conservative throttles don't kick
    in as often.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a9d8801a9081768d3032c6f9aae4221303e47b2
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 21:21:39 2010 +0000

    Don't include things in anonymous namespaces that don't need it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106395 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac2728375a40c5003e8a6f4c1cb41365501327e1
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jun 19 17:00:31 2010 +0000

    Use calloc instead of new/memset, it is more efficient when the set is very large.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5644f747fbc2e338c6654c7df52e1a1ea096b8b3
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 14:17:24 2010 +0000

    Fix ScalarEvolution's "exhaustive" trip count evaluation code to avoid
    assuming that loops are in canonical form, as ScalarEvolution doesn't
    depend on LoopSimplify itself. Also, with indirectbr not all loops can
    be simplified. This fixes PR7416.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 677bde3936dafe91eca9e9b71315bff8089e2851
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 13:25:23 2010 +0000

    Factor out duplicated code for reusing and inserting casts into
    a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106388 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8e69054960bea87a4ec9fd04b99dd3b8513b63c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 19 05:33:57 2010 +0000

    Tidy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106383 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0684406f1335af8e741eee0607436c5bf640356
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 19 05:32:41 2010 +0000

    Remove a fixme comment that is no longer relevant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106382 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bbe9fc0dc335c0ef43fc7b73bbbce6bed8bede4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jun 19 05:32:09 2010 +0000

    Fix error message to match function name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7def6ecbecedea7a383512428eda97cc5d1d2009
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 04:09:22 2010 +0000

    Refactoring of regular logical packed instructions to prepare for AVX ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106375 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0bf2cf2843c72076eacf09ce52f71dcaff05369
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 02:44:01 2010 +0000

    Refactor aliased packed logical instructions, also add
    AVX AND,OR,XOR,NAND{P}{S,D}{rr,rm} instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ef0b3d5a3e8d083b1d7c630f85a2624c103af9d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 19 02:36:21 2010 +0000

    Ignore dbg_value's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106373 91177308-0d34-0410-b5e6-96231b3b80d8

commit c02c0f56587082dc1f903b0a60a0002e9d095ec9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 01:32:46 2010 +0000

    Move new sse 1 & 2 generic classes to a more appropriate place

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106372 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb9b0f7a4f26efda8a6e6c676ea6a10d1b7de8e8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 01:22:34 2010 +0000

    Remove unnecessary arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cd52b8e8f2e21ab43aac72f95fea45420628741
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 01:17:05 2010 +0000

    Add AVX packed intrinsics for MIN, MAX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106370 91177308-0d34-0410-b5e6-96231b3b80d8

commit e433819be575e98fda7e6dd14af005b1a23f7cab
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 19 01:01:32 2010 +0000

    Disable sibcall optimization for Thumb1 for now since Thumb1RegisterInfo::emitEpilogue is not expecting them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ba5fad6948a75dcd90df5e6b483aeedcd2fe883
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jun 19 00:37:40 2010 +0000

    Finish ripping isTwoAddress out of X86.  Some mindless formatting
    and operand renaming to help.

    The giant turn the constraints on and selectively turn it off
    should probably be inverted at some point since it's just largely
    50/50.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c49b8e0523cbd7e528652a4a9f2856b01f56601
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 00:37:31 2010 +0000

    Shrink down code and add for free AVX {MIN,MAX}P{S,D}{rm,rr} instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106366 91177308-0d34-0410-b5e6-96231b3b80d8

commit e283101a54f8abfd69ce1510f447ce67b9282d18
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 19 00:34:14 2010 +0000

    rip out dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8947bbea5167320260b1bb21f784453e21417ec6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 19 00:34:00 2010 +0000

    fix rdar://7873482 by teaching the instruction encoder to emit
    segment prefixes.  Daniel wrote most of this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 574cba75bc0855a26f516d96af5cdb47230c08a0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 19 00:11:54 2010 +0000

    Indentation and remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17151bc731e6c0a333bd482c403a650466a71585
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 00:09:27 2010 +0000

    Clean up: remove now unnecessary Constraints

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e078976a81f10e9b245451028d6f204ab195e72
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 19 00:02:06 2010 +0000

    Silence compiler warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106360 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf46f27dbb266ad0cad95c09f7678b9c6247ff36
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 19 00:00:22 2010 +0000

    more refactoring! yay! big win over the intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106359 91177308-0d34-0410-b5e6-96231b3b80d8

commit f892eb7cb2fe7ed6a41dea8df8c0cac8196855d0
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jun 18 23:56:07 2010 +0000

    Remove isTwoAddress from here too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a35bfe8dd354248b153f476c926a77380254693
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 18 23:53:27 2010 +0000

    Fix typo, SSE1 should be used by XS, not SSE2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106357 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4b205817d42b4969c323caa1b27d73068c39b50
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jun 18 23:51:21 2010 +0000

    Remove isTwoAddress from 64-bit files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106356 91177308-0d34-0410-b5e6-96231b3b80d8

commit e751da6ba67cdf81eb6723ea3b583a26d5ab75d8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 23:32:07 2010 +0000

    Move ARM if-conversion before post-ra scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af4f257a59c37bd00b4194ff99ff87726fbf04a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 23:28:01 2010 +0000

    Teach regular and fast isel to set dead flags on unused implicit defs
    on calls and similar instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99ac09220ef13518a8967f6f93e86b596d7a35c4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 18 23:13:35 2010 +0000

    Apply some refactor to packed instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106349 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac5bc19b9f537dcf24ec9345567dbf1d010d63d9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 23:12:10 2010 +0000

    Update cmake list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106348 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5dde0faa5b5861040c2d6cc5a044dd1e845d483
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 23:11:35 2010 +0000

    Thumb2 hazard recognizer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99ec0e1e4dd08555dc8abb6cd73d204be62ed9f8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 18 23:10:20 2010 +0000

    Only run CoalesceExtSubRegs when we can expect LiveIntervalAnalysis to clean up
    the inserted INSERT_SUBREGs after us.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33166791b3baa8fcbc8b4193590849b833e0c1b0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 23:09:54 2010 +0000

    Allow ARM if-converter to be run after post allocation scheduling.
    - This fixed a number of bugs in if-converter, tail merging, and post-allocation
      scheduler. If-converter now runs branch folding / tail merging first to
      maximize if-conversion opportunities.
    - Also changed the t2IT instruction slightly. It now defines the ITSTATE
      register which is read by instructions in the IT block.
    - Added Thumb2 specific hazard recognizer to ensure the scheduler doesn't
      change the instruction ordering in the IT block (since IT mask has been
      finalized). It also ensures no other instructions can be scheduled between
      instructions in the IT block.

    This is not yet enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106344 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd6086f4b6a78b76a577f1fe1c98ca6f693f6741
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 18 23:03:10 2010 +0000

    back-end libcall handling for ATOMIC_SWAP (__sync_lock_test_and_set)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06933559e3b203cf8ffd7bbee8f19650d0bfd8e0
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jun 18 22:51:25 2010 +0000

    Another typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b7ec44074b9771d1194e3d51ac69a4268aaa138
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 18 22:35:32 2010 +0000

    Enable Expand handling of atomics for subtargets that can't do them inline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30a5582f6a56b716a9b39cc8c2564c46cf0bba3b
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jun 18 22:33:17 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106335 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f60bf23fccd057857f1b6ed83eb96ef3a7a9d75
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 18 22:29:44 2010 +0000

    TwoAddressInstructionPass::CoalesceExtSubRegs can insert INSERT_SUBREG
    instructions, but it doesn't really understand live ranges, so the first
    INSERT_SUBREG uses an implicitly defined register.

    Fix it in LiveVariableAnalysis by adding the <undef> flag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106333 91177308-0d34-0410-b5e6-96231b3b80d8

commit c158028a69b0555588dd66a35dc67a4dc72c64ec
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 22:17:13 2010 +0000

    Fix an inverted condition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106330 91177308-0d34-0410-b5e6-96231b3b80d8

commit a29b19d4a13f58ec9afa51564b3d84248ce09186
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 18 22:10:11 2010 +0000

    Use the new 'defm' class inheritance in SSE

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106327 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebd33bdfebaa4f250ea53a26b9b1c129e2581434
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 22:01:37 2010 +0000

    Fix cross initialization compilation error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fc661738450584343e976194a3ffa9129f6effa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 18 21:52:57 2010 +0000

    Teach iff-converter to properly count # of dups. It was not skipping over dbg_value's which resulted in non-duplicated instructions being deleted. rdar://8104384.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106323 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee9f7c4cd12142a3dc75b1721e2099ba125f3201
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 18 21:43:38 2010 +0000

    Add Expand-to-libcall support for additional atomics. This covers the usual
    entries used by llvm-gcc. *_[U]MIN and such can be added later if needed.

    This enables the front ends to simplify handling of the atomic intrinsics by
    removing the target-specific decision about which targets can handle the
    intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106321 91177308-0d34-0410-b5e6-96231b3b80d8

commit b332be82e0620446328dbb8b07032e8185ddf254
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 18 21:32:42 2010 +0000

    Rewrite chained if's as switches and replace assertions with llvm_unreachable
    (as suggested in radar 8104405).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 138c06655b6fc91ed7f5cbdae3e2fad38eb3e728
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 18 21:07:47 2010 +0000

    Fix ARM/Thumb reversal in previous attempt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0362f3968fb4e61a0e80901cff2b5249bacf2393
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 18 20:59:25 2010 +0000

    When using ADDri to get the address of a stack object, 255 is a conservative
    limit on the offset that can be materialized without using the register
    scavenger.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106312 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca73bb2b92069b1adbb5733f044a8026000e14ef
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 20:45:41 2010 +0000

    Make this comment less specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41615347946ac4b8eec342bdd6a5d70cbf3825b1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 20:44:47 2010 +0000

    Fix X86FastISel's address-mode folding to stay within the
    original basic block. This avoids trouble with examining
    instructions in other basic blocks which haven't been
    assigned registers yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00547de48b857dc249cc72a1665e36336d00b2d2
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 18 20:44:28 2010 +0000

    An attempt to fix the problem Anton reported with
    ARM tail calls.  Don't know if it works, but it
    doesn't break Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106309 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcadded6eabfbf210dbbc39dc646a4a9373b33e4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 19:54:20 2010 +0000

    Revert r106304 (105548 and friends), which are the SCEVComplexityCompare
    optimizations. There is still some nondeterminism remaining.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01ff09e195d9c2339eea0d598168e9b3753df4f1
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 18 19:53:41 2010 +0000

    Teach tablegen how to inherit from classes in 'defm' definitions.
    The rule is simple: only inherit from a class list if they come
    in the end, after the last multiclass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106305 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b6950560dfd49099de28e427d773f517d5e138
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 19:26:04 2010 +0000

    Reapply 105540, 105542, and 105548, and revert r105732.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106304 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6a1ccd02025d32bb67cfb506f45365fb5c102c2
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Jun 18 19:18:58 2010 +0000

    Add a pass-through option to the plugin. The use case for this option is to
    ask the linker to take another look into some library or object. The case when
    one might want to do this is when codegen introduces a new undefined reference.
    The canonical example is libgcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e4b0c2de0d26959af2ec2cfcb4db8553498b393
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 19:12:32 2010 +0000

    Reapply 105546.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106302 91177308-0d34-0410-b5e6-96231b3b80d8

commit b08a5e90f1a263209bf40bf7f516488a40ff6b08
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 19:09:27 2010 +0000

    Reapply 105544.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0acde72b96a2a49fa8ec4f5bd34d952fcbade45e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 19:04:37 2010 +0000

    Add explicit keywords.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106300 91177308-0d34-0410-b5e6-96231b3b80d8

commit a04f67c26fa9e1e6f609d4b0f6f9d0c0621a7060
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 18 19:00:18 2010 +0000

    Enable tail calls on ARM by default, with some
    basic tests.

    This has been well tested on Darwin but not elsewhere.
    It should work provided the linker correctly resolves
      B.W  <label in other function>
    which it has not seen before, at least from llvm-based
    compilers.  I'm leaving the arm-tail-calls switch in
    until I see if there's any problems because of that;
    it might need to be disabled for some environments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106299 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44dbfdf35e8e83a9a8accff3da46b71e0d91fabe
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 18:54:05 2010 +0000

    Don't leak RegClass2VRegMap, which is now a new[] array instead of a
    std::vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 003a837c5c7f8f3c8f3c7e621a76dcadbc476045
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 18:13:55 2010 +0000

    Start TargetRegisterClass indices at 0 instead of 1, so that
    MachineRegisterInfo doesn't have to confusingly allocate an extra
    entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ab84b3417506fca7b0b065f9dc176ec977351f4
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 18 18:13:11 2010 +0000

    Last round of changes for ARM tail calls.
    Not turning them on yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34ecd4369f57a29508e1518132869d68d8a57146
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 18 17:40:42 2010 +0000

    Grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106292 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7fe0d559ecf031a8b426d23ec1f967931d63b3a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 18 17:07:23 2010 +0000

    Fix PR7372: Conditional branches (at least on ARM) are treated as predicated,
    so when IfConverter::CopyAndPredicateBlock checks to see if it should ignore
    an instruction because it is a branch, it should not check if the branch is
    predicated.

    This case (when IgnoreBr is true) is only relevant from IfConvertTriangle,
    where new branches are inserted after the block has been copied and predicated.
    If the original branch is not removed, we end up with multiple conditional
    branches (possibly conflicting) at the end of the block.  Aside from any
    immediate errors resulting from that, this confuses the AnalyzeBranch functions
    so that the branches are not analyzable.  That in turn causes the IfConverter to
    think that the "Simple" pattern can be applied, and things go downhill fast
    because the "Simple" pattern does _not_ apply if the block can fall through.

    This is pretty fragile.  If there are other degenerate cases where AnalyzeBranch
    fails, but where the block may still fall through, the IfConverter should not
    perform its "Simple" if-conversion.  But, I don't know how to do that with the
    current AnalyzeBranch interface, so for now, the best thing seems to be to
    avoid creating branches that AnalyzeBranch cannot handle.

    Evan, please review!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25296a451d0207f8fefb8e4080d74216ff3c5078
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 18 16:49:33 2010 +0000

    Treat the ARM inline asm {cc} constraint as a physreg (%CPSR), just like X86
    does for {flags}. If we create virtual registers of the CCR class, RegAllocFast
    may try to spill them, and we can't do that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106289 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13fc9e634c499b68addd728c456840e11cb97607
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 16:09:11 2010 +0000

    Don't bother calling releaseMemory before destroying the DominatorTreeBase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106287 91177308-0d34-0410-b5e6-96231b3b80d8

commit b47da0e5b3f77270fafb2d2f1a99b6d7a1f45b09
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 16:00:29 2010 +0000

    Minor code simplifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106286 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e5a6fea11d17d2f1a73d79e2e1a3f3367563287
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 15:56:31 2010 +0000

    Give NamedRegionTimer an Enabled flag, allowing all its clients to
    switch from this:

      if (TimePassesIsEnabled) {
        NamedRegionTimer T(Name, GroupName);
        do_something();
      } else {
        do_something(); // duplicate the code, this time without a timer!
      }

    to this:

      {
        NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled);
        do_something();
      }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106285 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf71542908b9fd47b9b90d03fec0714eb8de4faa
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 15:40:58 2010 +0000

    Don't replace the old Ordering object with a new one; just clear()
    the old one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106284 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac48e4f05929e073e51ad24c8f9d00c7fda43acb
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 15:36:18 2010 +0000

    Don't call clear() on DbgInfo when it's going to be deleted anyway.

    Don't replace the old DbgInfo with a new one when clear() on the
    old one is sufficient.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8dcbb0c5b59d5ce0e5e4e65bc558f3c33886d0dd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 15:30:29 2010 +0000

    Change UpdateNodeOperands' operand and return value from SDValue to
    SDNode *, since it doesn't care about the ResNo value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106282 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbe15bf969485c70c06e3d9bdf1af3b00a81c471
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 14:33:50 2010 +0000

    Remove getIntegerSCEV; it's redundant with getConstant, and getConstant
    is more consistent with the ConstantInt API.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67a2b6f1a5383fffd8a4888c037fec83ca1fba3f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 14:32:32 2010 +0000

    Delete unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04421e5e6c9c330525fb354225478a2d21e2db00
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 14:22:04 2010 +0000

    Eliminate unnecessary uses of getZExtValue().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c2d501861f49f30665e0fcf4bf8cdd5a986c2de
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 14:01:07 2010 +0000

    isValueValidForType can be a static member function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 859f74c70c6c0a86c4a799d0d93d75890778373b
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jun 18 02:41:19 2010 +0000

    Some assorted isTwoAddress -> Constraints cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106273 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7be75f73aa42989727752a85567858b022e00b4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 02:01:10 2010 +0000

    Handle execution entrypoints with non-integer return types.
    Fix from Russel Power in PR7284.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54cf4eca15c7c399bf41b7e4badaec252d9dd3e1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 01:49:17 2010 +0000

    Don't write a file named "&1".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b72a0d77804eeded1ad497f6358563a117f4812
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 01:35:11 2010 +0000

    Disable indvars on loops when LoopSimplify form is not available.
    This fixes PR7333.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106267 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ce1b4c202fdab376eba8ee8abe11266de013ca
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 01:24:29 2010 +0000

    Don't maintain a set of deleted nodes; instead, use a HandleSDNode
    to track a node over CSE events. This fixes PR7368.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106266 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ff720079f069bdbcab369954dd8b60cff1135d8
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 18 01:12:56 2010 +0000

    Add {mix,max}{ss,sd}{rr,rm} AVX forms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 781cab0ce2e08d08c3dd55570aa1cfae888a5399
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 01:05:21 2010 +0000

    Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,
    which is faster, simpler, and less surprising.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106263 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec882073441ab9259f8c44757319f8e956c31609
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 00:53:08 2010 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106260 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb3d1bc71beb5651300d75d6aa8eaee87fe0e85d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jun 18 00:35:32 2010 +0000

    improve portability to solaris 10, PR7380, patch by Simon Billingsley!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 886cf79ca1d511b0ac671cd27652d0e35f5f7b5c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 00:08:30 2010 +0000

    Handle ext(ext(x)) -> ext(x) immediately, since it's simple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106256 91177308-0d34-0410-b5e6-96231b3b80d8

commit b39ac5713d85e77822070ec37e4056aadb2c59bf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 18 00:06:03 2010 +0000

    Make this test less fragile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58022465045fe5e7473fb095d791a36e62f653c2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 17 23:34:09 2010 +0000

    Simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 504bb29a4b8373f73b0d153c415f446bf6a42432
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 17 23:05:30 2010 +0000

    Use new tablegen resources in SSE tablegen code. This will
    be done incrementally and intermixed with the adding of more
    AVX instructions. This is a first step in that direction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9091e524aa586789282303c9d2f18eb35d96bdbd
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 17 23:00:16 2010 +0000

    In case Rec is a definition and not a class, do the proper comparison!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a5767b59311f01ab97f99bc86df8370d8c5178f
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jun 17 22:43:56 2010 +0000

    Add a DebugLoc parameter to TargetInstrInfo::InsertBranch().  This
    addresses a longstanding deficiency noted in many FIXMEs scattered
    across all the targets.

    This effectively moves the problem up one level, replacing eleven
    FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path
    through FastISel where we actually supply a DebugLoc, fixing Radar
    7421831.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106243 91177308-0d34-0410-b5e6-96231b3b80d8

commit c37f35479f2b03abb2285d0f8260acb3519338bc
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 17 19:23:50 2010 +0000

    Minor clarification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 229e14ef537cc634e75769c09203aa7ffd816379
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 17 17:58:54 2010 +0000

    add missing break. inconsequential as the code shouldn't be reached, but
    for correctness' sake, it should be there.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7998d6ee0258f83baecde85dcf58825c8c803673
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 17 17:50:54 2010 +0000

    Add entries for Expanding atomic intrinsics to libcalls. Just a placeholder
    for the moment. The implementation of the libcall will follow.

    Currently, the llvm-gcc knows when the intrinsics can be correctly handled by
    the back end and only generates them in those cases, issuing libcalls directly
    otherwise. That's too much coupling. The intrinsics should always be
    generated and the back end decide how to handle them, be it with a libcall,
    inline code, or whatever. This patch is a step in that direction.

    rdar://8097623

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f680cb97e20480ff57d21743bdce7a86260dca6
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jun 17 17:43:14 2010 +0000

    Testcase for llvm-gcc 106225.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99b97f0663857f18fa871d7131d1ccbbbff499fb
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Jun 17 15:18:27 2010 +0000

    Remove arm_apcscc from the test files. It is the default and doing this
    matches what llvm-gcc and clang now produce.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106221 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5a22b04553f1c8c5d113c38f2575ea398cbb1d6
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Jun 17 15:17:07 2010 +0000

    Allow absolute paths in LLVM_TARGET_DEFINITIONS for CMake's TableGen rule

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106219 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37a66aa6cf1dbfd0633cf54f4aca28623c2363f9
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jun 17 04:15:13 2010 +0000

    Modify tablegen to support generating all NEON code used by clang at once.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106207 91177308-0d34-0410-b5e6-96231b3b80d8

commit f66a95615fc2cc570eb6a4629fdd468a58fa75bf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 17 02:02:03 2010 +0000

    Thumb1 and any pre-v6 ARM target should use the libcall expansion of
    ISD::MEMBARRIER. v7 and v7 ARM mode continue to use the custom lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106204 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5d5251d6f70f1b68d19173360511bf780aa5c66
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 17 02:00:53 2010 +0000

    ISD::MEMBARRIER should lower to a libcall (__sync_synchronize) if the target
    sets the legalize action to Expand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106203 91177308-0d34-0410-b5e6-96231b3b80d8

commit d810c293d45522377d4bea1c18b9d644adb5a430
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 17 01:50:39 2010 +0000

    Fix the handling of !if result, avoiding null results for non 'int'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19541456ef1c1944117d30ac32d3042d51d3786a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 17 01:37:00 2010 +0000

    simplify code a bit and add a more explanatory assert for cases that
    previously would result in 'cannot yet select' errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c2479176e09e0ccd56b785542fe5a2ad7a943e3
Author: Jason Molenda <jmolenda@apple.com>
Date:   Thu Jun 17 01:23:24 2010 +0000

    Add the entire range of DW_OP_lit[0..31], DW_OP_reg[0..31], and
    DW_OP_breg[0..31] to Dwarf.h.

    Add "DW_" prefix to the llvm::dwarf::*String methods which did not
    already have them in Dwarf.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f49977ad21345606d3751deb084760e3ff4f851
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 17 00:51:48 2010 +0000

    Hack to let the move lowering handle dynamic-no-pic absolute moves of
    TLVP:

    movl _a@TLVP, %eax

    Daniel: Please review if you get a chance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78ff6da3724d831777fd4dddc7f0b2c6000931df
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 17 00:49:46 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106191 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce18d6070c63573e74cdd840c0003b107b75d85c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 17 00:31:36 2010 +0000

    For a tablegen expression such as !if(a,b,c), let 'a'
    be evaluated for 'bit' operators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106185 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa6ac832f382d00f932b525d0245f6405696450
Author: Sena Hunt <rideau3@gmail.com>
Date:   Thu Jun 17 00:10:16 2010 +0000

    Fix the typo in my previous one-line commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106179 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2006346a833adc5e702045d0647ced8ff674e8a8
Author: Sena Hunt <rideau3@gmail.com>
Date:   Wed Jun 16 23:52:37 2010 +0000

    Make sure CMake can build the files added by my previous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106178 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbc522e2668a547e16edf5c327dc976eea197e51
Author: Sena Hunt <rideau3@gmail.com>
Date:   Wed Jun 16 23:45:50 2010 +0000

    Add preliminary clang attribute generation support.

    The attribute class generation support is still somewhat limited.
    See the accompanying clang commit for more details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106174 91177308-0d34-0410-b5e6-96231b3b80d8

commit e407aa315086ea90385ec0531e377be95319a314
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 16 23:45:49 2010 +0000

    format and 80-column cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106173 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbb790dfce3fb010e84bbe2b9eb302ecee4ab697
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Jun 16 23:24:12 2010 +0000

    let the '!eq' expression support 'int' and 'bit' types

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bd9d2a9b8f0ec6431e53a46a44f308bef7415d8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 16 22:41:09 2010 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4597d3772ade5263d2c624305faeaede49efc121
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Jun 16 22:32:18 2010 +0000

    Revert r106117, which was the result of me misreading the C++98/03
    specification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 375ab2255a4d024de813bd26122765b4659da644
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 16 22:11:08 2010 +0000

    Don't attempt preserving conservative kill flags. We were doing it wrong.
    This is before LiveVariables anyway, where these kill flags are recalculated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106157 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc4a27ee28a8fc45f49bbf45168cd1ae840d4708
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jun 16 21:34:01 2010 +0000

    Remove the hidden "neon-reg-sequence" option.  The reg sequences are working
    now, so there's no need to disable them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106155 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6c4731b2c730db773751217b41cc6ac4f5ad48
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 16 21:32:38 2010 +0000

    In progress on 32-bit addends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 628d52719a9c1589aa9a45b111d99422869c730b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 16 21:29:40 2010 +0000

    Allow a register to be redefined multiple times in a basic block.

    LiveVariableAnalysis was a bit picky about a register only being redefined once,
    but that really isn't necessary.

    Here is an example of chained INSERT_SUBREGs that we can handle now:

    68      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1028<kill>, 14
                    register: %reg1040 +[70,134:0)
    76      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1029<kill>, 13
                    register: %reg1040 replace range with [70,78:1) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,134:0)  0@78-(134) 1@70-(78)
    84      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1030<kill>, 12
                    register: %reg1040 replace range with [78,86:2) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,134:0)  0@86-(134) 1@70-(78) 2@78-(86)
    92      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1031<kill>, 11
                    register: %reg1040 replace range with [86,94:3) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,94:3)[94,134:0)  0@94-(134) 1@70-(78) 2@78-(86) 3@86-(94)

    rdar://problem/8096390

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6640d1f2f5758ad50328380004bc4ad7f6ac2be2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 16 21:13:38 2010 +0000

    A few more places where SCEVExpander bits need to skip over debug intrinsics
    when iterating through instructions. Yet more work for rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106149 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5308d56f9cb5f62802ffb2d11f54b52b8f62d633
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 16 21:07:06 2010 +0000

    modify so the test doesn't drop an output file in the test source directory.

    The test should also likely have some FileCheck bits to validate the
    output(?).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bcbe6c3c9812b39332d21c9b63b6c29d0e189c2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 16 20:04:32 2010 +0000

    MC/Mach-O: Rewrite atom association to be a final pass we do in Finish(), instead of tracking as part of emission.
     - This allows sharing more code with the MCObjectStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106143 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa928d5ba85d446407348bb51ee33d6ffe343fef
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 16 20:04:29 2010 +0000

    MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bdb05f4cb993b361a23c00a1eb0800a198742f2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 16 20:04:25 2010 +0000

    MC: Lift SwitchSection() and Finish() into MCObjectStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c540e729abfe7c8fbf572485d9ff61999edd420
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 16 20:04:22 2010 +0000

    MC: Factor out an MCObjectStreamer class, which will be shared by the concrete
    object file format writers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106140 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ea8f77b62c0f8a0fa332cf703d3602b4a723804
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 16 19:39:45 2010 +0000

    Be specific. Use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74b86ecdac06cf0c8fb5618df56b8a8d50f6a2c6
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 16 19:34:01 2010 +0000

    Make sure that simplify libcalls does not replace a call with one calling
    convention with a new call with a different calling convention.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106134 91177308-0d34-0410-b5e6-96231b3b80d8

commit 392b84ee6e5c40cd51bb9933ade2dc63df4f7be1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 16 18:45:08 2010 +0000

    add FIXME

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106126 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2229f7f821899826ad814a03643b7a2e891afd0b
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 16 18:19:49 2010 +0000

    This requires more investigation. Unblock buildbots for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106122 91177308-0d34-0410-b5e6-96231b3b80d8

commit c61906ecb3cc4f43646501c348a71ae2d2c209e9
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 16 18:04:12 2010 +0000

    Update test to explicitly capture llc output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a0355e4a146b6ebb0cb87460fed66f9b66ff642
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 16 18:01:31 2010 +0000

    Improve comment to include that the use of a preg is also verboten in this situation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106119 91177308-0d34-0410-b5e6-96231b3b80d8

commit edeceda3b9eb1eab7892e591126bf6ff5e24014b
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Jun 16 17:42:01 2010 +0000

    Eliminate a redundant "typename" keyword

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106117 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa12a267995a95c677ca0c3c0dd79b56b46c539b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 16 15:47:00 2010 +0000

    TODO--

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106102 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee0d10b299d8edb0e68986c7d88744406314b0b8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 16 10:30:29 2010 +0000

    simplify-libcalls: fold strncmp(x, y, 1) -> memcmp(x, y, 1)

    The memcmp will be optimized further and even the pathological case
    'strstr(x, "x") == x' generates optimal code now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b19d4b6a52c14d3c487835e4269befeb0bccd45
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 16 07:35:02 2010 +0000

    Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d25dcf3354e99f6ba727ca0a5e784087af43286
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 16 06:42:02 2010 +0000

    Check function pointer first, before comparing function names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106088 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8a4849e4a18e1a0c1bfd9579af02e12200474ec
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 16 00:53:55 2010 +0000

    Use separate named MDNode to hold each function's local variable info.
    This speeds up local variable handling in DwarfDebug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f298159ab1921498e5a3b24ea792139f540f448
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 16 00:27:30 2010 +0000

    Don't emit the linkage for initializer label for mach-o tls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7abd5775cb851e5aab6aca8af47da5270f1c53b1
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 16 00:26:36 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 200499ec42758cb1e52b2b4f115c69c73948cdcf
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jun 15 23:46:31 2010 +0000

    Create a more targeted fix for not sinking instructions into a range where it
    will conflict with another live range. The place which creates this scenerio is
    the code in X86 that lowers a select instruction by splitting the MBBs. This
    eliminates the need to check from the bottom up in an MBB for live pregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dba52de5894bfc3c42c466d703ba366a0aefee7
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 15 23:08:42 2010 +0000

    For 32-bit non-pic tlv mach-o addressing we don't need a pic base or
    a relative address.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08f285f09091485e36c1d55b163c1d7314349f0d
Author: Stuart Hastings <stuart@apple.com>
Date:   Tue Jun 15 23:06:30 2010 +0000

    Added a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13b86085ed5e91d42db05278fe4462965d24f4a5
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 15 22:59:05 2010 +0000

    Some more work on mach-o TLV relocations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106062 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1cce64d391a0c237cf2adb732f9cad0f1bac8e1
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 15 22:24:08 2010 +0000

    Add file missing from previous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f871e66e1ba49cc64d3f2407cc1bd9e8dc3325f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 22:18:54 2010 +0000

    Fix 80col violations, remove trailing whitespace, and clarify a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2beb2493d049ac6fbb32ed780dc535ebeb721066
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jun 15 22:16:40 2010 +0000

    Update test to match recent llvm-gcc change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f433f6ad5a6232882370c1bbb812607551b7af2
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jun 15 22:10:31 2010 +0000

    Make VC++ happy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106054 91177308-0d34-0410-b5e6-96231b3b80d8

commit 706a7749028d13af28c8ddc1672d4f31ac96db46
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 15 22:08:33 2010 +0000

    Next round of tail call changes.  Register used in a tail
    call must not be callee-saved; following x86, add a new
    regclass to represent this.  Also fixes a couple of bugs.
    Still disabled by default; Thumb doesn't work yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106053 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2e34b9598e4dc0401be9b3ceb077f7baaaf7d5c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 15 21:58:33 2010 +0000

    Remove the local register allocator.
    Please use the fast allocator instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106051 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9a0e705d6caf69a08340885d398c1e6b71ff410
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 15 21:36:43 2010 +0000

    Reapply 105986 with fix for bug pointed out by Jakob:
    flag argument to addReg is not the same format as flags attached
    to MachineOperand, although both have the same info.  I don't
    think this actually mattered; the bootstrap failure did not
    reproduce on the next run anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56c93a3c1a730ed28bdcc29a3079cfd067d8eb23
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jun 15 21:35:22 2010 +0000

    fix PR7380: use 'test' instead of shell builtins.  This improves
    portability to Solaris 10, which apparently doesn't support
    [ foo -ot bar ]

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106048 91177308-0d34-0410-b5e6-96231b3b80d8

commit a07f025fd1ccc86e7d17e73a9bd5c66a9af26ada
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jun 15 21:34:25 2010 +0000

    simplify-libcalls: fold strstr(a, b) == a -> strncmp(a, b, strlen(b)) == 0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106047 91177308-0d34-0410-b5e6-96231b3b80d8

commit a971737eae4b57b70679ce9c9e3be10c27cee4dc
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jun 15 20:42:00 2010 +0000

    Set the mtriple in some tests so that they use AAPCS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 665d74131be3da708bd3f186033b81940f6e2e20
Author: Mon P Wang <wangmp@apple.com>
Date:   Tue Jun 15 20:29:05 2010 +0000

    Fixed vector widening of binary instructions that can trap. Patch by Visa Putkinen!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106038 91177308-0d34-0410-b5e6-96231b3b80d8

commit da04c15fbba19fc51425e34b77253ed68177d18c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 15 19:20:30 2010 +0000

    fpcmp: Fix bug where fpcmp wouldn't early exit when files obviously differ and
    no tolerance is set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29e089b06c5a2874ea1246e5e9709dc87454c981
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 15 19:20:28 2010 +0000

    fpcmp: Fix a possible infinite loop when comparing something like:
      1..19 ok
    to
      1..20 o k
    (yes, the odd space is necessary).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106032 91177308-0d34-0410-b5e6-96231b3b80d8

commit a19f1b3f7acbf60334477d3584e2e60640a17809
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jun 15 19:08:40 2010 +0000

    fix fastisel to handle GS and FS relative pointers.  Patch by
    Nelson Elhage!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75a6691f95a9229a0c14402bcd99a5ea0f88d951
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 19:05:35 2010 +0000

    Add basic support for NEON modified immediates besides VMOV.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ba0343ea636c86a1e572875df0c18e594f7dea4
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jun 15 19:04:29 2010 +0000

    Remove the arm_aapcscc marker from the tests. It is the default
    for the linux targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45db289df77400a220a351ef727c9fba575bb805
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jun 15 18:59:43 2010 +0000

    disable SmallVectorImpl's copy constructor.  This prevents a class
    of base class slicing bugs reported on irc

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bbfff808b9a462aec1da627c6a58bd7dc485505
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 18:57:15 2010 +0000

    IfConversion's AnalyzeBlocks method always returns false; clean it up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106027 91177308-0d34-0410-b5e6-96231b3b80d8

commit a51bb28e513b32ba0fa763eaf3a27622408396af
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 15 18:53:34 2010 +0000

    fix naming

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106024 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd4c19ab5559ed3b7e2f47cda18aa1add0c55023
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 15 18:49:14 2010 +0000

    Fix an exotic bug that only showed up in an internal test case.

    SimpleRegisterCoalescing::JoinIntervals() uses CoalescerPair to determine if a
    copy is coalescable, and in very rare cases it can return true where LHS is not
    live - the coalescable copy can come from an alias of the physreg in LHS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106021 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf37c3e1ba25b8bac8d3aa195bd7cb7224798bc6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 18:19:27 2010 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106015 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3af8dbf06fef393cd6251507747047177a6852b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 15 17:47:24 2010 +0000

    Remove stray semi-colon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80c6f2bc8344c90e618e203330f9d6f4c8621872
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 17:27:54 2010 +0000

    Add some missing checks for the case where the extract_subregs are
    combined to an insert_subreg, i.e., where the destination register is larger
    than the source.  We need to check that the subregs can be composed for that
    case in a symmetrical way to the case when the destination is smaller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106004 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc6be0bd305ddf20d5f2e3493e7265aa9381af92
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 15 16:20:57 2010 +0000

    Avoid processing early clobbers twice in RegAllocFast.

    Early clobbers defining a virtual register were first alocated to a physreg and
    then processed as a physreg EC, spilling the virtreg.

    This fixes PR7382.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105998 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7b0a46e4c42c64fde074db6207e7e122ff54d52
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 15 16:04:21 2010 +0000

    Add CoalescerPair helper class.

    Given a copy instruction, CoalescerPair can determine which registers to
    coalesce in order to eliminate the copy. It deals with all the subreg fun to
    determine a tuple (DstReg, SrcReg, SubIdx) such that:

    - SrcReg is a virtual register that will disappear after coalescing.
    - DstReg is a virtual or physical register whose live range will be extended.
    - SubIdx is 0 when DstReg is a physical register.
    - SrcReg can be joined with DstReg:SubIdx.

    CoalescerPair::isCoalescable() determines if another copy instruction is
    compatible with the same tuple. This fixes some NEON miscompilations where
    shuffles are getting coalesced as if they were copies.

    The CoalescerPair class will replace a lot of the spaghetti logic in JoinCopy
    later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09f63fb7ae440fbb68e18a572b98dac495e47f96
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 15 14:50:42 2010 +0000

    Add <cstddef> include to get ptrdiff_t, for gcc-4.6; patch by Dimitry Andric.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23a744c8ad8a2fab3705c17d9851f805deab0cc5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 05:56:31 2010 +0000

    Generalize the pre-coalescing of extract_subregs feeding reg_sequences,
    replacing the overly conservative checks that I had introduced recently to
    deal with correctness issues.  This makes a pretty noticable difference
    in our testcases where reg_sequences are used.  I've updated one test to
    check that we no longer emit the unnecessary subreg moves.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ceb10653bb43e2fea865533efb68e73cbaefe61
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 15 05:51:27 2010 +0000

    VMOVQQ and VMOVQQQQ are pseudo instructions and not predicable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60f038358d89c40a6a400b5956122adffcd1602c
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 15 04:55:06 2010 +0000

    Revert 105986; looks like I'd better try bootstrapping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105988 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe6eb1212e877e3576f39ea56e49635b8f70730a
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Jun 15 04:08:14 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105987 91177308-0d34-0410-b5e6-96231b3b80d8

commit a68ab60cb35edf6fa0fbc238a26851fd0f6a6d71
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jun 15 03:13:49 2010 +0000

    The form of BuildMI used for TAILJMPr was changing the register
    containing the target address, an input, into an output.  I don't
    think this actually broke anything on x86 (it does on ARM), but
    it's wrong.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105986 91177308-0d34-0410-b5e6-96231b3b80d8

commit a21ec8384cefd745c71a66f85587b77a97353507
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 15 00:41:09 2010 +0000

    Make sure to skip dbg_value instructions when finding an insertion point for
    the combined load/store instruction. rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105982 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4edbf3ad684a14234ecd17fd25fbce9aadb428c
Author: Sena Hunt <rideau3@gmail.com>
Date:   Mon Jun 14 22:44:26 2010 +0000

    Add missing include to unbreak the build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 333e26499cf9d2c8bdb36b0711438d709ea649aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 22:33:34 2010 +0000

    generate better code in CheckComplexPattern

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105970 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8361fcf30c21e2f06b22a8e34e7b42f19bcce2e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 14 22:19:57 2010 +0000

    Rename functions referring to VMOV immediates to refer to NEON "modified
    immediate" operands.  These functions have so far only been used for VMOV
    but they also apply to other NEON instructions with modified immediate
    operands.  No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fde824dd4aac5910494fa4ac834c40e6ad5cffb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 14 21:30:32 2010 +0000

    More dbg_value cleanup so the presence of debug info doesn't affect code-gen.
    Make sure to skip the dbg_value instructions when moving dups out of the
    diamond. rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d5864180606bca247c9af9d6a18e5667437ea65
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 14 21:20:52 2010 +0000

    Don't produce output only if *all* files are unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ccaa7610f1b4ba16f4e3381b6fba046882bd2f0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jun 14 21:06:53 2010 +0000

    - Do away with SimpleHazardRecognizer.h. It's not used and offers little value.
    - Rename ExactHazardRecognizer to PostRAHazardRecognizer and move its header to include to allow targets to extend it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40191b37de4163ecff5d0edb22cbf0c1e3ffa835
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 20:19:03 2010 +0000

    apparently lots of dupes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 015ee8d57accc82e2014c1c533dae2bc3932004b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jun 14 20:18:40 2010 +0000

    Avoid uncessary array copying.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c196760f00088652042f172369b58f871fc1911
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 20:11:56 2010 +0000

    fix a nasty bug where we were not treating available_externally
    symbols as declarations in the X86 backend.  This would manifest
    on darwin x86-32 as errors like this with -fvisibility=hidden:

    symbol '__ZNSbIcED1Ev' can not be undefined in a subtraction expression

    This fixes PR7353.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 425825fe666a55405faaeb47da5a593a066bdd9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 20:07:43 2010 +0000

    remove old test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3291f17dde6434f738f9d6210b0ac47adb6a390b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 20:07:34 2010 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98523b68e521217c96cbb228dc0beeb0b7c641c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 19:45:43 2010 +0000

    jump threading can't split a critical edge from an indirectbr.  This
    fixes PR7356.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105950 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0985b0b87ee40d4f638f6237e3ebcaa0b79ec20
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Jun 14 18:37:04 2010 +0000

    Test case for Radar 8004649.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79d5b2daf64c69b784cf44abf9e1673b234dfee7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 14 18:29:23 2010 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105944 91177308-0d34-0410-b5e6-96231b3b80d8

commit a97db5064373264fce86ea93fc5099e49f79dd3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 18:28:57 2010 +0000

    fix a -Wbool-conversions warning from clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105943 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee64a5ef0874bb6f950bd36d82431d2f1db2ba3b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jun 14 18:28:34 2010 +0000

    fix a -Wbool-conversions warning from clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8dafe5ddda8d33a4dfcaf4a46c76ade83a0d380c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 14 17:56:25 2010 +0000

    Honor the SDKROOT setting when building llvm.
    Radar 7894069.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0218dd9743080e34f77d19463acdd754cc2ee379
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Jun 14 07:03:30 2010 +0000

    Add back some possible optimizations for va_arg, with wording that makes it
    more clear what exactly is missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105934 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2d240b7c1629f04ae884d309c2e1a7cc4bc32b6
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 14 06:09:39 2010 +0000

    Update html tutorial docs to match api changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 954c56fef469d4611f3372857fe79e98689020e2
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jun 14 06:03:16 2010 +0000

    Make kaleidoscope use fp add/sub/mul.

    Patch by Patrick Flannery!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bc8027065e999fd234969d4ad7b1d6952bc52b3
Author: Nate Begeman <natebegeman@mac.com>
Date:   Mon Jun 14 05:17:23 2010 +0000

    Add the last of the SemaChecking-gen code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105929 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9d3d1fbc3ae7156cf6bc36401b0749ce9e566e8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Jun 13 16:16:54 2010 +0000

    Test case for r105914.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c26d7c24f0f29194ae0cd5e7b0cb480af6091be
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Jun 13 14:35:54 2010 +0000

    SimplifyCFG: don't turn volatile stores to null/undef into unreachable. Fixes PR7369.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105914 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb120fc8a4f251ebf3e0cc2d7253939345988415
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Jun 13 12:52:38 2010 +0000

    Let SmallVector take advantage of LiveRange's podness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105913 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd166542f997fb9e7bbe0d1a894154a6842decaf
Author: Nate Begeman <natebegeman@mac.com>
Date:   Sun Jun 13 04:47:03 2010 +0000

    Add a helping of comments
    Add code for generating bits of semachecking

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105907 91177308-0d34-0410-b5e6-96231b3b80d8

commit eff87597cf3df1d73f29d088c0f18f31661cc8dd
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jun 12 20:13:29 2010 +0000

    Merge getStoreRegOpcode and getLoadRegOpcode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105900 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8888e62dfbac227e1584c20631a3dd46d9fdf76
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jun 12 17:05:28 2010 +0000

    tests: Run macho-dump with binary unbuffered streams on Windows, I can't find a Python 2.6 way to change stdin to binary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0318bfb0c7d83a9c7e5481f271892294521c9a8f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jun 12 16:21:54 2010 +0000

    tests: Make macho-dump.bat actually work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105891 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf44b20037f06842a7a06278724a4e0276f66973
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jun 12 16:21:19 2010 +0000

    tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105890 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42896ec5f05d48147fdc0732289b37ccd88122ba
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jun 12 16:00:10 2010 +0000

    lit: Replace /dev/null in scripts with temporary files on Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105888 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1f6677ca3ded638904f9163d557cd09f343a11b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 12 15:50:24 2010 +0000

    improve verifier error about unterminated block to include
    function name, patch by Yuri

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18b26b8fa1e6de993183ea7776d4c042338ffcbd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 12 15:46:56 2010 +0000

    declare a class with 'class' instead of struct to avoid tag mismatch
    warnings, and don't shift by a bool.  Patch by Rizky Herucakra!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105886 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe04fbfba6a58ddcb27ce330a7bc2ea6d5d42236
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Jun 12 05:54:27 2010 +0000

    Add README entry; based on testcase from Bill Hart.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105878 91177308-0d34-0410-b5e6-96231b3b80d8

commit feb117c31c8d4f058c3dd46166240c1a2093c893
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 12 03:12:14 2010 +0000

    make the avx intrinsics 3 address

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59830b6f33d21991f957f98f0c88c2e31d00880d
Author: Nate Begeman <natebegeman@mac.com>
Date:   Sat Jun 12 03:09:49 2010 +0000

    Add generic vector support for bitselect & element byteswap

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105874 91177308-0d34-0410-b5e6-96231b3b80d8

commit f732222878520e40e5cdb533b85575e8703bfc02
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 12 02:38:32 2010 +0000

    Add some basic fp intrinsics for AVX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105873 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2741a392cf138148d67bfd483c51fcdb9dd3b44
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jun 12 02:34:29 2010 +0000

    When performing the Horrible Hack(tm-Duncan) on the EH code to convert a
    clean-up to a catch-all after inlining, take into account that there could be
    filter IDs as well. The presence of filters don't mean that the selector catches
    anything. It's just metadata information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8186c9d04251416ad0ec7c987a969f944f4fe7d9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 12 01:53:48 2010 +0000

    More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rm

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7768d5b712d91433d1a167d54f997fb1f378e9fa
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 12 01:23:26 2010 +0000

    More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rr
    Handle OpSize TSFlag for AVX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61bcf98f410181f61b6b1908164d9f3167ee9acd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 12 00:12:18 2010 +0000

    Allow target to provide its own hazard recognizer to post-ra scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d027262d27f4cea44079e9f0d4876597a09a45c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jun 12 00:11:53 2010 +0000

    Code formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105861 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfda310abfc0b35728f747b40da2c4b75b8cfa95
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 12 00:03:52 2010 +0000

    Add some comments about REX fields

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32554676f09c1aca3d0c055c9b0dc33455602477
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Jun 11 23:50:47 2010 +0000

    More AVX instructions ({ADD,SUB,MUL,DIV}{SS,SD}rm)
    Introduce the VEX_X field

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105859 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4f50e1868a5d989ed7f367980215cc6f9a16493
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 11 23:47:36 2010 +0000

    lit: Add a forgotten default argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8535afe3dc1b0dc0bfdb8bde64b9b7fbe3e46ab5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 11 23:29:48 2010 +0000

    tests: Add wrapper script for calling macho-dump on Win32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e88c56ae7720fb4dd4c0496102d334964a4e0b4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 11 23:27:45 2010 +0000

    lit: When running Tcl style tests on Windows, substitute slashes to avoid Tcl
    quoting problems. Not particularly ideal, but should work ok. Based on a patch by
    Michael Spencer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105855 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1ad939e4f3a7c954879563c5a8f1521cb57a2cd
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 11 22:45:25 2010 +0000

    Add a missing bitcast.  This code used to only handle conversions between
    i64 and f64 types, but now it also handle Neon vector types, so the f64 result
    of VMOVDRR may need to be converted to a Neon type.  Radar 8084742.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21fb37eb9ade437c9bd8e058185e9e24ad1965f4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jun 11 22:00:08 2010 +0000

    llvm-mc: Don't set NO_INSTALL on llvm-mc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105837 91177308-0d34-0410-b5e6-96231b3b80d8

commit 665944a8e51ed67cb0fada230ee56853cd5fd5b4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 11 21:34:50 2010 +0000

    Add instruction encoding for the Neon VMOV immediate instruction.  This changes
    the machine instruction representation of the immediate value to be encoded
    into an integer with similar fields as the actual VMOV instruction.  This makes
    things easier for the disassembler, since it can just stuff the bits into the
    immediate operand, but harder for the asm printer since it has to decode the
    value to be printed.  Testcase for the encoding will follow later when MC has
    more support for ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105836 91177308-0d34-0410-b5e6-96231b3b80d8

commit f29941a7e446ea8a9d836fc950cb1100e20a9474
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Jun 11 20:08:44 2010 +0000

    Support for nested functions/classes in debug output.  (Again.)  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e73e9c0144876932788e34ae8680023ac40e98e
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Jun 11 20:05:01 2010 +0000

    Delete duplicate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48a2f135a32a3c344e939a228672f04fd9b20aec
Author: John McCall <rjmccall@apple.com>
Date:   Fri Jun 11 11:06:44 2010 +0000

    Define ContextualFoldingSet, which stores a context parameter to pass down to
    the Profile method.  Currently this only works with the default FoldingSetTraits
    implementation.

    The point of this is to allow nodes to not store context values which are only
    used during profiling.  A better solution would thread this value through the
    folding algorithms, but then those would need to be (1) templated and
    (2) non-opaque.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105819 91177308-0d34-0410-b5e6-96231b3b80d8

commit e25f4687cd2bc5b3f80fe283479f82b527a216b6
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jun 10 18:06:07 2010 +0000

    Add support for polynomial type, for polynomial multiply

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3eea16dd63a2a9d9519d1647b33837612d16dc33
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jun 10 16:23:15 2010 +0000

    Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]"
    warnings with gcc-4.6, by not setting bits when the result is not
    used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105790 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4ef3f25250e8e55792c70f28b50d44532e44765
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jun 10 15:06:05 2010 +0000

    Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings
    with gcc-4.6.  The warning is wrong, since Sub *is* used (perhaps gcc is confused
    because the use of Sub is constant folded away?), but since it is trivial to avoid,
    and massively reduces the amount of warning spew, just workaround the wrong warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a8000e8590909b169c92a2f72a4ec960e4f988c
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jun 10 10:13:58 2010 +0000

    Add includes to get ptrdiff_t.  This is needed by gcc-4.6 which has
    done some more header trimming, resulting in cstdef being included
    by less header files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105786 91177308-0d34-0410-b5e6-96231b3b80d8

commit c017c9a9d591ef58435811d016b54069e9f70f26
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Jun 10 02:42:59 2010 +0000

    Teach tablegen to allow "let" expressions inside multiclasses,
    providing more ways to factor out commonality from the records.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105776 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6db78b0eabcad48cbb53acacd68be273393f66f4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jun 10 02:09:31 2010 +0000

    Code refactoring, no functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 891284252433b07e9e2b028de792bde02e233415
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jun 10 02:08:20 2010 +0000

    Delete code that's not safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a0b5ba8ba824e5df4780be754636c3a77a67af9
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jun 10 00:16:56 2010 +0000

    NEON support for _lane ops, and multiplies by scalar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105769 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1a3d7ca4dccb80f631bd601ce8fa6497ca12958
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 9 22:21:24 2010 +0000

    be slightly more subtle about skipping dbg_value instructions; otherwise, if a
    dbg_value immediately follows a sequence of ldr/str instructions that should
    be combined into an ldm/stm and is the last instruction in the block, then
    combine may end up being skipped.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e263b0605e12fa73adc945600822609af2e7eff
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 9 20:30:22 2010 +0000

    Testcase for r105741.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105750 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5ac25d51cb10955ba7a6d2046347afc2a5ce63f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 9 20:05:00 2010 +0000

    Mark physregs defined by inline asm as implicit.

    This is a bit of a hack to make inline asm look more like call instructions.
    It would be better to produce correct dead flags during isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105749 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4abc38b7903a657a521ab807d63e66527c2bfb8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 9 19:26:01 2010 +0000

    Allow target to place 2-address pass inserted copies in better spots. Thumb2 will use this to try to avoid breaking up IT blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105745 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2e715e98dc9e57b2a35940c7bdbfefc7a947b2a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 9 19:00:55 2010 +0000

    It's an error to translate this:

       %reg1025 = <sext> %reg1024
        ...
       %reg1026 = SUBREG_TO_REG 0, %reg1024, 4

    into this:

       %reg1025 = <sext> %reg1024
        ...
       %reg1027 = EXTRACT_SUBREG %reg1025, 4
       %reg1026 = SUBREG_TO_REG 0, %reg1027, 4

    The problem here is that SUBREG_TO_REG is there to assert that an implicit zext
    occurs. It doesn't insert a zext instruction. If we allow the EXTRACT_SUBREG
    here, it will give us the value after the <sext>, not the original value of
    %reg1024 before <sext>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c7288c1d05693bd3d57df51af2079aebdb15997
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 9 18:59:43 2010 +0000

    Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90d77e27ed0def5b6159882873670cb03eef253d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 9 18:15:36 2010 +0000

    - Fix description of SUBREG_TO_REG. It's not going to generate a zext. But it
      is used to assert that an *implicit* zext is performed.

    - Fix grammar-o in INSERT_SUBREG. (required reformatting)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105735 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bd73f42fe62ee4411e00f3a745f2cda3cb81a6f
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 9 18:02:26 2010 +0000

    Further refine types for operations which take scalars.
    This will be used primarily by NEON shift intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5826672df55f409aa094b2cf63f7c0162a803090
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jun 9 17:54:40 2010 +0000

    Workaround SCEV non-determinism on this test, for now, to get buildbots back to
    green. Dan, please revert this once the real problem is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105732 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b0c7814ca2992be3f5ebabd0e6341e6374d575c
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 9 17:39:05 2010 +0000

    Change another reference to the "indirect callgraph node" to
    refer to the "external node" instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105731 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4d95fbe6aef90b1518975e16fdcea9cb79eb96b
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 9 17:35:00 2010 +0000

    Output "external node" rather than "Indirect CallGraph node" when printing
    callgraph SCC's.  This makes it match what the node itself would print.  Also,
    "indirect callgraph node" doesn't make sense - it has nothing particularly to
    do with indirect calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105730 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcc6c2eea547d901edf2e2e9932787f2aa099723
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jun 9 16:16:48 2010 +0000

    How about ULL...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5693f3573aaa1b76a2b5408bd9e19ff5c927c9c8
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Wed Jun 9 15:11:37 2010 +0000

    Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it can be reused from PartialSpecializationCost

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e804bd533c63793be52d7a119857167e0942ba3
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Jun 9 09:58:17 2010 +0000

    Fix SPU to cope with vector insertelement to an undef position.
    We default to inserting to lane 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105722 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecaa8414052ece4bbf6ab45ef4295b504749ecf8
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Wed Jun 9 08:29:41 2010 +0000

    Handle loading from/storing to undef pointers on SPU by inserting a
    random load/store, rather than crashing llc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c0a2c0df39b91a1630cc5377b584e99ed6d7602
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 9 05:11:55 2010 +0000

    Specialize I-Class instructions better so that we have less work to do in codegen.
    Parenthesize macro args

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0db9843776f6d384f04a6eb42bf0b443429be20b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 9 03:49:12 2010 +0000

    Typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105677 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7164d6e230e080f344f153583dcb3dbe01b790c
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 9 03:00:05 2010 +0000

    Fix a gcc warning:

    'class llvm::DAGDeltaAlgorithm' has virtual functions and accessible non-virtual destructor

    Not sure if this is the best solution, but this class has state and some of the
    classes that inherit from it also do, so it looks appropriate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0eaab3cb42f3e1cdbc22939b0715d84a0415ca33
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Jun 9 02:43:17 2010 +0000

    A few new x86-64 specific README entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105674 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6708885022c57b9255cd9cdaf18e8b81d0f93da
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 9 01:46:50 2010 +0000

    Thumb2 IT blocks are fairly expensive. When there are multiple selects using
    the same condition, it's important to make sure they are scheduled together
    to avoid forming multiple IT blocks. I'm adding a pre-regalloc pass that forms
    IT blocks early (by re-scheduling instructions and split basic blocks) to
    attempt to fix this. This is not turned on by default since I am not sure this
    is the right fix.

    Another issue is llvm selects are modeled as two-address conditional moves.
    This can be very bad when the copies before the conditional moves are not
    coalesced away. Teach IT formation pass to move the copies above the IT block
    (when legal) to avoid breaking the IT block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105669 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6c9d7945685c8c6437a45e6b613ad78ece5b98f
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 9 01:09:00 2010 +0000

    Handle instructions which need to be #defines for the purpose of capturing constant arguments
    Handle extract hi/lo with common code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f173d9cfee4ee63c40c25ab01345e68a0aa75c8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 9 00:40:31 2010 +0000

    Add argument name comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8256c9077a5c6f12c1e681ca3291bf0c50da6023
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Jun 8 23:48:44 2010 +0000

    Incremental improvement to the handling of the x86 "Jump if rCX Zero"
    instruction.  Added the 64-bit version "jrcxz" so it is recognized and also
    added the checks for incorrect uses of "jcxz" in 64-bit mode and "jrcxz" in
    32-bit mode.  Still to do is to correctly handle the encoding of the
    instruction adding the Address-size override prefix byte, 0x67, when the width
    of the count register is not the same as the mode the machine is running in.
    Which for example means the encoding of "jecxz" depends if you are assembling
    as a 32-bit target or a 64-bit target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105661 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb28e13566d31bcc31351f566b1109be14d27525
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 8 22:57:33 2010 +0000

    Split out these asserts so it's more apparent why we're not assembling
    that rip-relative address when executing in 32-bit mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2037d7c5f670133335ac9ae8e93de134a0542c92
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 8 22:53:32 2010 +0000

    fix copy/paste/modify think-o

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 030e4df1bdb6decb37718c3f4a692d3335882938
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 8 22:51:23 2010 +0000

    Reapply r105521, this time appending "LLU" to 64 bit
    immediates to avoid breaking the build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105652 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb3f1b97fbfe720cdf5e408ce573dc227c011be2
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jun 8 22:04:25 2010 +0000

    Ensure that mov and not lea are used to stick the address into
    the register.  While we're at it, make sure it's in the right one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105645 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3ab09bd763bda763f5e0b6ca70be2f898555dad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 8 20:10:13 2010 +0000

    Makefiles: Teach LLVM's recursive makefile descent to update objdir Makefiles if
    they are out of date, instead of only testing if they exist.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105636 91177308-0d34-0410-b5e6-96231b3b80d8

commit f98384c17cb8f5f6d8362cfbbe8b21649de438c1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 8 20:06:55 2010 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 478324eae65b0b1154a83c28524b8848289bb360
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 8 17:21:57 2010 +0000

    Use const_iterator where appropriate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b34ffdac90babb60d3c1a9e39004dc8fa113956
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 8 16:21:26 2010 +0000

    DeltaAlgorithm: Tweak split to split by first/second half instead of even/odd, since adjacent changes are more likely to be related.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105613 91177308-0d34-0410-b5e6-96231b3b80d8

commit b644965386a954156ed3091dcc8c31b3defcc208
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jun 8 16:21:22 2010 +0000

    ADT: Add DAGDeltaAlgorithm, which is a DAG minimization algorithm built on top of the standard 'delta debugging' algorithm.
     - This can give substantial speedups in the delta process for inputs we can construct dependency information for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c1a8a3fb475e96f4c3df841a9c9026ad06bea31
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Jun 8 16:17:58 2010 +0000

    Add more virtual memory to lit. The python in x86-64 fedora 13 needs it to run
    the llvm tests :-(
    It was failing with

    -- Testing: 5324 tests, 8 threads --
    Fatal Python error: PyEval_AcquireThread: NULL new thread state

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c48ca1399f7633c68a996384e5caee48c046eae
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jun 8 11:44:30 2010 +0000

    Use realloc instead of malloc+memcpy when growing a POD SmallVector. A smart
    realloc implementation can try to expand the allocated memory block in-place,
    avoiding the copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105605 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa65c9174dff1f72af68bbc65390a655d314362b
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Tue Jun 8 07:55:16 2010 +0000

    Flag SPU's function call sequence together.
    Discussed here:
    http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-June/032107.html

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105601 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab568f2aa871ade914de6b7565086663c6b9b091
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jun 8 07:11:17 2010 +0000

    Fix a valgrind error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 211299a3c6c5b4073171d3604a6417746bfda356
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jun 8 06:01:16 2010 +0000

    Refine BuiltinsARM.def types a bit, we should do a better job of this to save some c++ code in CGBuiltins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65e59944af82dfd02f3551713e1528d2ae3f0c52
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jun 8 00:42:08 2010 +0000

    Fix up a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a70fc5c6deb190fa64ede85ad10aa18b7477c36
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jun 8 00:14:42 2010 +0000

    ARM NEON:
    fix vcvt naming
    handle vdup, vcombine with generic vector code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105588 91177308-0d34-0410-b5e6-96231b3b80d8

commit 185faa2e594a778ffb897f98716d9d37a73b7e11
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 7 23:53:38 2010 +0000

    Further changes for Neon vector shuffles:
    - change isShuffleMaskLegal to show that all shuffles with 32-bit and 64-bit
      elements are legal
    - the Neon shuffle instructions do not support 64-bit elements, but we were
      not checking for that before lowering shuffles to use them
    - remove some 64-bit element vduplane patterns that are no longer needed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7096222b9a59f7a96e05a10cf2e7aa8c3ed841f6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jun 7 23:48:46 2010 +0000

    Fix a mistake in my previous change r105437: don't access operand 2 and assume
    that it is an immediate before checking that the instruction is an
    EXTRACT_SUBREG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105585 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b29ebaead040f2cfdd12caa2c252348f184c11f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 23:15:15 2010 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 594fd4dae899e952edd1391658001d17c5ef8b3d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 22:32:10 2010 +0000

    Add some basic debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105561 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbcce5100ac5e4026f8bdfaa518754d5d79fa786
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Jun 7 21:50:54 2010 +0000

    Tweak test for debug/metadata change, update to FileCheck.  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105559 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7d66069789c7d6e241bdb1aa2b3a07f7c0250da
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 7 21:48:47 2010 +0000

    Handle dbg_value instructions (i.e., skip them) when generating IT blocks.
    rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96b0304530d0e67b299e5ba44829d93ab62ebcd7
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Jun 7 21:42:19 2010 +0000

    Plug a leak in the non-error case by removing one level of indirection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6176781988731813fc68e50a106e19590142b979
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 7 21:28:55 2010 +0000

    Cleanup. Process the dbg_values separately

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105554 91177308-0d34-0410-b5e6-96231b3b80d8

commit af9ee1efaf417dffa5ed3e1c42744e94fffed40e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 20:58:11 2010 +0000

    Fix this test to work under lit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105553 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef468a4d98ba566e8a9886c1252d2bf1032dece9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 20:28:37 2010 +0000

    Run dead type elimination after dead argument elimination.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105552 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c7a392a87b97870ec046f6a908b21e2ada1c88
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 20:20:33 2010 +0000

    Make bugpoint dead-argument-hacking actually work, and actually test it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105551 91177308-0d34-0410-b5e6-96231b3b80d8

commit 337d1d681b2d00bf6af1f73bd54e7e9dc5ee4abc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 20:19:26 2010 +0000

    Use ->isVoidTy().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105550 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1e8c21f5ea9dca09dc906716087962c937a9004
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 19:36:14 2010 +0000

    The FoldingSet hash data includes pointer values, so it isn't
    determinstic. Instead, give SCEV objects an arbitrary sequence
    number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72fb41aadf96b7d9f487b43b8fce6efc4e11952c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 19:20:57 2010 +0000

    Optimize this code somewhat by taking advantage of the fact
    that the operands are sorted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105546 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67e5a0afe37fdcc8143fe31b2860a3186d98cb04
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jun 7 19:18:58 2010 +0000

    Another place where the code wanted to access the argument list and not all of
    the operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105545 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ab92870b8147dd87644435703aa23f1efd39859
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 19:16:37 2010 +0000

    Micro-optimize this, to speed up this hotspot in debug builds a little.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105544 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7bc7e11844b27f60d0d95f454bc81eed0d0b29f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 19:12:54 2010 +0000

    Micro-optimize this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105542 91177308-0d34-0410-b5e6-96231b3b80d8

commit d96271fe4e2d92aa22f0b83dbf1098d1d5722f7b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jun 7 19:12:21 2010 +0000

    Move exit check where it really belongs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105541 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f5c9c5a6f3169c005e8e9b353985cbfe4316aa2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jun 7 19:06:13 2010 +0000

    Optimize ScalarEvolution's SCEVComplexityCompare predicate: don't go
    scrounging through SCEVUnknown contents and SCEVNAryExpr operands;
    instead just do a simple deterministic comparison of the precomputed
    hash data.

    Also, since this is more precise, it eliminates the need for the slow
    N^2 duplicate detection code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105540 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae98f2320802dc552292c96b3743e0d2cb057d3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jun 7 19:05:06 2010 +0000

    Create new accessors to get arguments for call/invoke instructions. It breaks
    encapsulation to force the users of these classes to know about the internal
    data structure of the Operands structure. It also can lead to errors, like in
    the MSIL writer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105539 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe4af5bed6303126ef787cc8eeefe1c900c9aca5
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jun 7 16:45:22 2010 +0000

    Misc cleanups to the gold plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105534 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7639103eef62891a19da041403e384204aac638
Author: Nate Begeman <natebegeman@mac.com>
Date:   Mon Jun 7 16:00:37 2010 +0000

    clang codegen support

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105531 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4c77ab92a22fab48413ec3cf642c33b170857a7
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Sat Jun 5 14:50:21 2010 +0000

    Partial specialization was not checking the callsite to make sure it was using the same constants as the specialization, leading to calls to the wrong specialization.  Patch by Takumi Nakamura\!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105528 91177308-0d34-0410-b5e6-96231b3b80d8

commit d699cd2cef2b2c00298d96dc33f6304ffa9d543f
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jun 5 12:40:43 2010 +0000

    This bug is also present in MSVC10.  Requested by Elrood on IRC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 320f224f57d628a65d50fe61f16c4bef31601171
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jun 5 04:17:30 2010 +0000

    revert r105521, which is breaking the buildbots with stuff like this:

    In file included from X86InstrInfo.cpp:16:
    X86GenInstrInfo.inc:2789: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2790: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2792: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2793: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2808: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2809: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2816: error: integer constant is too large for 'long' type
    X86GenInstrInfo.inc:2817: error: integer constant is too large for 'long' type

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e8c4483fd608aa570f3afce9d3feb7a355a17d7
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 5 03:53:24 2010 +0000

    Initial AVX support for some instructions. No patterns matched
    yet, only assembly encoding support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 742574c3ab486939e719627d7fda6370086d606d
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Sat Jun 5 02:11:52 2010 +0000

    Teach tablegen to support 'defm' inside multiclasses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65464e6ce40148fde94b4972682f68ffd8406174
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 5 01:19:12 2010 +0000

    Make MachineFunctionPass::createPrinterPass private, as no subclasses
    should be calling it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 505800e299638187a58387ee188e22f33d717db1
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Jun 5 00:51:39 2010 +0000

    Improvements to tail call code.  No functional effect
    unless using -arm-tail-calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fcb34a445ec0299131319f72ad692a691f218fe
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 5 00:47:34 2010 +0000

    getFoldedOffsetOf no longer does anything special with vector types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 999c67d61169331534191073eaf3cf9d11d2f959
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 5 00:42:29 2010 +0000

    No need to special-case structs here; structs are first-class now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105513 91177308-0d34-0410-b5e6-96231b3b80d8

commit e86927d56837461feed0f5701d62c7a84cfe9fd9
Author: Stuart Hastings <stuart@apple.com>
Date:   Sat Jun 5 00:39:29 2010 +0000

    Revert 105492 & 105493 due to a testcase regression.  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8

commit c57991dba1e0d779f4018d59a3ed01e121a03805
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 5 00:33:07 2010 +0000

    LSR needs to remember inserted instructions even in postinc mode, because
    there could be multiple subexpressions within a single expansion which
    require insert point adjustment. This fixes PR7306.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105510 91177308-0d34-0410-b5e6-96231b3b80d8

commit de4fbad7eaa0114959759d9842effc3a78c411f3
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Jun 5 00:30:45 2010 +0000

    Fix some liveout handling related to tail calls, see comments.
    I don't think this ever resulted in problems on x86, but it
    would on ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105509 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9e58a670078b4e16044518e92912fdf1a765884
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jun 5 00:26:02 2010 +0000

    Implement operator== and operator!= for SetVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1de2224183daf96c3afe1ba67e09ca0cc616d324
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jun 4 23:47:41 2010 +0000

    test case for r105504.
    Radar 8055687.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105505 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6f7e9d18b116ded6b39b82d486877aecdf9826e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jun 4 23:28:13 2010 +0000

    Re-apply 105308 with fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04a072e9bdf78809755055749ec3b2db04223a86
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 4 23:16:05 2010 +0000

    Don't track users of undef values; they aren't interesting for
    register pressure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43c9b950e951daeb5b0f59153705b416bcb5c0cc
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 4 23:01:26 2010 +0000

    Make if-conversion ignore dbg_value instructions in its analysis. rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c40c270b143438e258361423901ce8889a042cb
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jun 4 22:53:30 2010 +0000

    Handle multi-vector returns and args.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2544b76a3cadb69dd0fa1f996570a036d34aba18
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jun 4 22:49:55 2010 +0000

    Update docs to reflect new DISubprogram elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 673a1184bed230144dfcf8209e9fe4b8674f942c
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Jun 4 22:36:03 2010 +0000

    Support for nested functions/classes in debug output.  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d1568b0824e18e758e739fc2c9119044c2d24c2
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jun 4 22:27:30 2010 +0000

    Copy location info for current function argument from dbg.declare if respective store instruction does not have any location info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef605c4acc6cb58dcff00cc6486011f506dc82b
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jun 4 21:36:00 2010 +0000

    Additional fixes to BuiltinsARM.def generator, on to clang codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105488 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9376fa8c3e2ae4e4ade44c82214c0cf83e208d2
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 4 21:14:24 2010 +0000

    More tail call removal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24dcf4ca0c67e63492a7a16458990fcc9f3045ca
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 4 20:18:30 2010 +0000

    Skip dbg_value instructions when scanning instructions in register scavenging.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40624d43be600a761e5b577e98fef73ecb650b44
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 4 19:16:34 2010 +0000

    Fix normalization and de-normalization of non-affine SCEVs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a1aa52a2cfdfffc1470c132900ab4257d9e946
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jun 4 18:08:29 2010 +0000

    Keep track of the call instructions whose clobber lists were skipped during fast
    register allocation.

    Process all of the clobber lists at the end of the function, marking the
    registers as used in MachineRegisterInfo.

    This is necessary in case the calls clobber callee-saved registers (sic).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19a89b6ae35d65b31172794a2ac3db31f46087fb
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 4 18:04:24 2010 +0000

    More thoroughly disable tails calls by default.
    8060143, although this doesn't fix the real problem with tail call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105472 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05a3cd1e0a4b1a109ba92edb84ee5606f06b8573
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 4 17:57:34 2010 +0000

    Another fix to prevent debug info from affecting codegen. rdar://7797940

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 100cb770df3f1414e2f57c578e51e3c8af40e495
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jun 4 07:11:25 2010 +0000

    Progress on generating BuiltinsARM.def, still some duplicates to work out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f0231a3e08ec3eb6cab42d6d9a4b3d1a60bfd8d
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jun 4 01:26:15 2010 +0000

    BuiltinsARM.def emitter, still needs a substantial bit of tweaking to lighten the load on clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eaa752b6e5e49a2d22c90d1b5db727e13ae69e5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 4 01:23:30 2010 +0000

    more dbg_value adjustments so debug info doesn't affect codegen

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105454 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddd80127a5829667200f7703492ddea82ae08290
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Jun 4 01:20:10 2010 +0000

    Fixed a bug during widening where we would avoid legalizing a node.  When we
    replace an OpA with a widened OpB, it is possible to get new uses of OpA due to CSE
    when recursively updating nodes.  Since OpA has been processed, the new uses are
    not examined again.  The patch checks if this occurred and it it did, updates the
    new uses of OpA to use OpB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b3fb06383d35bbc52d282ec6f7c38732a441a32
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 4 01:01:24 2010 +0000

    Remove more tail calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105450 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac5950430b3ca02c076ad709549437640fbdcedb
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 4 01:01:04 2010 +0000

    Remove a tail call, and move some CHECKs to the
    functions where they belong.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50058e2c75e99ef8f2c2c8e5cbd0dcec59fbeef6
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jun 4 00:21:41 2010 +0000

    Mangle __builtin_neon_* names appropriately.
    Add skeleton of support for emitting the list of prototypes for BuiltinsARM.def

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105443 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef6ba88a13e36a20d4e4924147690c7db7fd7e3e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 4 00:18:06 2010 +0000

    No need to special-case structs here; structs are first-class now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105442 91177308-0d34-0410-b5e6-96231b3b80d8

commit d28ce6644625f9162abd1d5e105600a8867922a0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jun 4 00:15:00 2010 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105441 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b687342aded7210737f88c29c942e66f643e14f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jun 4 00:14:48 2010 +0000

    This test doesn't need the ssp attribute.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 263de84e349bb6aa253fe11e5d2abe50d3038239
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jun 4 00:04:02 2010 +0000

    For NEON vectors with 32- or 64-bit elements, select BUILD_VECTORs and
    VECTOR_SHUFFLEs to REG_SEQUENCE instructions.  The standard ISD::BUILD_VECTOR
    node corresponds closely to REG_SEQUENCE but I couldn't use it here because
    its operands do not get legalized.  That is pretty awful, but I guess it
    makes sense for other targets.  Instead, I have added an ARM-specific version
    of BUILD_VECTOR that will have its operands properly legalized.
    This fixes the rest of Radar 7872877.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7257922326a3dbe27405233c94d573f99a361526
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jun 4 00:03:37 2010 +0000

    Remove tail call.  A tail call version will follow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45a3fb2a31810564dbeaa7608341f4ca12ab01e8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 3 23:53:58 2010 +0000

    Add some missing checks in TwoAddressInstructionPass::CoalesceExtSubRegs.
    Check that all the instructions are in the same basic block, that the
    EXTRACT_SUBREGs write to the same subregs that are being extracted, and that
    the source and destination registers are in the same regclass.  Some of
    these constraints can be relaxed with a bit more work.  Jakob suggested
    that the loop that checks for subregs when NewSubIdx != 0 should use the
    "nodbg" iterator, so I made that change here, too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e40505480e20763c01b8cf4e2a5aaf58a88d9f2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 3 23:49:57 2010 +0000

    Cleanup 80-column and trim trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105435 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9f3d46dade98cb8421853551e81095e106ca835
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jun 3 22:41:15 2010 +0000

    Teach the ARM load-store optimizer to deal with dbg_value instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105427 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10e3f2e77b06422b229b83b48aadb86c4bab8392
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jun 3 21:57:48 2010 +0000

    Remove tail call to preserve this test.  A tail
    call version will follow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d58eb76b7c8d47b18a8b340acf87bb39dd82e8c
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jun 3 21:53:01 2010 +0000

    Make this test not use tail calls.  A tail call
    version will follow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105419 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba3560356a96e7dc8210d9f059c91f33f50bfaa5
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jun 3 21:35:22 2010 +0000

    Add some additional capabilities to the neon emitter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105416 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6a36c51450e01f4e832a2dbfcbb15385b031ada
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Jun 3 21:11:20 2010 +0000

    Add a emit-llvm option to the plugin and make the path argument to also-emit-llvm optional.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3791f0e8d33a271849c3ed16962e75ece2641556
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jun 3 21:09:53 2010 +0000

    Early implementation of tail call for ARM.
    A temporary flag -arm-tail-calls defaults to off,
    so there is no functional change by default.
    Intrepid users may try this; simple cases work
    but there are bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105413 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9c553e10c8f484581cff063bf3f2cb5d945bcdf
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jun 3 20:21:33 2010 +0000

    Fix SimplifyDemandedBits' AssertZext logic to demand all the bits. It
    needs to demand the high bits because it's asserting that they're zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67117a511341aa75d646ad9770a45f8c2ef61ff2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Jun 3 18:28:31 2010 +0000

    Revert 105308.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 621e7e384569860c7e8e69579c6c329c345f2ebf
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Jun 3 17:13:23 2010 +0000

    Perfer !string.empty() over string != "".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105397 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa4003f05530c389b861cc536277f7250d0077c1
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jun 3 17:11:49 2010 +0000

    Forgot to update the most important part of the gtest modifications readme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105396 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc5302737cd8efec9abce01619bf7f0a891f3310
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Jun 3 17:10:17 2010 +0000

    Whitespace cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105395 91177308-0d34-0410-b5e6-96231b3b80d8

commit a75d797b8732d6471c9c32c09437a2ab9fb5229c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jun 3 15:17:04 2010 +0000

    Disable pthread support in googletest if llvm was configured without threads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87387816b143e1ef058d0cff7728d18b1c636113
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Jun 3 14:45:44 2010 +0000

    Don't preserve all symbols in a .so and instead trust gold to know what is
    needed. The result is that now we are able to drop unnecessary symbol from
    shared libraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79a2c0a2f05f9c7e5c7d9e49ac465014184c198e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jun 3 07:54:20 2010 +0000

    Machine sink could potentially sink instructions into a block where the physical
    registers it defines then interfere with an existing preg live range.

    For instance, if we had something like these machine instructions:

    BB#0
      ... = imul ... EFLAGS<imp-def,dead>
      test ..., EFLAGS<imp-def>
      jcc BB#2 EFLAGS<imp-use>

    BB#1
      ... ; fallthrough to BB#2

    BB#2
      ... ; No code that defines EFLAGS
      jcc ... EFLAGS<imp-use>

    Machine sink will come along, see that imul implicitly defines EFLAGS, but
    because it's "dead", it assumes that it can move imul into BB#2. But when it
    does, imul's "dead" imp-def of EFLAGS is raised from the dead (a zombie) and
    messes up the condition code for the jump (and pretty much anything else which
    relies upon it being correct).

    The solution is to know which pregs are live going into a basic block. However,
    that information isn't calculated at this point. Nor does the LiveVariables pass
    take into account non-allocatable physical registers. In lieu of this, we do a
    *very* conservative pass through the basic block to determine if a preg is live
    coming out of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105387 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd126f8504cebd3da253c264408671e8d8aa2541
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jun 3 07:51:58 2010 +0000

    Turns out gtest still prefers the system <tr1/tuple> over it's own
    implementation. Force the internal one to unbreak clang selfhost on linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105386 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab04129daf97c43423fffb3aaa71ce424b65edfc
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 3 04:07:48 2010 +0000

    Add first pass at darwin tls compiler support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fd6e7680dd96e18ccf9e8dee52535dbb59e207c
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Jun 3 04:04:09 2010 +0000

    arm_neon.h now makes it through clang and generates appropriate code for those functions which can use
    generic vector operators rather than __builtin_neon_*

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105380 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4dd544cccb428caf500442913cf623c01a0870a
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jun 3 04:02:59 2010 +0000

    One underscore, not two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a59d3580a904e61bf27617fbae05abc2aae5ac3
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jun 3 03:49:50 2010 +0000

    Implement expansion in type legalization for add/sub with overflow.  The
    expansion is the same as that used by LegalizeDAG.

    The resulting code sucks in terms of performance/codesize on x86-32 for a
    64-bit operation; I haven't looked into whether different expansions might be
    better in general.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 423329810cd003047abda749991441bb7832c344
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jun 3 01:47:31 2010 +0000

    Remove some already-fixed README entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01bee9fbff5960f1724f8442f203a5057f83ffe3
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jun 3 01:16:51 2010 +0000

    Remove README entry which no longer compiles to something sane.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92dde135870070d4281cb66bb75af47df5860e82
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Jun 3 01:01:48 2010 +0000

    Remove a fixed item, update a couple partially-fixed items.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105375 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2dcda33cf42c59515a08ed94b0ad978e6ae07a6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 3 00:39:06 2010 +0000

    Use the fast register allocator by default for -O0 builds.

    This affects both llvm-gcc and clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105372 91177308-0d34-0410-b5e6-96231b3b80d8

commit f21e3d5d6a297d175200f47e1a3a0cd71c4845ef
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jun 3 00:07:47 2010 +0000

    Use readsWritesVirtualRegister instead of counting uses and defs when inserting
    spills and reloads.

    This means that a partial define of a register causes a reload so the other
    parts of the register are preserved.

    The reload can be prevented by adding an <imp-def> operand for the full
    register. This is already done by the coalescer and live interval analysis where
    relevant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 124c682fe494716c461a75417b5700880a28ee8c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 2 23:22:11 2010 +0000

    Add full register <imp-def> operands when the coalescer is creating partial
    register updates.

    These operands tell the spiller that the other parts of the partially defined
    register are don't-care, and a reload is not necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4177f5897e0a74f5c2ff53bd9d7353f0bbb0b818
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 2 23:05:04 2010 +0000

    Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105360 91177308-0d34-0410-b5e6-96231b3b80d8

commit b50dfd12a4a7319efdcdef554c02fd91d8e24a9f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jun 2 23:04:26 2010 +0000

    Compulsive reformating. No functionalitical changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 267f2c5d89a6118047980b3e6ec0683313de8de3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jun 2 22:47:25 2010 +0000

    Slightly change the meaning of the reMaterialize target hook when the original
    instruction defines subregisters.

    Any existing subreg indices on the original instruction are preserved or
    composed with the new subreg index.

    Also substitute multiple operands mentioning the original register by using the
    new MachineInstr::substituteRegister() function. This is necessary because there
    will soon be <imp-def> operands added to non read-modify-write partial
    definitions. This instruction:

      %reg1234:foo = FLAP %reg1234<imp-def>

    will reMaterialize(%reg3333, bar) like this:

      %reg3333:bar-foo = FLAP %reg333:bar<imp-def>

    Finally, replace the TargetRegisterInfo pointer argument with a reference to
    indicate that it cannot be NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 446cd1b3223103d1c6948fe9303f5c7c0cbbab74
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 2 22:02:57 2010 +0000

    Update Readme and Makefiles for the new gtest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 504a512ef5f6b6ca9990fb0403a87eceb385d746
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 2 22:02:30 2010 +0000

    Merge gtest-1.5.0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55e5ad760f8c3cb37c78446d36e5a97121794d04
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 2 22:02:11 2010 +0000

    Merge gtest-1.4.0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105353 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9490ffecd69ad523cdff1e5c1d96ac72a4723c9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jun 2 22:01:25 2010 +0000

    Merge gtest-1.3.0.

    OSX users: make sure that CrashReporter is disabled when running unit tests.
    Death tests are enabled now so you'll get a ton of message boxes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105352 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf538f914ba496ef869179780339699562c9fa4b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 2 21:53:11 2010 +0000

    Clean up 80 column violations. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91a5acea7d67e2ede7c08411601f01da84113449
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 2 21:53:00 2010 +0000

    arm_neon.h emitter now mostly complete for the purposes of initial testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c7ae4e8f10343bdca1301ce1437b0223194f7e8
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 20:02:30 2010 +0000

    Remove the TargetRegisterClass member from CalleeSavedInfo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105344 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a88d3ac9aa402232faf6e29bd6d556ef69a0960
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Jun 2 19:35:46 2010 +0000

    Fix comment so it doesn't include comments which are irrelevant to the x86
    backend.  Add a FIXME noting what can be fixed here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105342 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba73342f7f68d3b0c4e7be56db60204a331e023e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Jun 2 19:13:40 2010 +0000

    Use comments to document non-obvious code rather than
    mailing list archives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b5ce6c1b65a79ec4a06655e7765e12babe5dd65
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 2 19:05:13 2010 +0000

    Skip identical instruction while calculating DBG_VALUE range.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105340 91177308-0d34-0410-b5e6-96231b3b80d8

commit d056b55c3a5edfdd228dae08b4e812d4ed38c763
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jun 2 18:54:47 2010 +0000

    Rename canCombinedSubRegIndex method to something more grammatically correct
    and tidy up the comment describing it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e178e2c947dfbb7146c12daea8a28a0b819db87
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 17:54:50 2010 +0000

    Replace ARM's getCalleeSavedRegClasses with a simpler solution

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105335 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4cb9926a0efbb7a881e35f1a7171965573c4f1b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 2 17:45:54 2010 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105333 91177308-0d34-0410-b5e6-96231b3b80d8

commit c21872ef8afe167fe70474320e9b4955e61e4a0f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jun 2 16:42:51 2010 +0000

    Use local small vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00bd6ea55ae152540500c93c3c19a7f695f801ab
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 15:44:20 2010 +0000

    Remove unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cedec81ee1aa2c4b4768afecf37de6667ccddb3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jun 2 15:29:36 2010 +0000

    Not all entries in the range will have an SUnit. Check for that when looking
    for debug information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68eb4ebbda4f1f05d9866366f919305508860c38
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 14:03:11 2010 +0000

    Update the documentation, getCalleeSavedRegClasses is not required anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94a70c7e1b73e4bc51220cee11cee95e61f170a8
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 13:53:17 2010 +0000

    cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 698bbefeddc8e79b5dc8ae0980fdd4116a4e56fc
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Jun 2 12:39:06 2010 +0000

    Remove uses of getCalleeSavedRegClasses from outside the
    backends and removes the virtual declaration. With that out of the way
    I should be able to cleanup one backend at a time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9617b2cb95c80b6dfec68846fc04ce20912758d4
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jun 2 08:37:30 2010 +0000

    Pacify recent gcc: remove a pointless const qualifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b3de2e2024453f4787cfd04d14023ccde999c00
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 2 07:14:28 2010 +0000

    Checkpoint; handle 'int' and 'void' correctly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 591bbb629737015f6b32fe7c456f88b37911cc52
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 2 06:17:19 2010 +0000

    Emit full function prototypes.  Definitions & typedefs to come.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105315 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37d915d0d4904c2a3d193bc7c5b19dceedb2c3ba
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jun 2 01:08:27 2010 +0000

    Enable machine cse of instructions which define physical registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105308 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05895eba2f2aa92e3d65831d7febf91f9b4bf62b
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Jun 2 00:34:55 2010 +0000

    Checkpoint arm_neon.h generation with tablegen

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 328ef85b90c5553f10083a29479c00e7a52aa96f
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Jun 2 00:27:18 2010 +0000

    Don't try to custom-lower 64-bit add-with-overflow and friends on x86-32; the
    x86 backend currently doesn't know how to handle them.

    This doesn't really fix anything because LegalizeTypes doesn't know how to
    handle them either.  We do get a better error message, though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105305 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccb152ab2bcc7c2395d3d190e9c31b9ea32e58d8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Jun 2 00:16:08 2010 +0000

    Fix an obvious mistake: don't change the operands until all of them have been
    checked and it is safe to proceed with the changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105304 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd94a979035f26d474c99dcafd72e3712cfec8dd
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Wed Jun 2 00:10:36 2010 +0000

    Remove outdated README entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60ef323181020522e89b2c042c6b318e72c59a3b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 23:48:44 2010 +0000

    Update debug information when breaking anti-dependencies. rdar://7759363

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 248977c48f041324da03b6e8c7f732fa636d8e70
Author: Sena Hunt <rideau3@gmail.com>
Date:   Tue Jun 1 23:29:39 2010 +0000

    Fix comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29c9ae4e4388a9848a23a2863e16c2bc6628b913
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 1 23:01:43 2010 +0000

    DwarfWrite is now smart enough to drop debug value pointing to undefined register.  Update this test to avoid this.

    iSel not properly lowring argument into a well formed DBG_VALUE in some cases is a separate issue and not related to the test in this testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1acbd14f2de309c7f4cb073f560c38a34b80cad6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jun 1 22:39:25 2010 +0000

    Properly compose subregister indices when coalescing.
    The comment about ordering of subreg indices is no longer true.
    This exposed a bug in the new substVirtReg method that is also fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105294 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfad7bdc597cfb3fd9f79f194d7524ebf5c3344c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 21:56:30 2010 +0000

    Remove unused code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105293 91177308-0d34-0410-b5e6-96231b3b80d8

commit a993a0e4d02919e22ec49c4997a8f9db2dded87d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 1 21:43:09 2010 +0000

    Ignore line number of debug value in undefined register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105292 91177308-0d34-0410-b5e6-96231b3b80d8

commit a53a6c9c11af6cb32c0f497abb702f758ad28f89
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 21:35:50 2010 +0000

    fix think-o

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82cf8922caf7d7fd84f76401657ee8186a1d542c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 21:09:47 2010 +0000

    Fix the allocation of shadow space for the Win64 calling convention
    in X86FastISel. Patch by Jan Sjodin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fe500870402e1efb3a3c4c5c17fb443be5bc832
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 21:06:46 2010 +0000

    Simplify things a bit more. Fix prototype to use SmallVectorImpl and
    change a few SmallVectors to vanilla C arrays.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105289 91177308-0d34-0410-b5e6-96231b3b80d8

commit 981cc9c323978a81035088c654ea3cef11b551f8
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 20:51:40 2010 +0000

    Fix the noalias checking so that it doesn't worry about
    an argument aliasing itself. Thanks Duncan!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 499f5f39d38fd36d8d4e932ffb4523d2a6290013
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jun 1 19:59:01 2010 +0000

    Keep track of incoming debug value of unused argument.
    Radar 7927666.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7254c3b5a4abacd180d652bbeddc5742f2e46576
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 18:35:14 2010 +0000

    Fill in missing support for ISD::FEXP, ISD::FPOWI, and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105283 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2fbd9ef291716688c217543fd0e8c8f1c0fc220
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 18:06:35 2010 +0000

    Add a FIXME

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34c1764e0bca85927e2546eb76fb94edde53d53d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 18:04:56 2010 +0000

    mirror of r105280 changes for LowerInvoke, which uses the same basic logic here

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09410132434cb5f67597321ecdf4fadb6374996c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 18:04:09 2010 +0000

    When processing function arguments when splitting live ranges across invokes,
    handle structs passed by value via an extract/insert pair, as a bitcast
    won't work on a struct. rdar://7742824

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4535ac067e9c739d4ff788e1d262544322c8b2e3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jun 1 17:56:41 2010 +0000

    Use SmallVector instead of std::vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d98275e4ac2b4de5e78812e16217476406e8a96
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 17:26:14 2010 +0000

    Delete unused variables (that weren't even getting expanded).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4207521345298a5bb1c35bfac2067239a20868dd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 17:08:56 2010 +0000

    Freebsd's sed doesn't support \< in regexps, and GNU sed doesn't
    support [[:<:]]. Use beginning-of-line and end-of-line anchors
    instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 812b1e127645119caeb8add759bba20b3e62a418
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jun 1 17:02:50 2010 +0000

    Refactor some SSE 2 unpack instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105276 91177308-0d34-0410-b5e6-96231b3b80d8

commit becf61cb7b54694812eb40c10c5a1978c7730d36
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 16:31:34 2010 +0000

    Don't call flush() at a library level which isn't checking for errors
    and doesn't know where the output is going.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18f7c5d347ce1b44a616dba06b7b9e6f7625c625
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 16:22:27 2010 +0000

    Fix a spello affecting platforms where the configure check fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57c687f376aab55e4783138d3da4e359d10ba40a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 16:10:08 2010 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9633cdd12f4652c2814b35ca9627552a5bffde4e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 14:56:56 2010 +0000

    -retain-symbols-file is not what it seems. Update the makefiles
    and configury to use --version-script.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105271 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3dab335ff0d8e9ddf0d25cc9f8ae9037a00b9c9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jun 1 14:09:29 2010 +0000

    Fix extra fread after EOF, non-wires-crossed version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30b1a2ab9dff5aebc7e3fcf0c224a37e0aa4c074
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Tue Jun 1 13:34:47 2010 +0000

    Fix handling of 'load' nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e38ffe3ede67eb29fffb5bc3a52e09844a730f6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon May 31 21:47:24 2010 +0000

    Debreak test for non-Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d0ea477892dcf5ab0156f2f066597fe8224c071
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon May 31 21:00:26 2010 +0000

    Fix PR7272: when inlining through a callsite with byval arguments,
    the newly created allocas may be used by inlined calls, so these
    need to have their tail call flags cleared.  Fixes PR7272.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79c1dbaa2b4841adb75df44642b9c12d25f5530b
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 31 20:39:10 2010 +0000

    Add a test for the llvm-gcc commit in r90200.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105253 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fdf4437a099b587533aae1614975117aad59c33
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 31 17:30:14 2010 +0000

    fix PR6623: when optimizing for size, don't inline memcpy/memsets
    that are too large.  This causes the freebsd bootloader to be too
    large apparently.

    It's unclear if this should be an -Os or -Oz thing.  Thoughts welcome.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105228 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb0ed4c104e2857443656ab08d23827061a32f26
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 31 17:27:17 2010 +0000

    upgrade and filecheckize this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48d75c7a9e7acac2aa13ebb007de830b96c592b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 31 17:12:23 2010 +0000

    the 'limit' argument to FindOptimalMemOpLowering is unsigned, not uint64_t.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105226 91177308-0d34-0410-b5e6-96231b3b80d8

commit db07661adcb78134c2eaaf29b6b552af03a9e562
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 31 17:10:45 2010 +0000

    revert r105223 which broke all my testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09b4e9e2967776331c3bd15368734049d7b5440a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 31 16:13:45 2010 +0000

    Fix count so that it doesn't make an extra fread call after
    EOF is detected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ffa4780af1b211de77b599ed5e87b7821a060a4
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon May 31 12:50:41 2010 +0000

    Avoid swap when a copy suffices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105220 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42732c4c81bb9860763bb2adf6fb10231ff521c6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon May 31 06:16:35 2010 +0000

    The memcpy intrinsic only takes i8* for %src and %dst, so cast them to that
    first. Fixes PR7265.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 142b7f942068d4930b8f434334f1d4fca7abf445
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun May 30 13:14:21 2010 +0000

    Use `llvm::next' instead of `next' to make VC++ 2010 happy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0be16759d52bb9d1b4b3e2dcaf94ffb2b44a5ede
Author: Sena Hunt <rideau3@gmail.com>
Date:   Sun May 30 07:21:42 2010 +0000

    Allow for creation of clang DeclNodes tables.

    The StmtNodes generator has been generalized to allow for the
    creation of DeclNodes tables as well, and another emitter was
    added for DeclContexts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b619a63024653e69ed4cd4aefb289e1369bbebe
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 29 19:25:39 2010 +0000

    Some A9 load/store cleanups

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105109 91177308-0d34-0410-b5e6-96231b3b80d8

commit a04280ee30d11c7d8a5ae4bf06e0e1f701283c58
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 29 19:25:34 2010 +0000

    Some rough approximations for load/stores on A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105108 91177308-0d34-0410-b5e6-96231b3b80d8

commit f813c4bfc09863822b8ec03a0f811fb844f2eeee
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 29 19:25:29 2010 +0000

    NEON/VFP stuff can be issued only via Pipe1 on A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105107 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0a4a232966dc657f28d770a4e13c36cff034c9b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 29 19:25:17 2010 +0000

    Add some integer instruction itineraries for A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ebf31f1e70814e5a92957e104f56e1670cda276
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 29 17:53:24 2010 +0000

    Reorder some code in SelectionDAGBuilder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105105 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae791405da42e5efd9c833a985c7f923d78a1ae2
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 29 17:03:36 2010 +0000

    SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue
    shouldn't have a TargetLoweringInfo member. And FunctionLoweringInfo::set
    doesn't needs its EnableFastISel argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ceae9e22c39f1baaa04a5adf786cefc0971e6a0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat May 29 14:03:51 2010 +0000

    Remove unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8256d36366abd2c0ff543e6bf5b8acfd7b6cfbac
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat May 29 06:44:15 2010 +0000

    Document aggregate operation constant expressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105098 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1e92f0e41f4bf04d0c70df3d9eccac517af1fa3
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat May 29 06:11:16 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105096 91177308-0d34-0410-b5e6-96231b3b80d8

commit a68a282d0c3fb2ccaaac1422d498a255732dc30d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 29 02:23:39 2010 +0000

    Remove schedule-livein-copies. It's not being used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4848f755f38761eb3d807a17c40f76d1aaf5807d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 29 01:35:22 2010 +0000

    Fix PR7193: if sibling call address can take a register, make sure there are enough registers available by counting inreg arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105092 91177308-0d34-0410-b5e6-96231b3b80d8

commit b59df925947071f7569e8eb8956f71a716810171
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat May 29 00:14:14 2010 +0000

    Handle composed subreg indices when processing REQ_SEQUENCE instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a68c5ead94a34227b82df37978abd6491abffef
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 29 00:06:36 2010 +0000

    Doh. Machine LICM is re-initializing the CSE map over and over. Patch by Anna Zaks. rdar://8037934.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33759f6c80ee155dbf1c51333329f4314e8f6772
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 28 23:48:31 2010 +0000

    Emit TargetRegisterInfo::composeSubRegIndices().
    Also verify that all subregister indices compose unambiguously.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105064 91177308-0d34-0410-b5e6-96231b3b80d8

commit c78b799a1812d589951fad556b839c6b6db00ba9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 28 23:48:29 2010 +0000

    Merge the SystemZ subreg_even32 SubRegIndex into subreg_32bit. The SubRegIndices
    were overspecified when inheriting sub-subregisters, for instance:

    R0Q:subreg_even32 = R0Q:subreg_32bit = R0Q:subreg_even:subreg_32bit.

    This meant that composeSubRegIndices(subreg_even, subreg_32bit) was ambiguous.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2077abae009145bdb2022ae3cf211c8dc0b2d0c4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 28 23:26:21 2010 +0000

    Fix some latency computation bugs: if the use is not a machine opcode do not just return zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105061 91177308-0d34-0410-b5e6-96231b3b80d8

commit e523d1f892a839518ead6230678fa8c1f4a8c653
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 28 23:25:23 2010 +0000

    Schedule high latency instructions for latency reduction even if they are not vfp / NEON instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105060 91177308-0d34-0410-b5e6-96231b3b80d8

commit e955c84cd6882abd1b6b099b03113b73196f6fcb
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 28 23:24:28 2010 +0000

    Fix comment typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105059 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0ecbf85f919feb9cb74f6804efbd344804e4711
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri May 28 22:47:03 2010 +0000

    More SSE 1 & 2 merge, this time with logical instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ab8487e0e13c1641f339ee3c6af268ee040b9d1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 22:31:51 2010 +0000

    Fix AliasDebugger to be aware of operand values too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105012 91177308-0d34-0410-b5e6-96231b3b80d8

commit fae2b7309444db1e42e46e9749523bdff1106393
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 21:43:57 2010 +0000

    Add lint checks for function attributes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5162ec1276088f0a489692ec6802dc7e0a0da87f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 21:41:37 2010 +0000

    Split the logic behind CastInst::isNoopCast into a separate static function,
    as is done with most other cast opcode predicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aaeac689d3fbd42059e82a087c6a8c1f0f051f1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 21:22:45 2010 +0000

    Fix a comment; vectors are not a special case here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ad415b932cce19ea9e7a5c2dbd1cde20fcd9c68
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 28 21:20:21 2010 +0000

    MC/X86: Add alias for movzx.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105005 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56506785a21f9cefbaea106347875f703c95e6a2
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 28 20:59:10 2010 +0000

    MC/X86: Add alias for fwait.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105001 91177308-0d34-0410-b5e6-96231b3b80d8

commit b76fd35c63f9e764a6fb9bf439d0b3e5419dbe12
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 28 19:01:27 2010 +0000

    Fix the use of x86 control and debug registers so that the assertion failure in
    getX86RegNum() does not happen.  Patch by Shantonu Sen!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104994 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8f621139e7e15594403145fd69a7c963299f657
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 28 18:54:47 2010 +0000

    Fix Data Layout description of floating point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 609520feca705af2a2a89dadd21c54db9a5259c8
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 28 18:45:59 2010 +0000

    Add missing space; works for me.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f1dc05274332811076c8b25d7698999ff2bf46e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 28 18:18:53 2010 +0000

    Add a TargetRegisterInfo::composeSubRegIndices hook with a default
    implementation that is correct for most targets. Tablegen will override where
    needed.

    Add MachineOperand::subst{Virt,Phys}Reg methods that correctly handle existing
    subreg indices when sustituting registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44cd9641b43b77bf8a14206e4591bd9beadf9ac9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 28 18:03:48 2010 +0000

    correct retattr

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104980 91177308-0d34-0410-b5e6-96231b3b80d8

commit c52acefa9099d1b5f50dc501febdd61b431897eb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 28 17:51:20 2010 +0000

    Cosmetic cleanup. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104974 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6301fce3f4bf01412673ad3e77240d22afa4a8d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 17:44:00 2010 +0000

    Fix lint's memcpy and memmove checks, and its basic block traversal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96087869c9f3de6bebbf2c9d1ddc4839816bbbe2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 28 17:37:40 2010 +0000

    make sure accesses to set up the jmpbuf don't get moved after it by the scheduler. Add a missing \n.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104967 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb179a5f31294ca19ad73200ae582d81ab173002
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 17:13:49 2010 +0000

    Fix more whitespace to be consistent with AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104963 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb8d54da9226f80db30990983f3881ad5f5ac247
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 17:07:41 2010 +0000

    Fix whitespace to be more consistent with AsmPrinter's style.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bf988e4be2f78b3bfd0741a38bab4fcd5e6c8d6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 28 17:06:30 2010 +0000

    Fix more tests that depended on the default register allocator choice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104961 91177308-0d34-0410-b5e6-96231b3b80d8

commit e40b2b376c37ace3728d6e75f65b17898cda7451
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:50:23 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104959 91177308-0d34-0410-b5e6-96231b3b80d8

commit f16ea6ab4bfefed32ab8b46481bcc1dc61e204e6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:50:01 2010 +0000

    Fix a redundant-return warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104958 91177308-0d34-0410-b5e6-96231b3b80d8

commit e099c20a7ef7dd56145a7db96ec601fdb1e2358e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:45:33 2010 +0000

    Detect self-referential values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7eede2f0e936f78b2cdf8d8341c30cafb4503cc0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:44:04 2010 +0000

    Remove this va_arg test, which is no longer applicable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72df2fcb07ed1824dcba6e44158fae647c8c1b95
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri May 28 16:41:07 2010 +0000

    Revert 104841, 104842, 104876 due to buildbot failures.  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c58f4157db5811dfee16c06e2fd2db09d0b9c04
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:34:49 2010 +0000

    Eli pointed out that va_arg instruction result values don't
    reference the stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104951 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3f2082449b83bbbdfc9b272aea24816fc6debf2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:21:24 2010 +0000

    Teach lint how to look through simple store+load pairs and other
    effective no-op constructs, to make it more effective on
    unoptimized IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104950 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2d9eb701433db05ec91bef60c1329853db47c66
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:19:17 2010 +0000

    Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of
    lib/Transforms/Utils and into lib/Analysis so that Analysis passes
    can use them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e699898cf928abb6d74b2e220ee61962f567afd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:12:08 2010 +0000

    ConstantFoldConstantExpression can theoretically return null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104948 91177308-0d34-0410-b5e6-96231b3b80d8

commit 834e197df3081aaea897b92d338b31588c319b02
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 16:06:09 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3226afacbe641444171a6da0aaf8adce9ac7c47c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 15:09:00 2010 +0000

    Teach instcombine to promote alloca array sizes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104945 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d42e1b12b17ac8518f63ce26b8d81c0af20ca08
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 15:07:59 2010 +0000

    Add a testcase for getelementptr index promotion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104944 91177308-0d34-0410-b5e6-96231b3b80d8

commit c23133424b88d00ca2948a219c296ed072381bb8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 04:33:42 2010 +0000

    Add a lint check for returning the address of stack memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e5ad99d4214d939a223f831dd48ce309674e55e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 04:33:04 2010 +0000

    Fix instcombine's handling of alloca to accept non-i32 types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 878408c50f304390a0f417bf844d694edb256451
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri May 28 02:19:08 2010 +0000

    Comment out some code in prep for actual .td file checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104927 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbfccc229403f5eb7908220ba6d497d4a54ea963
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 01:38:28 2010 +0000

    Bitcode support for allocas with arbitrary array size types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104915 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbf0624d8e3034f2aa33fd2bcaec838600c81025
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 28 01:29:50 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 885a78d1bcd955c7dccfd0a0a74815ed59f47236
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 28 01:17:51 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104913 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ce83bdc8e1f0da70eaa20a023fd79632904da03
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri May 28 01:15:28 2010 +0000

    Fix build breakage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71dfcfde022008c2d765e7ab465c7354484a16ed
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 28 01:14:11 2010 +0000

    Eliminate the restriction that the array size in an alloca must be i32.
    This will help reduce the amount of casting required on 64-bit targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104911 91177308-0d34-0410-b5e6-96231b3b80d8

commit adf6b6a497533b97116d820f6508d2a2d2781bc0
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri May 28 01:08:32 2010 +0000

    Add support to tablegen for auto-generating arm_neon.h from a tablegen description
    of the intrinsics.  The goal is to auto-generate both support for GCC-style (vector)
    and ARM-style (struct of vector) intrinsics.

    This is work in progress, but will be completed soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 115fbcc080b5d6dcec7f7b8db3191bb9819a0def
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri May 28 00:27:15 2010 +0000

    Add the cc_out operand for t2RSBrs instructions.  I missed this when I changed
    the instruction class for t2RSB to add that operand in svn r104582.
    Radar 8033757.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104907 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c55d770b5a8bdeaf4534bba0888b546fcb9046c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 27 23:57:25 2010 +0000

    Add a -regalloc=default option that chooses a register allocator based on the -O
    optimization level.

    This only really affects llc for now because both the llvm-gcc and clang front
    ends override the default register allocator. I intend to remove that code later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104904 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3eb73783e86aecf4f522443fc2525449515aecd
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 27 23:57:19 2010 +0000

    Remove ancient prototype.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7125d3b383782b7c0389f57c1678e09bf5577491
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 27 23:49:24 2010 +0000

    Update the saved stack pointer in the sjlj function context following either
    an alloca() or an llvm.stackrestore(). rdar://8031573

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104900 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1a2b61f928770df792a9e15dda6ca9e6bff27d7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 27 23:45:31 2010 +0000

    Use report_fatal_error, not llvm_unreachable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104899 91177308-0d34-0410-b5e6-96231b3b80d8

commit b17a350633cf9e308bc7fd45ad0f374e5cdb9bbb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 27 23:11:57 2010 +0000

    back out 104862/104869. Can reuse stacksave after all. Very cool.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11b338d5da087355d16dc2c8e6dcfb88e324cc5f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 23:11:55 2010 +0000

    Factor out the handler work from SignalHandler into a helper function,
    and change llvm::sys::RunInterruptHandlers to call that function directly
    instead of calling SignalHandler, because the rest of SignalHandler
    invokes side effects which aren't appropriate, including raising the
    signal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104896 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9680b9f81641c6905ed92d860c52f41e4802e0b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 27 22:08:38 2010 +0000

    llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d79dec220192f13d20c94bd8849436b91386619
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu May 27 21:33:19 2010 +0000

    MC/X86: Add aliases for Jcc variants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104890 91177308-0d34-0410-b5e6-96231b3b80d8

commit 950336e802974c2b8df2c3038b3fee9043d5d639
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:51:54 2010 +0000

    Eliminate some unnessary Path::exists() calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93b880df4d28845314cd971d6d69f1a6a95f4e35
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:47:38 2010 +0000

    Make ParseIRFile and getLazyIRFileModule incoporate the underlying
    error message string into their own error message string, so that
    the information isn't lost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104887 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3cf390d5d9b2a240f29b9904b196ef41a01b78a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:26:51 2010 +0000

    Don't flush the raw_ostream in llvm::WriteBitcodeToFile; it's at
    the wrong level. Clients which need to leave the stream open but
    which still require the bitcode bits to be on disk should call
    flush themselves.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88c5a1d794037e7c96de4a1b8ec2ff1127d79c7a
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 27 20:25:04 2010 +0000

    Do not drop location info for inlined function args.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bc77037d122eda1824b2782e829dade36b8dbd5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 27 20:23:42 2010 +0000

    Fix some bad fall-throughs in a switch statement.  Both the 'Q' and 'R' cases
    should fall through to the 'H' case, but instead 'Q' was falling through to 'R'
    so that it would do the wrong thing for a big-endian ARM target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b0634c7a93a1b328a652c59d29a009b4446710b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:19:47 2010 +0000

    When handling raw_ostream errors manually, use clear_error() so that
    raw_ostream doesn't try to do its own error handling.

    Also, close the raw_ostream before checking for errors so that any
    errors that occur during closing are caught by the manual check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104882 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cfb51043342323c5c3b2d0b527dc76b8b6db076
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:17:28 2010 +0000

    When handling raw_ostream errors manually, use clear_error() so that
    raw_ostream doesn't try to do its own error handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104881 91177308-0d34-0410-b5e6-96231b3b80d8

commit c107ee0db733761734db5716c40ad8970ffc4f01
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu May 27 20:12:41 2010 +0000

    Mark some math lib intrinsic nodes Legal on SSE4.1.
    No functional effect as these nodes are not generated yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e99e75b58a4cb1071cdacd220c4d716daa67c34
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 20:06:51 2010 +0000

    Don't special-case stdout in llvm::WriteBitcodeToFile; just consider
    it to be the caller's responsibility to provide a stream in binary
    mode. This fixes a layering violation and avoids an outs() call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59186d60b7036c66e1a0da2061d0f82e1b1be453
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu May 27 19:57:51 2010 +0000

    Adjust test case for lexical block pruning.  Follow-on to r104842 and Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104876 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc8c0b695fff4f9158df7d52718be9854eff5bac
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 19:52:20 2010 +0000

    Don't create an output stream when output is disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57f69831db15b97e572d9172de874fa9016de075
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 19:48:08 2010 +0000

    Simplify raw_ostream usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 886503babdfae9ac1999b0ead4b12414b63f6a54
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 19:47:36 2010 +0000

    Avoid calling outs() and fouts() when the stream isn't really needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104873 91177308-0d34-0410-b5e6-96231b3b80d8

commit d934a748108f02a71761716a5b14a7bc3b1823a0
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 27 19:46:38 2010 +0000

    Let's try one more time to match  patterns.
    The goal is to match following 3 lines. In otherwords, a temp. label between to DEBUG_VALUE comments.
            ;DEBUG_VALUE: bar:x <- undef   ## 2010-01-18-Inlined-Debug.c:7
    Ltmp1:
            ;DEBUG_VALUE: foo:__x <- undef ## 2010-01-18-Inlined-Debug.c:5

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c5c127614ca671d2acefea7292a78e467adae70
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu May 27 19:09:06 2010 +0000

    Teach instCombine to remove malloc+free if malloc's only uses are comparisons
    to null.  Patch by Matti Niemenmaa.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104871 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c250c7204b9ddfd8b96f159d8c9525b0ac8b44d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 27 18:52:11 2010 +0000

    hook ISD::STACKADDR to an intrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104869 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1512931a4fbc1769111c522df281445a4cd200c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 18:43:40 2010 +0000

    FastISel doesn't yet handle callee-pop functions.

    To support this, move IsCalleePop from X86ISelLowering to X86Subtarget.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104866 91177308-0d34-0410-b5e6-96231b3b80d8

commit b62fdb7982e392b67de6623356a6eb336d5593c4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 27 18:23:48 2010 +0000

    add ISD::STACKADDR to get the current stack pointer. Will be used by sjlj EH
    to update the jmpbuf in the presence of VLAs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 174e2a4004b07ebca7c7dbbd95284535d785151a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu May 27 18:17:40 2010 +0000

    Merge basic binops SSE 1 & 2 instruction classes. This is a step towards refactoring
    common code between SSE versions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8896eabdcb416b9c0948fa3073d8be940f18dc69
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 27 17:51:08 2010 +0000

    Temp. labels number may not match for all configurations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104858 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf5d349774a3f8629fbcc0f9a6baefc0dedbec66
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 17:31:51 2010 +0000

    Add basic error checking to MemoryBuffer::getSTDIN.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104855 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2b2c5b016e0e073f9f6f3b25716cabc3bb97975
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 17:18:38 2010 +0000

    Use the return value of getMagicNumber instead of using a
    separate canRead() call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104853 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0d166d0b65c669f041346e2ef4cffb840e53560
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 17:14:10 2010 +0000

    Don't bother clearing the Magic string when the magic number
    can't be read, since it isn't cleared on other error paths.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cfc0fb4d14f6c26d28c5bbc3d1eda3ea5748e1b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 17:12:23 2010 +0000

    Don't bother checking canRead() before calling getMagicNumber();
    getMagicNumber() does its own error checking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f70b0fc29cf0f061933dc6e6a0777be00657b1c
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 27 16:47:30 2010 +0000

    inlined function's arguments need a label to mark the start point because they are not directly attached to current function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 544a98ff5f8f3b06e572f6d055323927013ccf46
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 16:25:05 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104845 91177308-0d34-0410-b5e6-96231b3b80d8

commit e03004d28d7baafe7bd81db72a2ec709d33e4fdf
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu May 27 16:16:54 2010 +0000

    Support for nested functions/classes in debug output.  Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c08f539b7fcf2f7b2b673f9ba008063408d9b52
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 27 16:15:28 2010 +0000

    Delete a spurious svn:mergeinfo property.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104840 91177308-0d34-0410-b5e6-96231b3b80d8

commit afae8357c7c5a0ce76451bdd3c3dd03d72687461
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 27 15:04:02 2010 +0000

    remove incorrect GCCBuiltin<> usage

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e78fe61aa4e5abda59a883c1eb45a1c259cf136
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu May 27 09:48:47 2010 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d2efd69dba3ab1629cbc7942b80ce781853e4ab
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu May 27 09:32:38 2010 +0000

    rename test to represent meaningful date

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104831 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcf821a0e63a08df552c0827f7ac452f1ddce0d0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 27 05:31:32 2010 +0000

    AsmMatcher: Ensure classes are totally ordered, so we can std::sort them reliably.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 650d5757fec92dd8e04575963dccf1cefee556ca
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 27 05:30:36 2010 +0000

    Add a test for llvm-gcc svn r104726.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92197c0777dd29d77c38e282f82193f956d9c091
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 27 00:53:40 2010 +0000

    Add a quick test of relocations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104794 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1134c23f232c8a59d22c33a5f1aa337d9d3db10
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 27 00:52:31 2010 +0000

    Rearrange conditionals so we don't get caught with the correct type as wrong.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104793 91177308-0d34-0410-b5e6-96231b3b80d8

commit da1a758d3312185c8504751e8e33507243c1bd1d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 23:55:23 2010 +0000

    Simplify. Eliminate unneeded debug_loc entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4659df222ec101a4af1cbb598497c70840591a26
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 22:40:28 2010 +0000

    Avoid counting InlineAsm as a call - it prevents loop unrolling.
    PR7026
    Patch by Pekka Jääskeläinen!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65f020211d23787be9ca3edf51e3b8ee18460d53
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 22:28:53 2010 +0000

    Fix Lint printing warnings multiple times. Remove the ErrorStr
    option from lintModule, which was an artifact from being
    based on Verifier code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104765 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b016d8d90695c1efc02eb20a14a1d6bfaf4065
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 22:21:28 2010 +0000

    AsmMatcher/X86: Mark _REV instructions as "code gen only", they aren't expected
    to be matched.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104757 91177308-0d34-0410-b5e6-96231b3b80d8

commit f45db39499c17dffd834f8899ae1e5a71c11c885
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 22:21:25 2010 +0000

    Reinstate checking of stackrestore, with checking for both Read
    and Write, and add a comment explaining this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104756 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd5a05f4f2f3c2f087f9d55c2c5c3d1c462b6c8c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 22:15:07 2010 +0000

    Check that inherited subregisters all have a direct SubRegIndex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104755 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c0adc1e337c8ebc69897cca1a05c65efc5f92eb
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 22:15:03 2010 +0000

    Give SubRegIndex names to all ARM subregisters. This will be required by
    TableGen shortly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104754 91177308-0d34-0410-b5e6-96231b3b80d8

commit a393601998d011e210ece0dd6feb95d39f86d75c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 22:00:10 2010 +0000

    Stackrestore is not a load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af9887a95df987b25f28055139b75f0fee3b5c9
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 21:56:15 2010 +0000

    Fix a missing quote.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104750 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21e425da461d1ccdc9618bd3b899315d323ed85
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed May 26 21:53:50 2010 +0000

    Add FIXME comment to remove this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104749 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca57dfddc45a422f72de8fd68a2cd459bb612e02
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 21:50:41 2010 +0000

    Remove a TODO which isn't practical.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88c3773281e2ffae9bcf2884c1390ccbe978f27b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 21:48:55 2010 +0000

    MC: Add TargetMachine support for setting the value of MCRelaxAll with
    -filetype=obj.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104747 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea52e10c19b43c6a33752c1a1ddf26940b04719d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 21:47:28 2010 +0000

    Add StringRef::compare_numeric and use it to sort TableGen register records.

    This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
    Not R1, R10, R11, R12, R2, R3, ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5512324e3b7e1fc3f4cf21b8a3cc32ac886aeba2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 21:46:36 2010 +0000

    Implement checking of the tail keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9eb6d4c331902dc0d8c29b6472c8db5e538f8d70
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 21:35:55 2010 +0000

    Suppress emmission of empty subreg/superreg/alias sets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 829ae72a15e37c3a23d6eaff00f8453b0dea909f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 21:23:46 2010 +0000

    There is no need to force an line number entry (using previous location) for a temp label at unknown location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c41bd561468f8f9ebf3f722fe28054f38c7876b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed May 26 20:39:00 2010 +0000

    Add "setjmp_syscall", "savectx", "qsetjmp", "vfork", "getcontext" to the list of
    usual suspects that could "return twice".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85d39efd1e048905c12f8706475bc0b44bc56a1d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 20:37:03 2010 +0000

    MC: When running with -mc-relax-all, we can eagerly relax instructions and avoid creating unnecessary MCInstFragments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104736 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffad4fab9f93b59d568872c423c76dabda032559
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 20:37:00 2010 +0000

    MC/Mach-O: Factor out EmitInstTo{Fragment,Data} for emitting MCInst's as MCInstFragments or appending onto an MCDataFragment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104735 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2fd040d2375d5e5f3ebbdfcd2d0347f77491169
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 26 20:22:18 2010 +0000

    Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in
    ISD::. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06d1308478c8b4eec9a1d08bcf2a25f7035410b7
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 20:18:50 2010 +0000

    Update debug info when live-in reg is copied into a vreg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104732 91177308-0d34-0410-b5e6-96231b3b80d8

commit c971f093887c1f049d8c0c7fe4e5fb32133f164d
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed May 26 20:10:45 2010 +0000

    Fix the x86 move to/from segment register instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104731 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6c8b980e4f8f2fa9a433393491c2332a0cbfd87
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed May 26 19:46:12 2010 +0000

    Move the check for "calls setjmp" to SelectionDAGISel so that it can be used by
    more than just the stack slot coloring algorithm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50b7691b5d9ec2b9b6ee5f7e4e33e2fd3218b4c6
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 19:37:24 2010 +0000

    Identify instructions, that needs a label to mark debug info entity, in advance. This simplifies beginScope().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104720 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6f7a644af0afa89faf698ba92a59260d564ad76
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 18:52:00 2010 +0000

    Eliminate the use of PriorityQueue and just use a std::vector,
    implementing pop with a linear search for a "best" element. The priority
    queue was a neat idea, but in practice the comparison functions depend
    on dynamic information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104718 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18ab6fca10dd67ddd5692190a63f160c0ca5ae34
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 18:37:48 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104717 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee27ccb8fc5e53feab7875b20834dc979084252b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 18:34:12 2010 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104716 91177308-0d34-0410-b5e6-96231b3b80d8

commit 102fbf26c4e6e530f5c231d481f13e5b328d38b5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 18:15:06 2010 +0000

    MC: Change RelaxInstruction to only take the input and output instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104713 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1398d298b85825cf50348ef46a6d825ddf14db91
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 18:03:53 2010 +0000

    Fix a typo in a comment that Gabor noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 545aea10157dadf1c3626bf256318d041288003c
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed May 26 17:55:45 2010 +0000

    Testcase for 104624/104619/PR7191/8023512.
    Reduced from one provided by Duncan Sands, thanks!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65bdf6dbcbdecbab811ca120f24b5039f306e60d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 17:50:16 2010 +0000

    MC: Eliminate an unnecessary copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 742c4c9fb1ffe0a4c92c4c0c2c4e073c350a2f14
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 17:45:29 2010 +0000

    MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query it
    before encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89698d7ab3993c2664fcd7def20e12c2f3fdd1ff
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 17:42:50 2010 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3947764f226992ea4080553be607c7d2eca019a5
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 26 17:29:32 2010 +0000

    Do not construct location list backword!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104705 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4de5bf3f165c7cb4131b11f4fd63fdf7ebce12a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 17:27:12 2010 +0000

    Replace the SubRegSet tablegen class with a less error-prone mechanism.

    A Register with subregisters must also provide SubRegIndices for adressing the
    subregisters. TableGen automatically inherits indices for sub-subregisters to
    minimize typing.

    CompositeIndices may be specified for the weirder cases such as the XMM sub_sd
    index that returns the same register, and ARM NEON Q registers where both D
    subregs have ssub_0 and ssub_1 sub-subregs.

    It is now required that all subregisters are named by an index, and a future
    patch will also require inherited subregisters to be named. This is necessary to
    allow composite subregister indices to be reduced to a single index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a54cd923c34fdbffa0c4c46e6537531b0a5f9f4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 26 16:21:41 2010 +0000

    Add entry for llvm.eh.sjlj.longjmp. PR4999.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60a1b419b8875abcd235aeee374c713c38b083b1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 15:18:56 2010 +0000

    MC: Eliminate MCAsmFixup, replace with MCFixup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104699 91177308-0d34-0410-b5e6-96231b3b80d8

commit d900fd1940a09bc70fe69e352ab94111ff3c0d58
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 15:18:40 2010 +0000

    MC: Simplify MCFixup and increase the available offset size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104698 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc6d55b72ad7f9e81e231f3e512849e82a9e4dad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 15:18:31 2010 +0000

    MC: Use accessors for access to MCAsmFixup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104697 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6407e48db2fcde0d59ede04326c5bd7e3c1f30a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 15:18:13 2010 +0000

    MC: Change MCInst::dump_pretty to not include a trailing newline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d2ecd08b90ace335b2d257c8826d0694d49cf92
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed May 26 09:45:04 2010 +0000

    Kill unneeded SExt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c624156675216c240b6d09f522516e0f0d3bfc9
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Wed May 26 08:10:02 2010 +0000

    SRetReturnReg was set in LowerFormalArguments(). So only assert it here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af5e88fb21c798172ac4a24245a4c56b9f7fd15
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 26 06:50:57 2010 +0000

    MC: Eliminate MCFragment vtable, which was unnecessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104689 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc6f8caddf4ff4e45e05278ab7e81f5717b01873
Author: Shih-wei Liao <sliao@google.com>
Date:   Wed May 26 04:46:50 2010 +0000

    Coding style change (Adding 1 missing space.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 931327ce218c01dafbd7792c658a252c658afdc7
Author: Shih-wei Liao <sliao@google.com>
Date:   Wed May 26 03:21:39 2010 +0000

    Adding the missing implementation for ARM::SBFX and ARM::UBFX.
    Fixing http://llvm.org/bugs/show_bug.cgi?id=7225.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d83d832fd9040b90dd859342222b2ee89478de7
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 26 01:59:55 2010 +0000

    Temporarily revert r104655 as it's breaking the bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ad20473e66e29774fc773561b877e38ac1123ee
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 26 01:22:21 2010 +0000

    fix off by 1 (insn) error in eh.sjlj.setjmp thumb code sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104661 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6f2b1322d33a27c866ebcbad842210c44251613
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 01:21:14 2010 +0000

    Revert "Replace the SubRegSet tablegen class with a less error-prone mechanism."

    This reverts commit 104654.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104660 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2c0189dfb51ebf85438fed964c1e06a9c51272e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 01:10:55 2010 +0000

    Change push_all to a non-virtual function and implement it in the
    base class, since all the implementations are the same.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 012a263e4f35837e6665143a32490d72a6140740
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 00:56:27 2010 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104658 91177308-0d34-0410-b5e6-96231b3b80d8

commit b12b35205ed5e3370c4150b246519a269e3f2e84
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 26 00:55:59 2010 +0000

    Trim #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104657 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc844ba7c382e45d2666cc7a9e911da65a8f7d86
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed May 26 00:32:40 2010 +0000

    Dale and Evan suggested putting the "check for setjmp" much earlier in the
    machine code generation. That's a good idea, so I made it so.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ae6cb4cd862031b3205198595687c15768978c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 26 00:28:19 2010 +0000

    Replace the SubRegSet tablegen class with a less error-prone mechanism.

    A Register with subregisters must also provide SubRegIndices for adressing the
    subregisters. TableGen automatically inherits indices for sub-subregisters to
    minimize typing.

    CompositeIndices may be specified for the weirder cases such as the XMM sub_sd
    index that returns the same register, and ARM NEON Q registers where both D
    subregs have ssub_0 and ssub_1 sub-subregs.

    It is now required that all subregisters are named by an index, and a future
    patch will also require inherited subregisters to be named. This is necessary to
    allow composite subregister indices to be reduced to a single index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fae86ffd7aab755ffe138888295eccc223a9231
Author: Shih-wei Liao <sliao@google.com>
Date:   Wed May 26 00:25:05 2010 +0000

    Adding the missing implementation of Bitfield's "clear" and "insert".
    Fixing http://llvm.org/bugs/show_bug.cgi?id=7222.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 523893def2e3b5941b5a464bf5f306d3aa199ae0
Author: Shih-wei Liao <sliao@google.com>
Date:   Wed May 26 00:02:28 2010 +0000

    To handle s* registers in emitVFPLoadStoreMultipleInstruction().
    Fixing http://llvm.org/bugs/show_bug.cgi?id=7221.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61905bef11c177d9fe74415ce340d5e325ab9e36
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 26 00:02:12 2010 +0000

    Start adding mach-o tls reloc support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104651 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0f059e23a7df8cdf5b6cdcae9b4871ce94794b3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 23:43:18 2010 +0000

    Drop the SuperregHashTable. It is essentially the same as SubregHashTable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88c7296cde7fcf928d89420972e8c998c8e90629
Author: Devang Patel <dpatel@apple.com>
Date:   Tue May 25 23:40:22 2010 +0000

    First cut at supporting .debug_loc section.
    This is used to track variable information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2adf3bcb3e902055cb305068d9c0db3edc5c8a21
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue May 25 22:53:43 2010 +0000

    Properly promote operands when optimizing a single-character memcmp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104648 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd319269aba3af9216bbb31aa102534feb3f3846
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 25 22:02:22 2010 +0000

    Constify function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37f944d667e035463db8c5ddc249dee2f4d50952
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 25 21:59:42 2010 +0000

    Do one map lookup instead of two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104645 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4cfd3d54b283e7cc31cd70216319e3ba89ce45d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 25 21:50:35 2010 +0000

    Fix a missing newline in debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cf54474a4817b2de06ac5065d6b3532602e81aa
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 25 21:49:43 2010 +0000

    Move the verbose asm output up a bit so it can be used in the special cases
    as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104642 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3a142c6d8f356bf79545c77ac58461f5782e220
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 25 21:44:26 2010 +0000

    Okay, bear with me here...

    If you have a setjmp/longjmp situation, it's possible for stack slot coloring to
    reuse a stack slot before it's really dead. For instance, if we have something
    like this:

    1:  y = g;
        x = sigsetjmp(env, 0);
        switch (x) {
        case 1:
          /* ... */
          goto run;
        case 0:
      run:
          do_run(); /* marked as "no return" */
          break;
        case 3:
          if (...) {
            /* ... */
            goto run;
          }
          /* ... */
          break;
        }

    2:  g = y;

    "y" may be put onto the stack, so the expression "g = y" is relying upon the
    fact that the stack slot containing "y" isn't modified between (1) and (2). But
    it can be, because of the "no return" calls in there. A longjmp might come back
    with 3, modify the stack slot, and then go to case 0. And it's perfectly
    acceptable to reuse the stack slot there because there's no CFG flow from case 3
    to (2).

    The fix is to disable certain optimizations in these situations. Ideally, we'd
    disable them for all "returns twice" functions. But we don't support that
    attribute. Check for "setjmp" and "sigsetjmp" instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104640 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5560e8620f0db18d9334d17b647ffed273af4ca
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 25 21:28:50 2010 +0000

    Add support for initialized global data for darwin tls.  Update comments
    and testcases accordingly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 868642f82b65b4c6cff8e857f5485098765ab310
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue May 25 20:52:34 2010 +0000

    Changed the encoding of X86 floating point stack operations where both operands
    are st(0).  These can be encoded using an opcode for storing in st(0) or using
    an opcode for storing in st(i), where i can also be 0.  To allow testing with
    the darwin assembler and get a matching binary the opcode for storing in st(0)
    is now used.  To do this the same logical trick is use from the darwin assembler
    in converting things like this:

    fmul %st(0), %st

    into this:

    fmul %st(0)

    by looking for the second operand being X86::ST0 for specific floating point
    mnemonics then removing the second X86::ST0 operand.  This also has the add
    benefit to allow things like:

    fmul %st(1), %st

    that llvm-mc did not assemble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39c347f56b9245ea27d8e83ddf2c8e890e026113
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue May 25 20:40:10 2010 +0000

    Removing test; Chris thinks it's better to have the
    bug go untested than have a testcase this large.  So be it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f8e6898e0a9b1582d82eab34ddacd627b2945e4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 19:49:40 2010 +0000

    Separate unrelated cases that once shared a numeric value

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104629 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1bf2ccc0c47d07504c07cf4e69ea43554529a6b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 19:49:38 2010 +0000

    Print symbolic SubRegIndex names on machine operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83e8eae203a2158fc02f0baf46adfb97058cca78
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 19:49:33 2010 +0000

    Remove NumberHack entirely.

    SubRegIndex instances are now numbered uniquely the same way Register instances
    are - in lexicographical order by name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 550ba067dc3c71756569727700a098b661e48257
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 25 19:49:32 2010 +0000

    MC/X86: Add a hack to allow recognizing 'cmpltps' and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104626 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2badaca3325f7fde0c04d9e4daeaceefef92514
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue May 25 18:47:23 2010 +0000

    Fix another variant of PR 7191.  Also add a testcase
    Mon Ping provided; unfortunately bugpoint failed to
    reduce it, but I think it's important to have a test for
    this in the suite.  8023512.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8630a33549dd401c3eaa6bb28a51f7ad6b9883dc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 25 18:40:53 2010 +0000

    MC/X86: Define explicit immediate forms of cmp{ss,sd,ps,pd}.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104622 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8989b0190ef1c4b5c13c6182be31487c79f0667
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue May 25 18:16:58 2010 +0000

    The BT64ri8 record in X86Instr64bit.td was missing a REX_W which is required
    for the 64-bit version of the Bit Test instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 135b3d318799a77a9a6aa00e3189b18337144c70
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue May 25 17:50:03 2010 +0000

    Fix PR 7191.  I have been unable to create a .ll file that fails, sorry.
    (oye, a word which should be better known to people writing tree
    traversals, means grandchild.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104619 91177308-0d34-0410-b5e6-96231b3b80d8

commit b70c67bde575385e48a14ddc029a53c0524ae758
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 25 17:33:22 2010 +0000

    Make sure aeskeygenassist uses an unsigned immediate field.

    Fixes rdar://8017638

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104617 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d93a2bce650df20836b966e22ecdbca2bd67cf8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 17:21:04 2010 +0000

    Ignore NumberHack and give each SubRegIndex instance a unique enum value instead.

    This passes lit tests, but I'll give it a go through the buildbots to smoke out
    any remaining places that depend on the old SubRegIndex numbering.

    Then I'll remove NumberHack entirely.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104615 91177308-0d34-0410-b5e6-96231b3b80d8

commit dca37fd85b25ed9cbf1282352bcf3671137e78c8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 17:04:18 2010 +0000

    Use enums instead of literals for SystemZ subregisters

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24da98847fbb3ab27da883bb38c1efd93d17b810
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 17:04:16 2010 +0000

    Use enums instead of literals for X86 subregisters.

    The cases in getMatchingSuperRegClass cannot be broken up until the enums have
    unique values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24a61bd63f6a9987721883eb3f056eed14dccead
Author: Zonr Chang <zonr.xchg@gmail.com>
Date:   Tue May 25 10:23:52 2010 +0000

    Add missing implementation to the materialization of VFP misc. instructions (vmrs, vmsr and vmov (immediate))

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104588 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9d5ec019227edc4ee7d44a5c870a9b7fcba50cd
Author: Zonr Chang <zonr.xchg@gmail.com>
Date:   Tue May 25 08:42:45 2010 +0000

    Add support to MOVimm32 using movt/movw for ARM JIT

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bcfd1f41c0ba23cd751f9c81b1acd0ecffd5d49
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 25 04:51:47 2010 +0000

    Allow t2MOVsrl_flag and t2MOVsra_flag instructions to be predicated.
    I don't know of any particular reason why that would be important, but
    neither can I see any reason to disallow it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104583 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51e46acc0df3ba77cc9a8cd7d61ffbbf29962a06
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 25 04:43:08 2010 +0000

    Fix up instruction classes for Thumb2 RSB instructions to be consistent with
    Thumb2 ADD and SUB instructions: allow RSB instructions be changed to set the
    condition codes, and allow RSBS instructions to be predicated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104582 91177308-0d34-0410-b5e6-96231b3b80d8

commit b30fef28ca298ad73907cba1ef1de351c7ef4bb4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 25 03:36:52 2010 +0000

    Clean up indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 095d1733e88ec56ab8373bc6ee48adebd026154f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 00:15:18 2010 +0000

    Disable invalid coalescer assertion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104574 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b5c3141a5cee0cdd1385a4e36fae7fc3794eaaf
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 25 00:15:15 2010 +0000

    Use enums instead of literals in the ARM backend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e66bd99a40a4e4a70eed0f9cb72491c41ac50fa
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon May 24 23:16:04 2010 +0000

    Print out the name of the function during SSC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de1f332ec447254b097318a6f9cad575f89a539
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 23:03:18 2010 +0000

    Switch SubRegSet to using symbolic SubRegIndices

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104571 91177308-0d34-0410-b5e6-96231b3b80d8

commit c50f6f21bab8fb57fdd3688a4c22c09e4685ffe3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 24 22:41:19 2010 +0000

    Allow Thumb2 MVN instructions to set condition codes.  The immediate operand
    version of t2MVN already allowed that, but not the register versions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f6c747da7b9dcfbdbf48d8b09a39e500ccba9f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 24 21:55:47 2010 +0000

    diaggroup categories should take precedence over diag-specific groups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09321cb8350ea76cf6ea46d261bd5b22db264dac
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 21:47:01 2010 +0000

    Lose the dummies

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0626c2e98ae438e8a7987f1da9a43c5447d6a4f3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 21:46:58 2010 +0000

    Replace the tablegen RegisterClass field SubRegClassList with an alist-like data
    structure that represents a mapping without any dependencies on SubRegIndex
    numbering.

    This brings us closer to being able to remove the explicit SubRegIndex
    numbering, and it is now possible to specify any mapping without inventing
    *_INVALID register classes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d25bcfefaa9088bdd7d86ae01c6ba7d5273bbcc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 24 21:33:37 2010 +0000

    Avoid adding duplicate function live-in's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104560 91177308-0d34-0410-b5e6-96231b3b80d8

commit d711549705150ccae29af1d3273a235516f8692a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 24 20:51:08 2010 +0000

    Fix an mmx movd encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104552 91177308-0d34-0410-b5e6-96231b3b80d8

commit f85e43da315667a4f5da8e14caf65dc11910eb47
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon May 24 20:32:23 2010 +0000

    MC/X86: Add aliases for CMOVcc variants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79a981372e5735a3d94d42f8cc0c17d7abc1957e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 24 20:08:34 2010 +0000

    Clean up some extra whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104544 91177308-0d34-0410-b5e6-96231b3b80d8

commit afac9e144a02c64267dc8d3b4a18239e526abcfd
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 24 18:44:06 2010 +0000

    Thumb2 RSBS instructions were being printed without the 'S' suffix.
    Fix it by changing the T2I_rbin_s_is multiclass to handle the CPSR
    output and 'S' suffix in the same way as T2I_bin_s_irs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89782d67a2bbac35b97ede78e87cfcaad013878c
Author: Devang Patel <dpatel@apple.com>
Date:   Mon May 24 18:26:49 2010 +0000

    Do not emit line number entries for unknown debug values.
    This fixes recent regression in store.exp from gdb testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104524 91177308-0d34-0410-b5e6-96231b3b80d8

commit fad45951e39f919a0321d4e136ba267e118e21f2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 24 18:00:18 2010 +0000

    LR is in GPR, not tGPR even in Thumb1 mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104518 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2b0fd2c42fffaf0254a1f1de83428c5d79bc872
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 17:55:38 2010 +0000

    Add SubRegIndex defs to PowerPC. It looks like the CR subregister indices are
    never used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104517 91177308-0d34-0410-b5e6-96231b3b80d8

commit e368d5d3d013a3b70d1b0cfed659c8ee7b2560c2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 17:43:01 2010 +0000

    Use SubRegIndex in SystemZ.

    Anton, please review the change to SystemZAsmPrinter.cpp. It could be a bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6410fc2c49c0f8378aef3bf2efe004f9ae771d25
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 17:42:58 2010 +0000

    SubRegIndex'ize Mips

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0687c3ecf2159ea632cfec981d205e9611aa9f9b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 17:42:55 2010 +0000

    SubRegIndex'ize MSP430

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104513 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8469770d549cbaf4f7072b26f33a5e9ad5ea796
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 17:13:28 2010 +0000

    Fix a few places that depended on the numeric value of subreg indices.
    Add assertions in places that depend on consecutive indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104510 91177308-0d34-0410-b5e6-96231b3b80d8

commit c802b0215f1f53a31d9b2fa9d7b5843782d683cc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 16:54:32 2010 +0000

    Switch ARMRegisterInfo.td to use SubRegIndex and eliminate the parallel enums
    from ARMRegisterInfo.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104508 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6a0f2af58fd5f4ea32fd8cb1cb5b659f5b354b8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 14:48:17 2010 +0000

    Rename X86 subregister indices to something shorter.
    Use the tablegen-produced enums.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697e8b39e2aea688cc41f456f81ef0b7c992efba
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 24 14:48:12 2010 +0000

    Add the SubRegIndex TableGen class.

    This is the beginning of purely symbolic subregister indices, but we need a bit
    of jiggling before the explicit numeric indices can be completely removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 562ff871776e4f9de14ed2dfcc5aa3492eb07041
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Mon May 24 12:24:11 2010 +0000

    Encode the Caml frametable by following what the comment says: the number of descriptors
    is first emitted, and StackOffsets are emitted in 16 bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104488 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9d73337976ddae28d6343ba442d6fe38a418ca9
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon May 24 07:49:55 2010 +0000

    Apply timeouts and memory limits in more places.  In particular, when
    bugpoint does "Running the code generator to test for a crash" this
    gets you a crash if llc goes into an infinite loop or uses up vast
    amounts of memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b92980748884677c1916a39b04be4fa260e534e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun May 23 18:36:38 2010 +0000

    llvm-mc: Use EmitIntValue where possible, which makes the API calls from the AsmParser and CodeGen line up better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104467 91177308-0d34-0410-b5e6-96231b3b80d8

commit bac4c3a48b3014114e2a71c506e2114c450345cc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun May 23 18:36:34 2010 +0000

    llvm-mc: Use AddBlankLine in asm parser. This makes transliteration match the input much more closely, and also makes the API calls from the AsmParser and CodeGen line up better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104466 91177308-0d34-0410-b5e6-96231b3b80d8

commit be05e21af241f627739a9908f79f93fc9c916cb2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun May 23 17:44:06 2010 +0000

    MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104463 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2323faa80eb6732357056b6a2273c5d7d27eb12
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun May 23 05:42:31 2010 +0000

    VDUP doesn't support vectors with 64-bit elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104455 91177308-0d34-0410-b5e6-96231b3b80d8

commit b11fe0e21c03e6f9934763a76d825bbe44961e8a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat May 22 21:02:33 2010 +0000

    MC/X86: Subdivide immediates a bit more, so that we properly recognize immediates based on the width of the target instruction. For example:
      addw $0xFFFF, %ax
    should match the same as
      addw $-1, %ax
    but we used to match it to the longer encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104453 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3125079238f6536097a880c00b51e61be4d8b13
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat May 22 21:02:29 2010 +0000

    tblgen/AsmMatcher: Change AsmOperandClass to allow a list of superclasses instead of just one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76afbdd833816aeb041bb5eac6fd80403ae9b197
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat May 22 06:37:33 2010 +0000

    MC/X86: Add alias for setz, setnz, jz, jnz.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97147feff2963db21c44c0574de68c3e8b65cbd8
Author: John Mosby <ojomojo@gmail.com>
Date:   Sat May 22 05:13:17 2010 +0000

    Trivial change to dump() function for SparseBitVector

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104433 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3e8177736f20430187bbb007e1f80ec8936af9d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 22 01:47:14 2010 +0000

    Implement @llvm.returnaddress. rdar://8015977.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104421 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0443476cd5434188c39b65f04aa0af9ce031fc4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat May 22 01:06:18 2010 +0000

    Implement eh.sjlj.longjmp for ARM. Clean up the intrinsic a bit.
    Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match
    longjmp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104419 91177308-0d34-0410-b5e6-96231b3b80d8

commit cefe72788e52704a1909e849791d568f8df76348
Author: Eric Christopher <echristo@apple.com>
Date:   Sat May 22 00:55:55 2010 +0000

    This test is darwin only.  Make it so(tm).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c0d15deee29dae5cdff4f8905db952e30fb4d78
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat May 22 00:23:12 2010 +0000

    Recognize more BUILD_VECTORs and VECTOR_SHUFFLEs that can be implemented by
    copying VFP subregs.  This exposed a bunch of dead code in the *spill-q.ll
    tests, so I tweaked those tests to keep that code from being optimized away.
    Radar 7872877.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94e516922e71275a88fae280b475556c654b3616
Author: Eric Christopher <echristo@apple.com>
Date:   Sat May 22 00:10:22 2010 +0000

    Add full bss data support for darwin tls variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104414 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecc53a173360c0e0e16318187b40c9de6c3c1fc0
Author: Devang Patel <dpatel@apple.com>
Date:   Sat May 22 00:04:14 2010 +0000

    Collect variable information during endFunction() instead of beginFunction().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104412 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaaf3068432a3b51d10ecc76af62e4715d57a53b
Author: Eric Christopher <echristo@apple.com>
Date:   Sat May 22 00:00:58 2010 +0000

    Add a new section and accessor for TLS data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104411 91177308-0d34-0410-b5e6-96231b3b80d8

commit d85b3fe2be6d7284de5d3b92eb8489b2a559dd07
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri May 21 23:53:55 2010 +0000

    Clean up extra whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88a585dbc930adcb0cb0fce00d2efb2eaead0b4d
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 21 23:40:03 2010 +0000

    Make this LookAheadLimit, not the uninitialized LookAheadLeft.

    Evan please verify!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b4a28f2dbcbab1a38f0e932cfab2f21f4d82cf4
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 23:16:21 2010 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c33ea2f482600bf0ddebc02c9f1c3ffa369019d
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 21 23:03:53 2010 +0000

    Expand on comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104396 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc8cb7b002531112a44d54dd51aa418c53777922
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 21 23:01:38 2010 +0000

    Added retl for 32-bit x86 and added retq for 64-bit x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104394 91177308-0d34-0410-b5e6-96231b3b80d8

commit e006c5b4bb78cd96a1a90bbd6bc8d2584580a4a6
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 21 22:39:11 2010 +0000

    Fix comment and whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104392 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3429fa66fead6ac14eeaeb068d8a386692d98d6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 22:20:54 2010 +0000

    expand on the llvm ir bitcode dox.  Patch by Peter Housel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104391 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee901be958008c8f2360492d5f50ebeb76d59f53
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 21 21:22:19 2010 +0000

    Allow machine cse to cse instructions which define physical registers. Controlled by option -machine-cse-phys-defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104385 91177308-0d34-0410-b5e6-96231b3b80d8

commit babb7a46f9b33a9c7264c9714bf7b6514dd9f36a
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 21 21:08:52 2010 +0000

    Fix section attribute name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104381 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3a79950ee24bc2df930282e8592d5a67026d727
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri May 21 21:05:32 2010 +0000

    Change CodeGen/ARM/2009-11-02-NegativeLane.ll to use 16-bit vector elements
    so that it will continue to test what it was meant to test when I commit a
    separate change for better support of BUILD_VECTOR and VECTOR_SHUFFLE for Neon.
    Fix a DAG combiner crash exposed by this test change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cd8cb299ed40c247fd12c1c8184641f6829e7f0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 21 20:53:24 2010 +0000

    - Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs
    that are aliases of the specified register.
    - Rename modifiesRegister to definesRegister since it's looking a def of the
    specific register or one of its super-registers. It's not looking for def of a
    sub-register or alias that could change the specified register.
    - Added modifiesRegister to look for defs of aliases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7365b2757ccd0ee45423132cda59df8db712aa1b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 21 20:02:01 2010 +0000

    Add MachineInstr::readsWritesVirtualRegister() to determine if an instruction
    reads or writes a register.

    This takes partial redefines and undef uses into account.

    Don't actually use it yet. That caused miscompiles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3433361b0fa592c26283392f49a9b59b2a0e4176
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 21 18:49:09 2010 +0000

    Simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104338 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e13d77165c88b68410260a006d9258f3de96548
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 21 18:44:47 2010 +0000

    Previous commit message should refer to 104308.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1923d07bb1583adb72a2f386df81f668086e81fb
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 21 18:40:15 2010 +0000

    Fix two bugs in 104348:
    Case where MMX is disabled wasn't handled right.
    MMX->MMX bitconverts are Legal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 342832ba40f0d161c9355ff7d796f863d42a28c9
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Fri May 21 18:23:56 2010 +0000

    added an assertion to MCObjectWriter::WriteBytes to catch misuse of the ZeroFillSize parameter

    If the size of the string is greater than the zero fill size, the function will attempt to write a very large string of zeros to the object file (~4GB on 32 bit platforms). This assertion will catch the scenario and crash the program before the write occurs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104334 91177308-0d34-0410-b5e6-96231b3b80d8

commit f58ba8df2648954a09ffd59e11c924812f82a519
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 18:17:54 2010 +0000

    now that fp reg kill insertion stuff happens as a separate
    pass after isel instead of being interlaced with it, we can
    trust that all the code for a function has been isel'd before
    it is run.

    The practical impact of this is that we can scan for machine
    instr phis instead of doing a fuzzy match on the LLVM BB for
    phi nodes.  Doing the fuzzy match required knowing when isel
    would produce an fp reg stack phi which was gross.  It was
    also wrong in cases where select got lowered to a branch
    tree because cmovs aren't available (PR6828).

    Just do the scan on machine phis which is simpler, faster
    and more correct.  This fixes PR6828.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104333 91177308-0d34-0410-b5e6-96231b3b80d8

commit b451b0eb2ad0f7f373a9a3f109c26fbf871ad083
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 18:02:42 2010 +0000

    Use less evil form of switch stmt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74c09f52d10e10182e2414213564fb67f35ef9e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 18:01:24 2010 +0000

    use continue to reduce nesting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104330 91177308-0d34-0410-b5e6-96231b3b80d8

commit a97633d6f54601581dac07144e40694a2efc537d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 17:57:03 2010 +0000

    pull a nested loop of this pass out to its own function,
    eliminating the gymnastics around the ContainsFPCode var.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104328 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85e63b63d3c8fb122ddab4436387e69e6c8da0be
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 17:49:07 2010 +0000

    modernize this pass a bit, fit in 80 columns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a3d9d682a533ca6e3aa0243f1e58cf94f9ee967
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 21 17:47:50 2010 +0000

    constify accessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ddf02be38d4fc6b102955efbf570d34290a780f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 21 17:36:32 2010 +0000

    Revert "Use MachineInstr::readsWritesVirtualRegister to determine if a register is read."

    This reverts r104322. I think it was causing miscompilations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f1c1ea06680cd95a28db7a51eb7e23ab69b4b88
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 21 16:42:30 2010 +0000

    Use MachineInstr::readsWritesVirtualRegister to determine if a register is read.
    This correctly handles partial redefines and undef uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2723487f707f2ff3a6eb5648a9be998bc6eac594
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 21 16:36:13 2010 +0000

    Teach VirtRegRewriter to handle spilling in instructions that have multiple
    definitions of the virtual register.

    This happens when spilling the registers produced by REG_SEQUENCE:

    %reg1047:5<def>, %reg1047:6<def>, %reg1047:7<def> = VLD3d8 %reg1033, 0, pred:14, pred:%reg0

    The rewriter would spill the register multiple times, dead store elimination
    tried to keep up, but ended up cutting the branch it was sitting on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9051580fd727482feb2769bcd86a0d09b8e715a5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 21 16:32:16 2010 +0000

    If the first definition of a virtual register is a partial redef, add an
    <imp-def> operand for the full register. This ensures that the full physical
    register is marked live after register allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104320 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff5578493bd4f964b4e1308bd30cfeed0aee68fa
Author: Matt Fleming <matt@console-pimps.org>
Date:   Fri May 21 12:54:43 2010 +0000

    Currently, createMachOStreamer() is invoked directly in llvm-mc which
    isn't ideal if we want to be able to use another object file format.

    Add a createObjectStreamer() factory method so that the correct object
    file streamer can be instantiated for a given target triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104318 91177308-0d34-0410-b5e6-96231b3b80d8

commit c194106d2bf1ea54183c31deb648abbca17f3b8c
Author: Matt Fleming <matt@console-pimps.org>
Date:   Fri May 21 11:39:07 2010 +0000

    Split out the x86_32 an x86_64 ELF backends as they handle ELF
    differently. This will make adding ELF support easier in the long run.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86cdf97d09f98eaa6a1e991355af5bf2c070ecdd
Author: Matt Fleming <matt@console-pimps.org>
Date:   Fri May 21 11:36:59 2010 +0000

    Add support for parsing the ELF .type assembler directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ca518e81b6de1281447d699dc6143f87f90bee8
Author: Lang Hames <lhames@gmail.com>
Date:   Fri May 21 03:04:04 2010 +0000

    Removed scaleNumbering method declaration from LiveInterval (not defined, not used).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104311 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad7c7e4710a47a0027a38b41ef20b69d6e2458db
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 21 00:52:33 2010 +0000

    Fix i64->f64 conversion, x86-64, -no-sse.  A bit
    tricky since there's a 3rd 64-bit type, MMX vectors.
    PR 7135.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104308 91177308-0d34-0410-b5e6-96231b3b80d8

commit a81dc1ff42f17c7996c763b84a1071686a5ef553
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 21 00:43:17 2010 +0000

    Change ARM scheduling default to list-hybrid if the target supports floating point instructions (and is not using soft float).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78664a0815881cd3408d50a7ca9d760c9684be31
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 21 00:42:32 2010 +0000

    Rename -pre-RA-sched=hybrid to -pre-RA-sched=list-hybrid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26b948ea394d25e8068b3e4dd5fa9fda4a9712b8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 21 00:27:55 2010 +0000

    Remove dead option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43e0fa7ad6c1716319d4cb7dd67e1cc346cc3ad4
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 21 00:10:20 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c29e753abd4911d802daf8ae5cb3dc0ed429a5f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 20 23:50:19 2010 +0000

    Fix __crashreport_info__ declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97af9aeeae9f951521b7050c105f968a6dc00df8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 20 23:26:43 2010 +0000

    Allow targets more controls on what nodes are scheduled by reg pressure, what for latency in hybrid mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104293 91177308-0d34-0410-b5e6-96231b3b80d8

commit a54de5866117481853081fe301719dbb605398f4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 22:46:54 2010 +0000

    DominatorTree.getNode can return null for unreachable blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a32cd051daf7e645dd022eabb4f3e4a74014d87
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 22:25:20 2010 +0000

    Minor code cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a66dc67ef38adb06ac2ff3022e527841b0e53a3
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu May 20 21:11:37 2010 +0000

    Print a space after the colon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104279 91177308-0d34-0410-b5e6-96231b3b80d8

commit e152e9a88ddd90f26fa1335a8c4c80d2bef86bc1
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:59:23 2010 +0000

    Make Solve check its own post-condition, to reduce clutter in the
    top-level LSRInstance logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c86e2af2e39df9d7bce30b10e216ef5597f9072
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:52:00 2010 +0000

    Add comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104276 91177308-0d34-0410-b5e6-96231b3b80d8

commit d23ab3530d4a34b78bafc78bd8a14fad1895cdc6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 20 20:36:29 2010 +0000

    MC/X86: Add movq alias for movabsq, to allow matching 64-bit immediates with movq.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cc7c8a6f8e8b2a148601a87eb28c832ca4416fc
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 20 20:35:24 2010 +0000

    Rename variable. add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104274 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef0823e173151c5aa899abbb10666e623e589ef7
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:33:18 2010 +0000

    More code cleanups. Use iterators instead of indices when indices
    aren't needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104273 91177308-0d34-0410-b5e6-96231b3b80d8

commit e773848a740509a2123aa87b81cc436a7d953e5a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 20 20:20:39 2010 +0000

    X86: Model i64i32imm properly, as a subclass of all immediates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bfdcff07baf82b58d5befc2bf5d71a74b673943
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 20 20:20:35 2010 +0000

    X86: Fix immediate type of FOO64i32 operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 627ca2c53cb452f545143fe60a69fc124d8475b6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 20 20:20:32 2010 +0000

    tblgen/Target: Add a isAsmParserOnly bit, and teach the disassembler to honor
    it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104270 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9fc0f660a20cc1b4cc5d31cca4049ecaf415ed5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:05:31 2010 +0000

    Fix OptimizeShadowIV to set Changed. Change OptimizeLoopTermCond to set
    Changed directly instead of using a return value.

    Rename FilterOutUndesirableDedicatedRegisters's Changed variable to
    distinguish it from LSRInstance's Changed member.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f6fad78dbbc3bbc9dc4d1fad4765b01d232bc3c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:00:41 2010 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104268 91177308-0d34-0410-b5e6-96231b3b80d8

commit abdf17839aeeff0484ce3d3aedb23e4271c1641b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 20:00:25 2010 +0000

    Simplify this code. Don't do a DomTreeNode lookup for each visited block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104267 91177308-0d34-0410-b5e6-96231b3b80d8

commit d83f871a8e181ce11ea88e33ae6e67a94fe3a59f
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 20 19:57:06 2010 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104265 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1835b3811de0c59d5330debf6d0032b81b7449d5
Author: Matt Fleming <matt@console-pimps.org>
Date:   Thu May 20 19:45:09 2010 +0000

    Grammar fix. This is a test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104264 91177308-0d34-0410-b5e6-96231b3b80d8

commit ceebcd8f8617a4527f4a367b2bd4dc9e8044a9ea
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 19:44:23 2010 +0000

    Minor code cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7822a1f5be392de23f8c67ca1ba2cd2f654adb5d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 19:26:52 2010 +0000

    When canonicalizing icmp operand order to put the loop invariant
    operand on the left, the interesting operand is on the right. This
    fixes a bug where LSR was failing to recognize ICmpZero uses,
    which led it to be unable to reverse the induction variable in the
    attached testcase.

    Delete test/CodeGen/X86/stack-color-with-reg-2.ll, because its test
    is extremely fragile and hard to meaningfully update.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96ad0633c63e7dccd8576dffb5fde3d7b2566d90
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu May 20 19:23:47 2010 +0000

    llvmc: Make segfault detection work on Win32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104261 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae804f4bf450fa2c3038c88c82b0aedb5d7b52c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 19:16:03 2010 +0000

    Set Changed to true when canonicalizing ICmp operand order; even though
    it isn't a very interesting change, it's a change nonetheless.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104260 91177308-0d34-0410-b5e6-96231b3b80d8

commit e576298951d44ee6c02c1d5cc04d739ebbe8b81f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 20 18:39:53 2010 +0000

    Handle Neon v2f64 and v2i64 vector shuffles as register copies.
    This fixes the remaining issue with pr7167.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6354b28eba0e941dff7efdf0d5e3098e1b84ca53
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 20 18:34:01 2010 +0000

    Remove dbg_value workaround and associated command line option

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69b85c7120b7ce8db196004dba02f515b0ece746
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 18:05:01 2010 +0000

    Delete MMX_MOVQ64gmr. It was the same as MMX_MOVQ64mr, but it didn't
    have a pattern and it had an invalid encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104244 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3fd0886e7a355aef2fa25a889b4c582472551df
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu May 20 17:48:26 2010 +0000

    The PPC MFCR instruction implicitly uses all 8 of the CR
    registers.  Currently it is not so marked, which leads to
    VCMPEQ instructions that feed into it getting deleted.
    If it is so marked, local RA complains about this sequence:
     vreg = MCRF  CR0
     MFCR  <kill of whatever preg got assigned to vreg>
    All current uses of this instruction are only interested in
    one of the 8 CR registers, so redefine MFCR to be a normal
    unary instruction with a CR input (which is emitted only as
    a comment).  That avoids all problems.  7739628.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104238 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02b64e2f613cf030d370983c8de05e1594017416
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 20 16:49:22 2010 +0000

    Strip llvm.dbg.lv also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104236 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5e66ec52600b329c39cfbf4c5432345905d5fd2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 16:41:11 2010 +0000

    Rename a variable to avoid shadowing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d7ab8acee5b191c64b16ab7979c79fe1ee015e7
Author: Devang Patel <dpatel@apple.com>
Date:   Thu May 20 16:36:41 2010 +0000

    Split DbgVariable. Eventually, variable info will be communicated through frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 014c61f31f5aed3d5d7a185b3c637a654221cd94
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 16:23:28 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ecad423ca2db9ba62ef8b862fe442f8869fe713
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 16:16:00 2010 +0000

    Fix assembly parsing and encoding of the pushf and popf family of
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17bfea099cde9414f3e6b6da37898ba7af8e91af
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 15:42:55 2010 +0000

    Set neverHasSideEffects on 64-bit pushf and popf, for consistency with
    16-bit and 32-bit pushf and popf.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104228 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc63b66d1cccc161d0afc1984d64dc482cb0fd3c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 15:17:54 2010 +0000

    Move the code for deleting BaseRegs and LSRUses into helper functions,
    and fix a bug that valgrind noticed where the code would std::swap an
    element with itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ed197ff033f270b741864c99cde308f76602d45
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu May 20 14:14:22 2010 +0000

    Reduce string trashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14d36c54723ca1bb6ce057a1c18c01e08c80924a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 20 06:13:19 2010 +0000

    Add a hybrid bottom up scheduler that reduce register usage while avoiding
    pipeline stall. It's useful for targets like ARM cortex-a8. NEON has a lot
    of long latency instructions so a strict register pressure reduction
    scheduler does not work well.
    Early experiments show this speeds up some NEON loops by over 30%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104216 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6edb12c29e3f0b698c8d0003ee3dedba6e62e66
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu May 20 03:30:09 2010 +0000

    Fix typo in comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104209 91177308-0d34-0410-b5e6-96231b3b80d8

commit 020e496f8722818009970dac24e2259b3f99fabe
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 01:35:50 2010 +0000

    Define the x86 pause instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66d779d36a9cf7dda36435a98ea8a1e47e842573
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 20 01:23:41 2010 +0000

    Fix the sfence instruction to use MRM_F8 instead of MRM7r, since it
    doesn't have a register operand. Also, use I instead of PSI, for
    consistency with mfence and lfence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28adf5a19ba28462e1b786dda32500a230c15094
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 20 00:59:30 2010 +0000

    Fix build by actually declaring the variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4003e877dbe134c9f05e08e4f63431300068c5df
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 20 00:49:07 2010 +0000

    Partial code for emitting thread local bss data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ecad9a4ba7589a7f893a8872e9b345b6c535a1c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu May 20 00:27:10 2010 +0000

    Match "4" or "8" depending upon if it's 32- or 64-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d758d010dccfa4b953e0ad227b4d104dd58a843
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 20 00:07:13 2010 +0000

    Once more, with feeling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 176928366fdca3da8b16e9c83e1b367335145320
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 23:56:09 2010 +0000

    lit: Add another place to look for bash.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4382c82d692d56c04b0d5cef482c27e26b0e4282
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 19 23:43:12 2010 +0000

    Teach LSR how to cope better with unrolled loops on targets where
    the addressing modes don't make this trivially easy. This allows
    it to avoid falling into the less precise heuristics in more
    cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104186 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4bde2176d935142d9b1adf178c8f00eb36ecffa
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed May 19 23:42:58 2010 +0000

    Optimize away insertelement of an undef value.  This shows up in
    test/Codegen/ARM/reg_sequence.ll but it doesn't affect the generated code
    because the coalescer cleans it up.  Radar 7998853.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b5dd20584fb4f0b88b965cb50a70e5c38f44a57
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 19 23:34:33 2010 +0000

    fix rdar://7986634 - match instruction opcodes case insensitively.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104183 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9e1688e208d479f3fee03f0adf53fd38539e9d2
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed May 19 23:33:26 2010 +0000

    Testcase for r104181.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72119b3c1f0ce55a2f2e6cc1e7ac2449a63e0d89
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 19 22:57:47 2010 +0000

    Enable preserving debug information through post-RA scheduling

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a5cf411380559ec41bb774f78b909084e6ee023
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 19 22:57:06 2010 +0000

    Fix the post-RA instruction scheduler to handle instructions referenced by
    more than one dbg_value instruction. rdar://7759363

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b0db0e91124907b31797da05f44ef5200ae3a1e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 22:42:23 2010 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104173 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1cc0de6a7e2582d984c14834a083042f267f2bf
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 19 21:58:28 2010 +0000

    Revert r104165.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c05f183b1530be2072d2f34f7563f7f1e786993
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 19 21:36:05 2010 +0000

    Add support for partial redefs to the fast register allocator.

    A partial redef now triggers a reload if required. Also don't add
    <imp-def,dead> operands for physical superregisters.

    Kill flags are still treated as full register kills, and <imp-use,kill> operands
    are added for physical superregisters as before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44bfa21f725d0031d82052d6419ffc78ae11dd13
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 19 21:26:53 2010 +0000

    There is no need to maintain InsnsBeginScopeSet separately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104165 91177308-0d34-0410-b5e6-96231b3b80d8

commit e986a419946c673e5fa74418634fd6dd48eff3cc
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 19 21:19:42 2010 +0000

    A more combo tls testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104163 91177308-0d34-0410-b5e6-96231b3b80d8

commit b51138c8d084b944d09bf53fc24a8553033f562b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 19 20:36:22 2010 +0000

    Add MachineInstr::readsVirtualRegister() in preparation for proper handling of
    partial redefines.

    We are going to treat a partial redefine of a virtual register as a
    read-modify-write:

      %reg1024:6 = OP

    Unless the register is fully clobbered:

      %reg1024:6 = OP, %reg1024<imp-def>

    MachineInstr::readsVirtualRegister() knows the difference. The first case is a
    read, the second isn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104149 91177308-0d34-0410-b5e6-96231b3b80d8

commit f782728e8d09956ac328e191adfc33645310ff8b
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 19 20:35:15 2010 +0000

    Few more simple tls testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ccbc4bf84f52f9613c65af62503e888728c0553
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 20:19:50 2010 +0000

    Code refactoring: pull SchedPreference enum from TargetLowering.h to TargetMachine.h and put it in its own namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104147 91177308-0d34-0410-b5e6-96231b3b80d8

commit d76b4e9abcc3e12050555cbe928a075d4a1ee53b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 19 20:08:00 2010 +0000

    TwoAddressInstructionPass doesn't really know how to merge live intervals when
    lowering REG_SEQUENCE instructions.

    Insert copies for REG_SEQUENCE sources not killed to avoid breaking later passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104146 91177308-0d34-0410-b5e6-96231b3b80d8

commit e71f02d7b1fa3bbf1c22a455e963048b287e5d81
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed May 19 19:24:32 2010 +0000

    llvmc: report an error if a child process segfaults.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f81dca6bf234a3a3366e0f07c7b35cf6c08566d
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 19 18:59:37 2010 +0000

    Attempt to run this test on x86 only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d8412f1e411f714f8288109ed50ded4e37e7596
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed May 19 18:58:37 2010 +0000

    Testcase to go with 104141.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104142 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd0251ae06516dfbe23020b33c3b371e8858ecfc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed May 19 18:48:32 2010 +0000

    When expanding a vector_shuffle, the element type may not be legal and may
    need to be promoted.  The BUILD_VECTOR and EXTRACT_VECTOR_ELT nodes generated
    here already allow the promoted type to be used without further changes, so
    just do the promotion.  This fixes part of pr7167.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a97ba3e18f3f99288d7c32cfe673728ccb28509
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 17:20:58 2010 +0000

    MC/X86: Add missing entry for TAILJMP_1 to getRelaxedOpcode().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104122 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff7f7842d051bf26f5c3ab6a242b3262c2b0aefb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 15:26:43 2010 +0000

    MC/X86: Lower TAILCALLd[64] to JMP_1, to allow relaxation and to avoid same
    prefix byte problem as in r104062.
     - As a total hack to keep the TAILCALL markers in the output, which some tests depend on, this invents a new TAILJMP_1 instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f10a43638a04de1633cea1bf08406983125f387
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 08:07:12 2010 +0000

    MC/X86: Strip spurious operands from TAILJMPr64 as we do for CALL64r and
    CALL64pcrel32, for the same reason.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104116 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ec53c5cfab48d010fdb62416ae5cffc5c701c3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 07:28:01 2010 +0000

    t2LEApcrel and tLEApcrel are re-materializable. This makes it possible to hoist more loads during machine LICM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31e47e39db81019481adc08766edceae744a546e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 07:26:50 2010 +0000

    Use 'adr' for LEApcrel and LEApcrel. Mark LEApcrel re-materializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104114 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef845938100ddb4a7b4639cce9992567ec75e458
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Wed May 19 07:00:17 2010 +0000

    Update autoconf/automake versions in the documentation to match the versions used in Autogen.sh

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4db82649ca5d4353885221489fc2d35f2632e3ec
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 06:20:44 2010 +0000

    MC/X86: Lower MOV{8,16,32,64}{rm,mr} to fixed-register forms, as appropriate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104112 91177308-0d34-0410-b5e6-96231b3b80d8

commit e39c49a04ede78ba3662bc1e3699cb37a96c5472
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 06:07:03 2010 +0000

    Mark pattern-less mayLoad / mayStore instructions neverHasSideEffects. These do not have other un-modeled side effects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98effb34c5166adadfe30c5850fdfc227b3736e9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 06:06:09 2010 +0000

    Target instruction selection should copy memoperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c05f889864963c1995aaefa69721f7d9d65de80
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 19 04:31:36 2010 +0000

    MC/X86: Strip spurious operands from CALL64r as we do for CALL64pcrel32, to
    avoid same prefix byte problem as in r104062.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c57d8198db725d3ce0f3a3901e53d5a61fc151f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 01:52:25 2010 +0000

    Mark a few more pattern-less instructions with neverHasSideEffects. This is especially important on instructions like t2LEApcreal which are prime candidate for machine LICM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45d5afa0972049ff319ce750b339ffdb766fb711
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 19 01:21:34 2010 +0000

    Add a comment explaining why this code uses Append mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 292cb14a52b4814d0712e854c7b0692d513014f1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 19 01:08:17 2010 +0000

    Intrinsics which do a vector compare (results are all zero or all ones) are modeled as icmp / fcmp + sext. This is turned into a vsetcc by dag combine (yes, not a good long term solution). The targets can then isel the vsetcc to the appropriate instruction.

    The trouble arises when the result of a vector cmp + sext is then and'ed with all ones. Instcombine will turn it into a vector cmp + zext, dag combiner will miss turning it into a vsetcc and hell breaks loose after that.

    Teach dag combine to turn a vector cpm + zest into a vsetcc + and 1. This fixes rdar://7923010.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104094 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33d7a9151b6e7ad06a7790eaaad5e9f003b401fd
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 19 00:53:19 2010 +0000

    Factor out the code for picking integer arithmetic with immediate
    opcodes into a helper function. This fixes a few places in the code
    which were not properly selecting the 8-bit-immediate opcodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104091 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8da188e00e751110ed354dce7220b194e09380e
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 19 00:22:04 2010 +0000

    Add a test to make sure that we're lowering the shift amount correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104090 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5aa319660dd1ae35e0115e902dba913101867c2
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 23:55:57 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104089 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4db189191ec4ad21973d00be767db4129ea8c103
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 23:48:08 2010 +0000

    Fix the predicate which checks for non-sensical formulae which have
    constants in registers which partially cancel out their immediate fields.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7363b48278d51fe4d3549393641bce27b068de2e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 23:42:37 2010 +0000

    Factor out the code for recomputing an LSRUse's Regs set after some
    of its formulae have been removed into a helper function, and also
    teach it how to update the RegUseTracker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104087 91177308-0d34-0410-b5e6-96231b3b80d8

commit e55cfb82886fc569114393b86d9facffc87ac0a8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 18 23:19:42 2010 +0000

    Fix a crash when debugging the coalescer.  DebugValue instructions are not
    in the coalescer's instruction map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104086 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7e99ec6650ce159bb18643c3847c9ef2e8b2451
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:51:59 2010 +0000

    Factor out code for estimating search space complexity into a helper
    function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104082 91177308-0d34-0410-b5e6-96231b3b80d8

commit da41f2ed7518e7bf3d7d9110456ddb1e70d700c5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:41:32 2010 +0000

    Add some more debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b21c0ca44ca85b5734def3a382c20e0592c15b8
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:39:15 2010 +0000

    Factor out the code for deleting a formula from an LSRUse into
    a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104079 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9300083ef23e4bc3a9744922debfa3e131616135
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:37:37 2010 +0000

    Make some debug output more informative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1272f49924314a6da05a93649adef92859b3e785
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:35:55 2010 +0000

    Print an error message in Formula::print if the HasBaseReg flag
    is inconsistent with the BaseRegs field. It's not print's job to
    assert on an invalid condition, but it can make one more obvious.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104077 91177308-0d34-0410-b5e6-96231b3b80d8

commit efb88d626a709b35f3c6eab5477317d6830593eb
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 22:33:00 2010 +0000

    Rename RegUseTracker's RegUses member to RegUsesMap to avoid
    confusion with LSRInstance's RegUses member.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e7e95d6f1badfd671b2bf9ccce12274f8c0f0ca
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 18 22:20:09 2010 +0000

    Remember to update VirtRegLastUse when spilling without killing before a call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52336fa3e92bfb5ab7c271a9fad53c7f304542e4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 21:54:15 2010 +0000

    Teach mode load folding and unfolding code about CMP32ri8 and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104068 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99d8b380e97660c3587f8cc92052fe5877300bf
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 18 21:47:08 2010 +0000

    Don't eliminate frame pointers from leaf functions if "--disable-fp-elim" is
    specified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b733269772d8593a2f110133c0e9b2c995fa83e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 21:42:03 2010 +0000

    When converting a test to a cmp to fold a load, use the cmp that has an
    8-bit immediate field rather than one with a wider immediate field.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4825032455195c238a2e3c5c9040511eaf33cc
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 18 21:40:20 2010 +0000

    Quick test to make sure we're emitting the tbss section correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104063 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd8b9dd8a6c4e3c5d80092ba980b29ea5f193d93
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue May 18 21:40:18 2010 +0000

    make mcinstlower remove all but the first operand to CALL64pcrel32.
    The register use operands (e.g. the first argument is passed in a
    register) is currently being modeled as a normal register use,
    instead of correctly being an implicit use.  This causes the operand
    to get propagated onto the mcinst, which was causing the encoder to
    emit a rex prefix byte, which generates an invalid call.

    This fixes rdar://7998435

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104062 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85e7978187ea22c0d0578bdefffa260a9c4b0045
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 18 21:31:17 2010 +0000

    Sink dag combine's post index load / store code that swap base ptr and index into the target hook. Only the target knows whether the swap is safe. In Thumb2 mode, the offset must be an immediate. rdar://7998649

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104060 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfa6e2232cef660a22f3a118f017c729cec8611e
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 18 21:26:41 2010 +0000

    Implement EmitTBSSSymbol for MachOStreamer.

    Fixes build failure as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 799f7cc12edd3dda58ebf47b553eb79645f5cf84
Author: mike-m <mikem.llvm@gmail.com>
Date:   Tue May 18 21:22:12 2010 +0000

    Fix enum to address array bounds regression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3307aed52df7c71950270a6c160f61a51d623f78
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 18 21:16:04 2010 +0000

    Make EmitTBSSSymbol take a section argument so that we can find it later.
    Fix up callers and users.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4860af13ecd01c7cbfb60b2846e2a46eb2b8281a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 18 21:10:50 2010 +0000

    Properly handle multiple definitions of a virtual register in the same
    instruction.

    This can happen on ARM:

    >> %reg1035:5<def>, %reg1035:6<def> = VLD1q16 %reg1028, 0, pred:14, pred:%reg0
    Regs: Q0=%reg1032* R0=%reg1028* R1=%reg1029* R2 R3=%reg1031*
    Killing last use: %reg1028
    Allocating %reg1035 from QPR
    Assigning %reg1035 to Q1
    << %D2<def>, %D3<def> = VLD1q16 %R0<kill>, 0, pred:14, pred:%reg0, %Q1<imp-def>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d38494632ae7b708f8d2b2f68781079d70de66c
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue May 18 20:47:04 2010 +0000

    Test passed on ppc, to my surprise; if it worked
    there it may work everywhere...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104053 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84ed75467bb8b274ea03baf38dcb51938897c5be
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 18 20:07:47 2010 +0000

    Continuously refine the register class of REG_SEQUENCE def with all the source registers and sub-register indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104051 91177308-0d34-0410-b5e6-96231b3b80d8

commit c461cb2cfed23791600741671dd4f84d702ba5af
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 18 20:03:28 2010 +0000

    Fix PR7162: Use source register classes and sub-indices to determine the correct register class of the definitions of REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08f4e18381fa1df655fbd37591f9d94263715964
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue May 18 19:03:51 2010 +0000

    Testcase for llvm-gcc checkin 104042.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104043 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa93fd32900b775564904d2e21f06b9679a8d6e8
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue May 18 18:09:20 2010 +0000

    Incorporate Daniel's suggestion and use !isdigit(CurPtr[0]) and not
    CurPtr[0] == '\n' when testing the character after a "0b" when looking
    to see if it part of a something like "jmp 0b".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104039 91177308-0d34-0410-b5e6-96231b3b80d8

commit adc6d21673e51acde72ef84b168bc86cad00ed61
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue May 18 17:51:35 2010 +0000

    Fixed the problem with a branch to "0b" that was not parsed by llvm-mc
    correctly.  The Lexer was incorrectly eating the newline casusing it to branch
    to address 0.  Updated the test case to use a "0:" label and a branch to "0b".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0462365341397d971647364f2e4708b6b5189dda
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 18 17:31:12 2010 +0000

    Teach the machine code verifier to use getSubRegisterRegClass().

    The old approach was wrong. It had an off-by-one error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78dec53094bfa4ff091c143c2d86a0cff40f21f2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 18 17:28:24 2010 +0000

    MC/Mach-O: Implement support for setting indirect symbol table offset in section header.

    Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104033 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0274e36cfcf0dba4669468d760ec89830449863
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 18 17:28:20 2010 +0000

    MC/Mach-O: Remove some FIXMEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 444b81206a2baf31bb7a23535662a205cbdbdc91
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 18 17:28:17 2010 +0000

    MC/Mach-O: Fail faster/harder when we see .file, which isn't yet supported.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104031 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc03475bafeece32c66c21807f33a827a55d8a09
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 18 17:22:24 2010 +0000

    MC/X86: Implement custom lowering to make sure we match things like
      X86::ADC32ri $0, %eax
    to
      X86::ADC32i32 $0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c2dbb3462e01b8f13be802d9d190063efb5b68b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 18 17:22:19 2010 +0000

    llc (et al): Add support for --show-encoding and --show-inst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104029 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2f75377c836911a20e5d4a901e5faf89113f3cc
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 18 15:25:14 2010 +0000

    Usage of O_NONBLOCK in bjam is now confirmed as a bug and fixed upstream.
    Update the comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 108fdb6868b94b6bec46b118a0850b35caa5d30c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue May 18 12:15:34 2010 +0000

    Simplify MCContext::(Next|Get)Instance

    - Allocate MCLabels in the context so they don't leak.
    - Avoid duplicated densemap lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5460fab81c88c089e4471e97263951a4f2785801
Author: Sena Hunt <rideau3@gmail.com>
Date:   Tue May 18 06:22:50 2010 +0000

    Replace FIRST_* and LAST_* macros with a generic STMT_RANGE macro
    Also rename ABSTRACT to ABSTRACT_STMT

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 422871fd54df67bf3e97839e4dbfea4fffd86a03
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 18 00:03:40 2010 +0000

    FIX PR7158. SimplifyVBinOp was asserting when it fails to constant fold (op (build_vector), (build_vector)).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104004 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfb8682a36e02a94af91b8adb868c7b3ac958b58
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 23:29:23 2010 +0000

    ARMBaseRegisterInfo::estimateRSStackSizeLimit() could return prematurely with a
    too large limit.

    The function would return immediately when finding an addrmode 3/5 instruction.
    It needs to keep scanning in case there is an addrmode 6 instruction which drops
    the limit to 0.

    A test case is very difficult to produce because it will only fail when the
    scavenger is used.

    rdar://problem/7894847

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d3a3b4b9d0440e9ba10d08fae1b621868e6db45
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 23:24:12 2010 +0000

    Fix PR7175. Insert copies of a REG_SEQUENCE source if it is used by other REG_SEQUENCE instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52a592ead8c2884c75f648c7df5ca9c1ffef1bf1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon May 17 23:09:50 2010 +0000

    - Set the "HasCalls" flag after instruction selection is finished.

    - Change the logic DisableFramePointerElim() to check for the
      -disable-non-leaf-fp-elim before -disable-fp-elim.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c25500cb57284472477081b8db426fd4e8091cb
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon May 17 23:08:19 2010 +0000

    Added support in MC for Directional Local Labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68815482e2532d9e267fa854ca829aa814db2c71
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 17 22:53:55 2010 +0000

    More data/parsing support for tls directives.  Add a few more testcases
    and cleanup comments as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01597539fe6d7b3f0121faaf09653e1a6c8eb23f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 22:09:49 2010 +0000

    Fix PR7156. If the sources of a REG_SEQUENCE are all IMPLICIT_DEF's. Replace it with an IMPLICIT_DEF rather than deleting it or else it would be left without a def.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103984 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc7b4fb96b0cc1c48c4950f1a20c93a745e58ba8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 21:54:50 2010 +0000

    vmov of immediates are trivially re-materializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103982 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd0ebeb979f48ac622246c98810beb9b04b4ed14
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 17 21:54:30 2010 +0000

    MC/Mach-O/x86: Optimal nop sequences should only be used for the .text sections, not all sections in the text segment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cd4b002c6b2f821b097c54efda46e446fa208b4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 17 21:54:26 2010 +0000

    MC: Add dyn_cast support to MCSection.
     - Of questionable utility, since in general anything which wants to do this should probably be within a target specific hook, which can rely on the sections being of the appropriate type. However, it can be useful for short term hacks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 950d45c2de35a37b95c2ff0ef34c12c0e9411120
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 17 21:19:59 2010 +0000

    MC/Mach-O: Reverse order of SymbolData scanning when emitting instructions.
     - This fixes a string table mismatch with 'as' when two new symbols are defined
       in a single instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94eda75cfe501b00c8db97b482712aaa80ee4b0a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 21:02:08 2010 +0000

    Pull the UsedInInstr.test() calls into calcSpillCost() and remember aliases.
    This fixes the miscompilations of MultiSource/Applications/JM/l{en,de}cod.
    Clang now successfully self hosts in a debug build with the fast register allocator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103975 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7ed8c885a79bd201536506f9fdf28875cdcaf88
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 17 21:02:07 2010 +0000

    Add some section and constant support for darwin TLS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103974 91177308-0d34-0410-b5e6-96231b3b80d8

commit a81cc0e0e8a0d0e913b7bd2ea4ad0df82f3e0620
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 20:57:12 2010 +0000

    Careful with reg_sequence coalescing to not to overwrite sub-register indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103971 91177308-0d34-0410-b5e6-96231b3b80d8

commit c11a9c4ee2411c3e43349be7220402a146e92fd0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 17 20:31:13 2010 +0000

    Fix a regression in 464.h264 for thumb1 and thumb2 nightly tests.
    Obvious in retrospect but not fun to debug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103969 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9324d568c093cfcdf8918797e5dcc23ee05e601
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 17 20:12:31 2010 +0000

    MC/Mach-O: Fix some differences in symbol flag handling.
     - Don't clear weak reference flag, 'as' was only "trying" to do this, it wasn't
       actually succeeding.
     - Clear the "lazy bound" bit when we mark something external. This corresponds
       roughly to the lazy clearing of the bit that 'as' implements in
       symbol_table_lookup.
     - The exact meaning of these flags appears pretty loose, since 'as' isn't very
       consistent. For now we just try to match 'as', we will clean this up one day
       hopefully.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 649513dc53d31d94cc22355770f12d2a5b6b8930
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 20:01:24 2010 +0000

    Optimize empty DenseMap iteration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103962 91177308-0d34-0410-b5e6-96231b3b80d8

commit e25a1693fd2da6f34ab35bc4ed74dc3e0c4ff5dc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 20:01:22 2010 +0000

    Remove debug option. Add comment on spill order determinism.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103961 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf86d91ceb70ebe3f240b4004ed2801e945caae8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 19:51:20 2010 +0000

    Turn on -neon-reg-sequence by default.

    Using NEON load / store multiple instructions will no longer create gobs of vmov of D registers!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ab3c139f415be029e777fef1ade18455632ade7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 17 17:46:23 2010 +0000

    llvm-mc: Support reassignment of variables in one special case, when the
    variable has not yet been used in an expression. This allows us to support a few
    cases that show up in real code (mostly because gcc generates it for Objective-C
    on Darwin), without giving up a reasonable semantic model for assignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103950 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbdf2cea570101d8e4f525ecd939b85bf7bff173
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 17:18:59 2010 +0000

    Avoid allocating the same physreg to multiple virtregs in one instruction.

    While that approach works wonders for register pressure, it tends to break
    everything.

    This should unbreak the arm-linux builder and fix a number of miscompilations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f5d5c8d4fa23b89d21ae64f662c15914997f86f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 15:30:37 2010 +0000

    Minor optimizations. DenseMap::begin() is surprisingly slow on an empty map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103940 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f714d1f54e1dc1725ea450de0655eefb453cb88
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 15:30:32 2010 +0000

    Extract spill cost calculation to a new method, and use definePhysReg() to clear
    out aliases when allocating. Clean up allocVirtReg().

    Use calcSpillCost() to allow more aggressive hinting. Now the hint is always
    taken unless blocked by a reserved register. This leads to more coalescing,
    lower register pressure, and less spilling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0801c2026dae4eb65f2a7e0be52066a4b468527a
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Mon May 17 09:47:55 2010 +0000

    Remove unused member variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bbf8cf3e44ab65028edfd720ec7846fa64ca9b6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 04:50:57 2010 +0000

    Only use clairvoyance when defining a register, and then only if it has one use.
    This makes allocation independent on the ordering of use-def chains.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a1a7039bf85c7948e1a3d4a593981ff0d842758
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 03:26:09 2010 +0000

    Eliminate a hash table probe when killing virtual registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 370a33ade3b0e09a168a7f514f07911f56705404
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 03:26:06 2010 +0000

    Execute virtreg kills immediately instead of after processing all uses.

    This is safe to do because the physreg has been marked UsedInInstr and the kill flag will be set on the last operand using the virtreg if there are more then one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f346806f7d0c4b1bf7c5e6841105850586a044c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:49:21 2010 +0000

    Sprinkle superregister <imp-def> and <imp-kill> operands when dealing with subregister indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9065262b61237e98f0b8171fce35ec0c940e7154
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:49:18 2010 +0000

    Now that we don't keep live registers across calls, there is not reason to go
    through the very long list of call-clobbered registers. We just assume all
    registers are clobbered.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99b5844e9c8fe5a576089d7c822307bee57d2da8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:49:15 2010 +0000

    Boldly attempt consistent capitalization. Functional changes unintended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103929 91177308-0d34-0410-b5e6-96231b3b80d8

commit c205960b2b5d630d843c99a400841573f1cce0aa
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 17 02:13:02 2010 +0000

    Assume that we'll handle mangling the symbols earlier and just put the
    symbol to the file as we have it.  Simplifies out tbss handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103928 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e50e6f4e462e3afa250fe0cea419f9de866a14
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:07:32 2010 +0000

    Spill and kill all virtual registers across a call.

    Debug code doesn't use callee saved registers anyway, and the code is simpler this way. Now spillVirtReg always kills, and the isKill parameter is not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103927 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4580fb40a255e854f49bd3978d249e9a08e1761b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:07:29 2010 +0000

    Reduce hashtable probes by using DenseMap::insert() for lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02270849103dc19d3dbc8d79d2b0cbf9beeef172
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 17 02:07:22 2010 +0000

    Make MBB a class member instead of passing it around everywhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56a3856c6765f5797e8cb48212994269fc0541b7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 01:47:47 2010 +0000

    Yes, if the redef is a copy, update the old val# with the copy. But make sure to clear the copy field if the redef is not a copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d973b67aed8c9d6c88a604d969af1a071f54861
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 17 01:11:46 2010 +0000

    No reason not to run the NEON domain croassing fix up pass in thumb2 mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103917 91177308-0d34-0410-b5e6-96231b3b80d8

commit c924c8f57c91e812c291acc247c4d30ff670d358
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun May 16 20:19:40 2010 +0000

    Removing as part of previous reversion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bb68bc267f542eaadf64e2c7a3a5be84faa0e00
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun May 16 20:19:04 2010 +0000

    Revert 103911; it broke a test that expects bitconvert
    <1xi64> -> i64 to work in MMX registers on hosts where -no-sse
    is the default (not mine).  The right thing is
    to accept this and make i64->f64 conversions go through memory,
    but I don't have time right now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ba6832487fb9720b15928b44774b7892b543e5c
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun May 16 18:22:38 2010 +0000

    Make x86-64 64-bit bitconvert work when SSE is not available.
    (This worked as of about 6 months ago and I didn't track down
    exactly what broke it; I think this fix is appropriate.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b2defc71329a581197335665a87e990ce4d4148
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun May 16 09:15:36 2010 +0000

    Chris said that the comment char should be escaped. Fix all the occurences of "@" in *.td

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82c5a76f3f6bf096077f60ac4b654dbb99f1cd3c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun May 16 09:08:45 2010 +0000

    Add support for thiscall calling convention.
    Patch by Charles Davis and Steven Watanabe!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92b51296ef0b24f408d5238aa17ea54f861896df
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun May 16 08:54:20 2010 +0000

    Generalize the ARM DAG combiner of mul with constants to all power-of-two cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40b813a737c6ac4ec7215e6aad95b8c02ffa83f3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun May 16 03:27:48 2010 +0000

    Model vst lane instructions with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21f67a9b21cd42ac1a0e119d458e6b57dc4cd9c0
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun May 16 03:13:23 2010 +0000

    Avoid renaming loadable modules at install time. Now the gold plugin is named
    LLVMgold.so both in both the build and install directories.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 972745355370bc990b1445342ea4e1b72ca680a7
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun May 16 03:05:14 2010 +0000

    Use $ORIGIN in the rpath of libraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62d39f3235288054c6355efba0696c6f5e0f5528
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat May 15 18:51:12 2010 +0000

    Fix uint64->{float, double} conversion to do rounding correctly in 32-bit.

    The implementation in LegalizeIntegerTypes to handle this as
    sint64->float + appropriate power of 2 is subject to double rounding,
    considered incorrect by numerics people.  Use this implementation only
    when it is safe.  This leads to using library calls in some cases
    that produced inline code before, but it's correct now.
    (EVTToAPFloatSemantics belongs somewhere else, any suggestions?)

    Add a correctly rounding (though not particularly fast) conversion
    that uses X87 80-bit computations for x86-32.

    7885399, 5901940.  This shows up in gcc.c-torture/execute/ieee/rbug.c
    in the gcc testsuite on some platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103883 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5208f769842d475c9d334cb243eeb82104db6e5
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat May 15 18:38:02 2010 +0000

    Improve assertion messages.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103882 91177308-0d34-0410-b5e6-96231b3b80d8

commit 024b4e6f3c0b7f8db7284637393ccdc55ebe2a93
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 15 18:16:59 2010 +0000

    Some cheap DAG combine goodness for multiplication with a particular constant.
    This can be extended later on to handle more "complex" constants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103881 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6d273a7e0fc92ea29cff88ef53f4953b5cff5b3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 15 17:19:20 2010 +0000

    "trap" pseudo-op turned out to be apple-local.
    Temporary emit it as raw bytes until it will be added to binutils as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103878 91177308-0d34-0410-b5e6-96231b3b80d8

commit eeefa9ba0000f0d9016eedd863f170652d9f3216
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 15 17:11:55 2010 +0000

    improve portability to systems that don't have round, patch by
    Evzen Muller!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103877 91177308-0d34-0410-b5e6-96231b3b80d8

commit b57756a6048c5ca57b3410f82f6586192643cadf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 15 17:10:24 2010 +0000

    improve portability to systems that don't have powf/modf (e.g. solaris 9)
    patch by Evzen Muller!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103876 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea59ede23fcd15e20ab647d4d9db2ce8020c6151
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sat May 15 10:23:23 2010 +0000

    Fix an GCC warning that seems to have actually caught a bug (!!!) in
    a condition's grouping. Every other use of Allocatable.test(Hint) groups it the
    same way as it is indented, so move the parentheses to agree with that
    grouping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50d2725115b27d2289ec9079069ed1d329b033bf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 15 07:53:37 2010 +0000

    Model 128-bit vld lane with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ec8754ab4cddc20ba404695cd48dc80634ea874
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat May 15 06:09:08 2010 +0000

    Calculate liveness on the fly for local registers.

    When working top-down in a basic block, substituting physregs for virtregs, the use-def chains are kept up to date. That means we can recognize a virtreg kill by the use-def chain becoming empty.

    This makes the fast allocator independent of incoming kill flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 668d3f46927bc70a49533a35babed714223d3feb
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat May 15 04:26:25 2010 +0000

    Teach the always inliner to release its inline cost estimates, like the basic
    inliner did in r103653. Why does the always inliner even bother with cost
    estimates anyways?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e047c891488f9e3f08f7a7ef9ed00a731158dd4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat May 15 03:41:58 2010 +0000

    Clean up, no functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2452730585ac43116546b3265830a19d1c941289
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat May 15 02:52:58 2010 +0000

    Add reg_nodbg_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62e89ddeb30457a2a22faeb16d893fbfe8603296
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 15 02:20:21 2010 +0000

    v4i64 and v8i64 are only synthesizable when NEON is available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103855 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf042f548e15472420204f4cee4002b83c55e6ef
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 15 02:18:07 2010 +0000

    Allow TargetLowering::getRegClassFor() to be called on illegal types. Also
    allow target to override it in order to map register classes to illegal
    but synthesizable types. e.g. v4i64, v8i64 for ARM / NEON.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103854 91177308-0d34-0410-b5e6-96231b3b80d8

commit caaee724fb364323edd5b747c9f5269c9c60cd35
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 15 01:36:29 2010 +0000

    Model 64-bit lane vld with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103851 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc74f4f7dbaba2a2f25b6b7e223cba48bdf348b4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 15 01:35:44 2010 +0000

    A partial re-def instruction may be a copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92b52c62a57eff0277f64f2f593825ee8a4dc05c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 23:21:14 2010 +0000

    Teach two-address pass to do some coalescing while eliminating REG_SEQUENCE
    instructions.

    e.g.
    %reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0
    %reg1027<def> = EXTRACT_SUBREG %reg1026, 6
    %reg1028<def> = EXTRACT_SUBREG %reg1026<kill>, 5
    ...
    %reg1029<def> = REG_SEQUENCE %reg1028<kill>, 5, %reg1027<kill>, 6, %reg1028, 7, %reg1027, 8, %reg1028, 9, %reg1027, 10, %reg1030<kill>, 11, %reg1032<kill>, 12

    After REG_SEQUENCE is eliminated, we are left with:

    %reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0
    %reg1029:6<def> = EXTRACT_SUBREG %reg1026, 6
    %reg1029:5<def> = EXTRACT_SUBREG %reg1026<kill>, 5

    The regular coalescer will not be able to coalesce reg1026 and reg1029 because it doesn't
    know how to combine sub-register indices 5 and 6. Now 2-address pass will consult the
    target whether sub-registers 5 and 6 of reg1026 can be combined to into a larger
    sub-register (or combined to be reg1026 itself as is the case here). If it is possible,
    it will be able to replace references of reg1026 with reg1029 + the larger sub-register
    index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36b609521448ffab7eb7cc2efa33ca84b9845374
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 23:01:02 2010 +0000

    Add some comments about undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103834 91177308-0d34-0410-b5e6-96231b3b80d8

commit babc92d1e2f62088fc28c3b4a451b86f54f14dd5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 22:54:52 2010 +0000

    Model VST*_UPD and VST*oddUPD pair with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d0075e925583e359f6af3f129e12c8160e0e217
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 22:53:18 2010 +0000

    Fast ISel trivially coalesces away no-op casts, so check for this when
    setting kill flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 956a8e16a64a6121bf09319caf3965f404b9c4d3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 22:40:43 2010 +0000

    Don't bother spilling before a return

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103831 91177308-0d34-0410-b5e6-96231b3b80d8

commit eec5b3cecb0e943db02a9a5011fe3695785c0ec9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 22:40:40 2010 +0000

    RegAllocLocal can count copies too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 588a7bd00a8d8dc7fbb59310c0e663c8b2d56508
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 22:17:42 2010 +0000

    SystemZ really does mean "has calls" and not just "adjusts stack." Go ahead and
    replace the check with the appropriate predicate. Modify the testcase to reflect
    the correct code. (It should be saving callee-saved registers on the stack
    allocated by the calling fuction.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80d48db62c35a0c261279e5cce212ee51e4365f4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 22:02:56 2010 +0000

    Track allocatable instead of reserved regs, and never take an unallocatable hint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bf21e65e0c12e81e22f304c7e795e8c77387ccf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 22:01:14 2010 +0000

    Don't set kill flags for instructions which the scheduler has cloned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fa346cc86c76c6d607579670a7134f67a82eabc
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 22:00:27 2010 +0000

    BR is a barrier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 201996d5322423c33f00eb84529d396fdba98443
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 21:58:35 2010 +0000

    Several tail call tests apparently rely upon this being "adjusts stack" instead
    of "has calls". That's probably wrong, but it needs further
    investigation. Revert to the original behavior until this is settled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103824 91177308-0d34-0410-b5e6-96231b3b80d8

commit c43c14e1224ec9d537569250866da535e9473e29
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 21:55:52 2010 +0000

    Avoid scanning the long tail of physreg operands on calls

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c91dc7b3b9461975009e9d6b5dee7eac2c23ade
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 14 21:55:50 2010 +0000

    Do not forget to mark prcessed arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95f765bec629d68842c00d4a9587993915ff382c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 21:55:50 2010 +0000

    Count coalesced copies

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b76ee6c1a6993873ddf26beb3796d6f901bbd5f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 21:55:44 2010 +0000

    Allow virtreg redefines when verifying for RegAllocFast

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103820 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82e664867613f0eca85e475a2bfd33ddaa3ae244
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 21:38:44 2010 +0000

    This should happen if there are no calls, not if it just doesn't adjust the
    stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103813 91177308-0d34-0410-b5e6-96231b3b80d8

commit a779e33b664299b3a491621122133883c8ccc8f9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 21:28:24 2010 +0000

    Revert r103804. The comment is correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103808 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd6834efe8a96e9af2b3fd4d431e9897a8d392c2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 14 21:20:46 2010 +0000

    Remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f1f5e5beb5b6112b70fa9adca6f62d2c8437f58
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 14 21:19:48 2010 +0000

    80 column and trailing whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103806 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe9c9ad7b2845803d383dca5ec0a25a1e2ac2a8e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 14 21:18:04 2010 +0000

    add cmd line option to leave dbgvalues in during post-RA sceduling. Useful
    while debugging what's mishandled about them in the post-RA pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103805 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdfdf1cbb0101b70fd3354ea6ee0ef4d9e8e8b44
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 21:17:29 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69393d86aadfdf30a985211276b919e9e3f54fa2
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 14 21:14:32 2010 +0000

    Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what
    the variable actually tracks.

    N.B., several back-ends are using "HasCalls" as being synonymous for something
    that adjusts the stack. This isn't 100% correct and should be looked into.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 937cab19d11ec35b16f0caea94a35c532e824205
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 14 21:04:45 2010 +0000

    Test case for r103800.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103801 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c0a290e357084d93c46fbab8151686db1f7e6bf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 21:01:44 2010 +0000

    Lowering of atomic instructions can result in operands being
    used more than once. If ISel had put a kill flag on one of them,
    it's not valid to transfer the kill flag to each new instance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87415e5bcf5804dd7eb8a1fbea77c8e0d3643c3d
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 14 21:01:35 2010 +0000

    Add support to preserve type info for the variables that are removed by the optimizer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb2e1d08bcbfefd61303e2f7736ca477e4a344c4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 20:28:32 2010 +0000

    When verifying two-address instructions, check the following:

    - Kill is implicit when use and def registers are identical.
    - Only virtual registers can differ.

    Add a -verify-fast-regalloc to run the verifier before the fast allocator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103797 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1b198771611983a3eacd1b6ad8e2d7002d4695e
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 14 19:16:02 2010 +0000

    Fix so "int3" is correctly accepted, added "into" and fixed "int" with an
    argument, like "int $4", to not get an Assertion error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103791 91177308-0d34-0410-b5e6-96231b3b80d8

commit d81699da08071ebbafae3c6c6b33a147486f400f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 18:54:59 2010 +0000

    Model VLD*_UPD and VLD*odd_UPD pair with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43c26bfec2f39ce5456ba5f7a98d075f6fed5538
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 18:53:40 2010 +0000

    MC/Mach-O/x86_64: Darwin's special "signed_N" relocation types should only be
    used to replace a normal relocation, not a reference to a GOT entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bcc3d6f9cb749a5600db9b9cf166ccdf95d4a61
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 18:03:25 2010 +0000

    Simplify the handling of physreg defs and uses in RegAllocFast.

    This adds extra security against using clobbered physregs, and it adds kill
    markers to physreg uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b80c46e8d12f2147fefc97c1a66141e51e2f789
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 16:46:02 2010 +0000

    Set isTerminator on TRAP instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01c4ace0abddbfbe9981384a113df410a7efe770
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 16:42:16 2010 +0000

    Don't use isBarrier for the PowerPC sync instruction. isBarrier is for
    control barriers, not memory ordering barriers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80fd60c7b44949441c8f269e1f4dc1f2ded39d58
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 16:34:55 2010 +0000

    Add mayLoad and mayStore flags to instructions which missed them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103776 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ba9e5cb1cdab17129d086d91a6701e2f672ee4a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 15:36:54 2010 +0000

    Use regular PassManager instead of FunctionPassManager in opt, since it
    isn't doing lazy streaming. This also fixes a missing doFinalization call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5baaf1ec19838fb9bd7454418527158a33749b64
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 15:35:10 2010 +0000

    Use PassManagerBase, to give clients the option of using either
    FunctionPassManager or regular PassManager.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103773 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5e61cce1381d6751d9350822677fc231364ad3c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 14 15:29:31 2010 +0000

    Add an isNodeHidden to the graph traits, to support definition of
    subgraph views.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103772 91177308-0d34-0410-b5e6-96231b3b80d8

commit c34b4d6adbac88c3d823efe52397c1eb4aba3854
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 07:47:51 2010 +0000

    XFAIL the test I added with vg_leak, apparently it is the first and only llc
    -filetype=obj test, and -filetype=obj leaks a few objects. Added a FIXME, we
    need to sort out the ownership model for the various MC objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26c5aab741ac731f310f853a49e368306ea811bc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 07:37:40 2010 +0000

    Get rid of the bit twiddling to read / set OpActions and ValueTypeActions. The small saving in memory isn't worth the increase in runtime and code complexity in my opinion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69c572314e2e082e258b4d364dde9e1f4e495f7f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 04:31:50 2010 +0000

    Inline Asm: Ensure buffer is newline terminated to match how the text is printed.
     - This is a hack, but I can't decide the best place to handle this. Chris?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ddcde3682989a412a5145b2b78a3310d24eedc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 04:30:51 2010 +0000

    Enable opportunistic coalescing

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103764 91177308-0d34-0410-b5e6-96231b3b80d8

commit adc2e282f084987c944ebc9ebeb0eed03a3b2f77
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 02:13:41 2010 +0000

    Added a QQQQ register file to model 4-consecutive Q registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103760 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a749e4b0fd6f82109d4b461d70b5be07edda414
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 14 01:50:28 2010 +0000

    Add AsmParser support for darwin tbss directive.

    Nothing uses this yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34fd6dbca4732dcaf43b757bceab0fb96bcb1652
Author: Eric Christopher <echristo@apple.com>
Date:   Fri May 14 01:38:54 2010 +0000

    Fix a couple of typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 880d13ca99d4c1649abb103e0b11c1f20e54b743
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri May 14 01:02:48 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103755 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1f986bb158d1e75ff416e4bee1773eb5f5e0a9b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 00:51:14 2010 +0000

    MC: Switch to completely lazy layout.
     - The eliminates the last major algorithmic problem with MC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103754 91177308-0d34-0410-b5e6-96231b3b80d8

commit fabc024d66a75b8d856754fc3cc47e6d751cbec5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 00:37:21 2010 +0000

    MC: Extend MCAsmLayout to explicitly track which fragments have been layed out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103753 91177308-0d34-0410-b5e6-96231b3b80d8

commit e15654655162b957801f4493f3e05a8e9881605a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 00:37:17 2010 +0000

    MC: Implicitly assign section addresses when the previous fragment is layed out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63d2a8d57508dacce486f853293eea410b84f8e9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 00:37:14 2010 +0000

    MC: Switch MCFragment to storing the layout order index, not its index in the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89093315a9aad2fa59f9439484a4546d48c8bc05
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri May 14 00:37:11 2010 +0000

    MC: Change LayoutSection() to only do the section initializiation.

    Also, elimminate MCAsmLayout::set*, which are no longer needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71b25a0db4371a2e6c0c59e72636ff146b1f1fd3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 14 00:21:45 2010 +0000

    Fix comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44878f4b455515d4636050419bd8c12eb46d6f46
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 00:02:23 2010 +0000

    Trust kill flags from isel and later passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9096b3cbe17f125b94b00d5e30860718935b21d6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri May 14 00:02:20 2010 +0000

    Fix an embarrassing runtime regression for RegAllocFast.

    This loop is quadratic in the capacity for a DenseMap:

      while(!map.empty())
        map.erase(map.begin());

    Instead we now do a normal begin() - end() iteration followed by map.clear().
    That also has the nice sideeffect of shrinking the map capacity on demand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d9a7c230fbac7224efbe7a8e3a8d1ced1e8cd92
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 23:55:47 2010 +0000

    Adding a v8i64 512-bit vector type. This will be used to model ARM NEON intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103746 91177308-0d34-0410-b5e6-96231b3b80d8

commit e10a35d59cc97431a1f5c64eb399c634cb2d51fc
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu May 13 23:50:42 2010 +0000

    Implement a correct ui64->f32 conversion.  The old
    one was subject to double rounding in extreme cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ce41871562c06938ba369feaccc63bae0ccb3ef
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 23:25:21 2010 +0000

    Eliminate use of magic numbers to access OpActions. It also has the effect of allowing more than 31 scalar value types. MAX_ALLOWED_VALUETYPE had already been updated to 64 a while back.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 604c19d84cf84512e999cc22dbe9e79ccd336016
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 23:01:26 2010 +0000

    Fix up LoadExtActions, TruncStoreActions, and IndexedModeActions representation and setter and getter's so they will continue to work if the number of scalar ValueType's exceeds 31.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 389dcddec60a88b4ab538fccee6e699a46441d5b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 13 20:43:17 2010 +0000

    Clean up RegAllocFast debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103739 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce99e456467a303da0f92509790770f1a1583d15
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 20:40:12 2010 +0000

    MC: Move Layout{Fragment,Section} into MCAsmLayout, and add LayoutFile().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16ef804b40147dec81e7c0764c282bd156586b89
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 13 20:34:42 2010 +0000

    Teach MachineLICM and MachineSink how to clear kill flags conservatively
    when they move instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103737 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa8fb908458c39c1c8dd2203a72f01a8fac22a6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 20:14:58 2010 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103733 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac17a100de94bb0c67772594e4f58014481f9d54
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 20:02:08 2010 +0000

    Add comment about the pseudo registers QQ, each of which is a pair of Q registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103731 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1de11f4f9211e4b292bc47a24c36acfc42f13cc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 13 19:58:24 2010 +0000

    Fix pr7110: For non-Darwin targets UnspilledCS1GPRs may include high registers.
    Do not use those for Thumb1 functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5106ccb43e95c581f8a18afccaf80ae305490f1a
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu May 13 19:34:06 2010 +0000

    CMake: fixes 64 bit Visual Studio IDE build. Fixes bug 4936.

    Patch by Dimitry Andric!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ec14f36b2ccf852a6f51bce790b7af18e69869f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 13 19:24:00 2010 +0000

    Add a utility function for conservatively clearing kill flags, and make
    use of it in MachineCSE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3afc721d6e52c55352d9d6e3e4c0efd77197e192
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 13 19:19:32 2010 +0000

    An Instruction has a trivial kill only if its use is in the same
    basic block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103725 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6ed4357ee8212a090cdf6d306addf641031efd5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 18:35:06 2010 +0000

    MC: Factor out MCAssembler::ComputeFragmentSize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95f38802ae248d855b43ba0d4b48a2c8ec1b9b91
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 18:35:02 2010 +0000

    Fix const ilist_node::get{Prev,Next}Node() to actually compile. Picky, picky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ec08168b56007d4e5ff98ca7e8fbf7ef5b9ca30
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 13 17:58:15 2010 +0000

    Fix complete badness in bugpoint's IsARMArchitecture() function.

    The revision history for this function is interesting, with multiple layers of
    wrongness being introduced one at a time.

    This fixes a weird issue where bugpoint -run-llc would suddenly exit 13 half way
    through isolating a miscompilation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5953cb5e743989296bbbc913bdd0359bcdf39d5b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu May 13 17:41:06 2010 +0000

    Actually run the test. Thanks Daniel Dunbar!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6412f75db2984a183b1f77a06ed24093c22eb6c0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 15:17:26 2010 +0000

    MC: Add section layout order indices to MCSectionData.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 693f800286130a1e394782a0d25a4f56a233eb79
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu May 13 13:39:31 2010 +0000

    Add an also-emit-llvm option to the gold plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2522772876718ee7d6854252e362dd9c5876d9fa
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 08:43:37 2010 +0000

    MC: Move ordinal calculation, to make sure fragments synthesized for layout get assigned ordinals properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11a86ac65a9761f7e8e3be144cf3f6972f55dde7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 08:43:34 2010 +0000

    MC: Create dummy fragments to avoid ever having empty sections, which simplifies layout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6570fd41f871eebc22158e4d55a9d15d289d904a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 08:43:31 2010 +0000

    MC: Add MCAsmLayout::FragmentReplaced() helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103709 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3e612038c87611e01bd67e588e2176a7932ebe4
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu May 13 07:43:47 2010 +0000

    Update tablegen to generate shorts instead of chars for subgroup arrays.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58a1968434245b3821bd7e195fd8f25b42748702
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu May 13 07:41:57 2010 +0000

    Properly set thread-local flag on globals during cpp emission

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2023b7b2f91373524a925232ff4ab66b40c96478
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu May 13 06:45:13 2010 +0000

    Remove heinous tabs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5446ab0ff885810a8eb7847c4c0fa9117037b1aa
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu May 13 06:00:14 2010 +0000

    Add testcase for r103653.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103699 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef385a756c3b60370b4633d55f7bbbc0e41b189e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu May 13 05:48:45 2010 +0000

    Replace the core comparison login in merge functions. We can now merge
    vector<>::push_back() in:

      int foo(vector<int> &a, vector<unsigned> &b) {
        a.push_back(10);
        b.push_back(11);
      }

    to two calls to the same push_back function, or fold away the two copies of
    push_back() in:

      struct T { int; };
      struct S { char; };
      vector<T*> t;
      vector<S*> s;
      void f(T *x) { t.push_back(x); }
      void g(S *x) { s.push_back(x); }

    but leave f() and g() separate, since they refer to two different global
    variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e72343b8ece90f6f484e6afa8aa9208668f8e31
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 03:50:50 2010 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103697 91177308-0d34-0410-b5e6-96231b3b80d8

commit db0d323fb2e8203a8e5d8c019ac4ad245509cb60
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 03:19:50 2010 +0000

    MC: Eliminate MCSectionData::{,Address,File}Size, which can now be computed by
    utility functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103695 91177308-0d34-0410-b5e6-96231b3b80d8

commit d034b366e858f0c2af9397f3c9e058aeb99bb4bd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 03:19:36 2010 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43586a0d3772e832e40daacceba231212564438d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 02:34:14 2010 +0000

    MC: Switch to using explicit MCAlignFragments with OnlyAlignAddress bit instead
    of manually doing padding/editing layout in LayoutSection().
        - This probably seems like six-of-one and half-dozen of another, but there
          is a method to my madness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d5d1f2625d3af34746eba1ce90822bf51a03c38
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 01:12:06 2010 +0000

    Bring back VLD1q and VST1q and use them for reloading / spilling Q registers. This allows folding loads and stores into VMOVQ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103692 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9ab204c2292b073c757ad6e369490c614032894
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 01:10:28 2010 +0000

    MC/Mach-O: Add another zerofill test to improve coverage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cc37f38080c938f05d90484fa3c51deb9f897b3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 01:10:26 2010 +0000

    MC: Add MCAlignFragment::OnlyAlignAddress bit. This is a bit of magic that says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103690 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4cb2421387f42b7283022d5146711e223e9c9d6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 13 01:10:22 2010 +0000

    MC: Add MCSectionData::AddressSize, which is the size of the address space consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103689 91177308-0d34-0410-b5e6-96231b3b80d8

commit f457a251fb03d760d5de5a97c094284783a20ca4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 13 00:19:43 2010 +0000

    Take allocation hints from copy instructions to/from physregs.
    This causes way more identity copies to be generated, ripe for coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103686 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2e3e00bac67c7979d6c5270c774fb4b3d6c370c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu May 13 00:19:39 2010 +0000

    More asserts around physreg uses

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103685 91177308-0d34-0410-b5e6-96231b3b80d8

commit b57f952e73bd14a27b40b22ea154bd9209bd5b15
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 00:17:02 2010 +0000

    Expand VMOVQQ into a pair of VMOVQ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1392e998a0209b571980c9a92c8d2c321d8ff48e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 00:16:46 2010 +0000

    Mark some pattern-less instructions as neverHasSideEffects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ebff2da3485b9f9310b712bd3baa777a8aafc91
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu May 13 00:10:34 2010 +0000

    fix rdar://7965971 and a fixme: use ParseIdentifier in
    ParseDirectiveDarwinZerofill instead of hard coding the
    check for identifier. This allows quoted symbol names to
    be used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f6dffc702f6bde3a8cea4e254f751e697376448
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu May 13 00:02:47 2010 +0000

    reapply r103668 with a fix.  Never make "minor syntax changes"
    after testing before committing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103681 91177308-0d34-0410-b5e6-96231b3b80d8

commit 086ecf5011d9d60e8ea6d1701d64d861c6357ffb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 13 00:00:35 2010 +0000

    If REG_SEQUENCE source is livein, copy it first. Also, update livevariables information when a copy is introduced.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bb2e747cad6e2345b42000fc1e7b0a566f83caa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 23:59:42 2010 +0000

    Do not attempt copy coalescing if the source and dest sub-register indices do not match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103679 91177308-0d34-0410-b5e6-96231b3b80d8

commit bda31dd402f13d13242cf2c6addfe08f328d456a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 12 23:40:59 2010 +0000

    revert r103668 for now, it is apparently breaking things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64cc58a2d1f3191bb7b9fc0d92ee65c6754a1bfa
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 12 23:13:36 2010 +0000

    moffset forms of moves are x86-32 only, make the parser
    lower them to the correct x86-64 instructions since we
    don't have a clean way to handle this in td files yet.
    rdar://7947184

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 104d4d9482aac0501c285a528ddc846fddba151a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 23:13:12 2010 +0000

    Fix some potential issues in the pseudo instruction expansion phase: copy implicit operands and memoperands. Also, expand instructions even if their defs are "dead" since they may have implicit kill operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 251b78b73186f3f92e578f383c3312724cc76d31
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 22:56:23 2010 +0000

    MC: Move MCAlignFragment::EmitNops value out of the constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103665 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb8ceee8e89e26b265ab09067bc6719a9bc3b29e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 22:51:38 2010 +0000

    MC: Eliminate MCZeroFillFragment, it is no longer needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664 91177308-0d34-0410-b5e6-96231b3b80d8

commit d48661ebf869f88df850e7803da7bca0351d1304
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 22:51:35 2010 +0000

    MC: Explicitly check that only virtual fragments appear in virtual sections.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103663 91177308-0d34-0410-b5e6-96231b3b80d8

commit f709206193f8e489ac2ff07c150220397f4f345d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 22:51:32 2010 +0000

    MC: Switch MCFillFragment to storing total fill size instead of a count. This allows using ValueSize==0 to represent a virtual fill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4025a21d3784505539e22a785000e058d0aecc02
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 22:51:27 2010 +0000

    MC: Drop support for alignment in ZeroFill fragment, we can just use
    MCAlignFragments for this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b22cd053f3a87f2da3ea94f59dc764953f9e85f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 12 22:48:24 2010 +0000

    fix the encoding of the obscure "moffset" forms of moves, i386
    part first.  rdar://7947184

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103660 91177308-0d34-0410-b5e6-96231b3b80d8

commit af2719d457f427fd4127905411ddffeffb272a1c
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed May 12 21:48:15 2010 +0000

    Clear CachedFunctionInfo upon Pass::releaseMemory. Because ValueMap will abort
    on RAUW of functions, this is a correctness issue instead of a mere memory
    usage problem.

    No testcase until the new MergeFunctions can land.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90e206bffd3d2c489dcd834cee7642b078be03ff
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 21:47:58 2010 +0000

    lit: Fix a sh lexing bug which caused annotate-token.m to fail when run with the
    internal shell parser; we weren't lexing the quotes in a command like::

      clang -DFOO='hello'

    correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e1cccee10a79be46c2c97e06ae33cb99fa8581e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 21:47:55 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103651 91177308-0d34-0410-b5e6-96231b3b80d8

commit e18dff1fd0bda76e05b3985c12c5bb1ed98159f6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 21:35:25 2010 +0000

    MC: Factor out MCAssembler::LayoutFragment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58112b9c6c57d84574e14be91c96be5cc388ff96
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 21:35:22 2010 +0000

    MC: Tweak section layout to not relying on accumulating address value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50af202e1ebf956ab6e966e9d9727558b4566023
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 21:35:19 2010 +0000

    ADT: Add ilist_node::get{Prev,Next}Node, which return the adjacent node or null.
     - This provides a convenient alternative to using something llvm::prior or
       manual iterator access, for example::

        if (T *Prev = foo->getPrevNode())
          ...

       instead of::

         iterator it(foo);
         if (it != begin()) {
           --it;
           ...
         }

     - Chris, please review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 077e0c2118c57edafec97b9c4932c62dbc52a110
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 20:20:22 2010 +0000

    Remove a dead fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103642 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdf4ff01290ace9a2681daabfe5d3623ac7167c3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 12 18:46:03 2010 +0000

    Make sure to add kill flags to the last use of a virtreg when it is redefined.
    The X86 floating point stack pass and others depend on good kill flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1922dd214c0f40f80dbd674c4cacce0893856ba6
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 12 18:31:04 2010 +0000

    Test case for r103633.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 351638b4aa8b235bee9178e5be9f442d164382cd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 17:56:47 2010 +0000

    MC: Simplify LayoutSection to just take the index of the section to layout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75c09c5ccf3c39569546244f84f66be44367f5be
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 17:56:44 2010 +0000

    lit: Fix OneCommandPerFileTest format when tests are specified directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103626 91177308-0d34-0410-b5e6-96231b3b80d8

commit af480e8b964f2dce1b546e13535f0008edc16e7e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 17:56:42 2010 +0000

    lit: Add support for 'lit ... @foo', which reads a list of tests to run from
    foo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61077c0c2d4d52002b92c0b1fea75e55446e3b2e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 15:42:59 2010 +0000

    MC: Track section layout order explicitly, and use to simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b1e6e0f98b2b545ebe05e3722b823faf8ebcc9
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Wed May 12 07:36:03 2010 +0000

    stylistic change to MCSectionCOFF::PrintSwitchToSection COMDAT handling

    Made a stylistic changed to the code/comments related to the unsupported COMDAT selection  type IMAGE_COMDAT_SELECT_LARGEST based on from Anton Korobeynikov.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d7f77489d1ff8033b54d4c83c5a232caa83e43a
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed May 12 07:11:33 2010 +0000

    Remove unused variable.  Tweak a comment while there.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103586 91177308-0d34-0410-b5e6-96231b3b80d8

commit da7e18a6744b535d98952e979c92bb94e0c29ce1
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed May 12 05:16:34 2010 +0000

    Add support for movi32 of global values to the new (MC) asm printer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d70fc8e48f81e0598ea8a14634dd08438475693
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed May 12 05:04:20 2010 +0000

    Testcase for llvm 103572 (7898991).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103574 91177308-0d34-0410-b5e6-96231b3b80d8

commit d47e1563911d40a0bb46392eda390180289368fc
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Wed May 12 04:26:09 2010 +0000

    updated support for the COFF .linkonce

    Now, the .linkonce directive is emitted as part of MCSectionCOFF::PrintSwitchToSection instead of AsmPrinter::EmitLinkage since it is an attribute of the section the symbol was placed into not the symbol itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103568 91177308-0d34-0410-b5e6-96231b3b80d8

commit de7c1ddcc6e8ad3dee6a6585535bbc312ff456e8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 01:42:50 2010 +0000

    vst instructions are modeled as this:
    v1024 = REG_SEQUENCE ...
    v1025 = EXTRACT_SUBREG v1024, 5
    v1026 = EXTRACR_SUBREG v1024, 6
          = VSTxx <addr>, v1025, v1026

    The REG_SEQUENCE ensures the sources that feed into the VST instruction
    are getting the right register allocation so they form a large super-
    register. The extract_subreg will be coalesced away all would just work:
    v1024 = REG_SEQUENCE ...
          = VSTxx <addr>, v1024:5, v1024:6

    The problem is if the coalescer isn't run, the extract_subreg instructions
    would stick around and there is no assurance v1025 and v1026 will get the
    right registers.

    As a short term workaround, teach the NEON pre-allocation pass to transfer
    the sub-register indices over. An alternative would be do it 2addr pass
    when reg_sequence's are eliminated. But that *seems* wrong and require
    updating liveness information.

    Another alternative is to do this in the scheduler when the instructions are
    created. But that would mean somehow the scheduler this has to be done for
    correctness reason. That's yucky as well. So for now, we are leaving this
    in the target specific pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103540 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce798bb4577689517fb79d7d0d3da465d24b21cc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 01:29:36 2010 +0000

    Teach local regalloc about virtual registers with sub-indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bdcc23f0648f31f85993d6cbf527abdf95418c5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 12 01:27:49 2010 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103538 91177308-0d34-0410-b5e6-96231b3b80d8

commit d45c3ca5763e133979ae71bc128a3e9297c11b03
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 00:54:20 2010 +0000

    MC/X86: Extend suffix matching hack to match 'q' suffix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ae994b08bcd6d82f79279fc8d2f8f737882342f
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Wed May 12 00:52:54 2010 +0000

    Added a trivial function to modify the flags field of MCSymbolData class. The function takes the value and a mask, and clears the mask bits before applying the value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103534 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef53bccabc4db2604430f9caf02044e22a60d187
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 12 00:38:17 2010 +0000

    MC/Mach-O/x86_64: Add a new hook for checking whether a particular section can
    be diced into atoms, and adjust getAtom() to take this into account.
     - This fixes relocations to symbols in fixed size literal sections, for
       example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c32cf7660f97f26f254786ea950bc575b4afa9f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 12 00:11:24 2010 +0000

    Enable a bunch more -regalloc=fast tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103531 91177308-0d34-0410-b5e6-96231b3b80d8

commit c30c61844a876485ce2e3bad12f533e1abe7aa30
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 12 00:11:19 2010 +0000

    Avoid scoping issues, fix buildbots

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22a7d61aa6ab59ca9c6c4d396546a0aaa57b7dc0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 23:54:07 2010 +0000

    Add initial kill flag support to FastISel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d692e70557b225173e8d8f5e9bdc4f10302f2a0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 23:53:13 2010 +0000

    Make Clang happy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 558e10120d472406139fb9d94496fe96a0d97b96
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 23:53:11 2010 +0000

    MC/Mach-O/x86_64: Fix PCrel adjustment for x86_64, which was using the fixup
    offset instead of the fixup address as intended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7937628214cfbde37e099904f4f1fa53894ed314
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 23:53:07 2010 +0000

    MC/Mach-O: As Kevin pointed out, 'Address' is really an offset -- rename to clarify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103526 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fc9d349c4e1b03d1abf4154fc9fa42b7e09636a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 23:53:05 2010 +0000

    MC/Mach-O: Fix a crash on invalid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b7a71b898c19168a77edf6b311a4c346b43977e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue May 11 23:25:16 2010 +0000

    Fix PR6951 by fixing Module leaks in bugpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103523 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3fd7ba58a56f044e25da30cccefa79030c021ef
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 23:24:47 2010 +0000

    Store the Dirty bit in the LiveReg structure instead of a bit vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103522 91177308-0d34-0410-b5e6-96231b3b80d8

commit c13801faabd913c8ac1a0e1438ea4f529a182e93
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 23:24:45 2010 +0000

    Keep track of the last place a live virtreg was used.
    This allows us to add accurate kill markers, something the scavenger likes.
    Add some more tests from ARM that needed this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103521 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ed38d2364b1b0905aed95693917634de7776a8
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 21:59:14 2010 +0000

    Don't set kill flags on uses of CopyFromReg nodes. InstrEmitter doesn't
    create separate virtual registers for CopyFromReg values, so uses of
    them don't necessarily kill the value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103519 91177308-0d34-0410-b5e6-96231b3b80d8

commit baf1f804a4e25d14e531263f63093e4902c8035b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 11 21:07:36 2010 +0000

    Avoid breaking vstd when reg_sequence is not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06ef10a297e2be6b18ae86ff83b91ed1e754acf2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 20:51:07 2010 +0000

    One more -regalloc=fast test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103509 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6f73b0633972b196c006437a5994ca2371dffcd
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 20:51:04 2010 +0000

    Silence warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 834f6d4fa79d4c80d307ec7ba6d8c7672b4b837b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 11 20:46:04 2010 +0000

    Simplify this logic of creating a default Features object.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5462c852e8b8556b1109088a25c98700d88aff45
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 20:30:28 2010 +0000

    Simplify the tracking of used physregs to a bulk bitor followed by a transitive
    closure after allocating all blocks.

    Add a few more test cases for -regalloc=fast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103500 91177308-0d34-0410-b5e6-96231b3b80d8

commit b331d4e7b34d1d22cc8867508d56346f30a0f107
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 20:30:00 2010 +0000

    Revert r103493, materializing functions in the regular PassManager.
    It works in simple cases, but it isn't a general solution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103499 91177308-0d34-0410-b5e6-96231b3b80d8

commit cee09d45e74d54ba94278c838df92e8c725d8b7a
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue May 11 20:16:09 2010 +0000

    I got tired of VISIBILITY_HIDDEN colliding with the gcc enum.  Rename it
    to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is
    the opposite, for future use by dragonegg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9685b667ed84fdf607f9afbff07bbb9a0d217301
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 19:58:43 2010 +0000

    Teach the regular pass manager how to materialize functions as needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103493 91177308-0d34-0410-b5e6-96231b3b80d8

commit b42b7c39fb5231a90aa9267d31cf0c96fca5b7e4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 19:57:55 2010 +0000

    Remove the "WantsWholeFile" concept, as it's no longer needed. CBE
    and the others use the regular addPassesToEmitFile hook now, and
    llc no longer needs a bunch of redundant code to handle the
    whole-file case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 038c648ad8d396029a34743f3d6e2eab96df85c8
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 19:11:43 2010 +0000

    Trim #includes and forward declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103489 91177308-0d34-0410-b5e6-96231b3b80d8

commit d35d5df207ff64bc36f8d33ee81fcc6087b87596
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue May 11 18:54:45 2010 +0000

    Mostly rewrite RegAllocFast.

    Sorry for the big change. The path leading up to this patch had some TableGen
    changes that I didn't want to commit before I knew they were useful. They
    weren't, and this version does not need them.

    The fast register allocator now does no liveness calculations. Instead it relies
    on kill flags provided by isel. (Currently those kill flags are also ignored due
    to isel bugs). The allocation algorithm is supposed to work with any subset of
    valid kill flags. More kill flags simply means fewer spills inserted.

    Registers are allocated from a working set that contains no aliases. That means
    most allocations can be done directly without expensive alias checks. When the
    working set runs out of registers we do the full alias check to find new free
    registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44ed5d0d30df012eed0d7512636981adcf05b22a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 18:03:41 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cb22619069fe23d1ca98195ccd8974fde687016
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 17:31:57 2010 +0000

    Implement a bunch more TargetSelectionDAGInfo infrastructure.

    Move EmitTargetCodeForMemcpy, EmitTargetCodeForMemset, and
    EmitTargetCodeForMemmove out of TargetLowering and into
    SelectionDAGInfo to exercise this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3189e8955cb5c19dc07efb733b3a4429282e2606
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 17:22:50 2010 +0000

    MC/Mach-O x86_64: Switch to using fragment atom symbol.
     - This eliminates getAtomForAddress() (which was a linear search) and
       simplifies getAtom().
     - This also fixes some correctness problems where local labels at the same
       address as non-local labels could be assigned to the wrong atom.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47a3dcc7a2094405395820de09005c5e496fa05d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 11 17:22:45 2010 +0000

    Test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52bbfc1cf0d43d659920bc197a5a2b51438b487a
Author: Tanya Lattner <tonic@nondot.org>
Date:   Tue May 11 16:47:42 2010 +0000

    Test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e88a88683d222db5dd0f2dff5181dd7322bbafc
Author: Tanya Lattner <tonic@nondot.org>
Date:   Tue May 11 16:46:45 2010 +0000

    Test commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85fddb911815006abf9473b2d261d28667998f69
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 11 16:21:03 2010 +0000

    Remove the TargetLowering::getSubtarget() virtual function, which
    was unused. TargetMachine::getSubtarget() is used instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103474 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1b3c0e6c222696db3cb4faf864cdadd14863abf
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Tue May 11 11:00:02 2010 +0000

    Make SPU backend not assert on jump tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103466 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9933d0f69f67574c483866458c2b5d63b50948e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 11 07:26:32 2010 +0000

    Select @llvm.trap to the special B with 1111 condition (i.e. trap) instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0913bd9db984b27f393c4c89d6c838db57c9a079
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue May 11 06:17:44 2010 +0000

    Fixes for Microsoft Visual Studio 2010, from Steven Watanabe!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103457 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc862e263f587d04d9df3e0d6d8b675e221b15de
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 11 01:33:39 2010 +0000

    Don't create a StringRef with a NULL value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79de2e1422657b1436ce3fbf7e54f4b01991ae2f
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue May 11 01:27:08 2010 +0000

    Extended the edis "IsBranch" property to call
    instructions as well.  Added support for checking
    this to the llvm-mc tester as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103454 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9e593e16248f6435cd665ad658a7f0d6942d227
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 11 01:19:40 2010 +0000

    Model some vst3 and vst4 with reg_sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f76d011f65a657f173de08f9d4e8d1c82682bd7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue May 11 00:30:02 2010 +0000

    The getDefaultSubtargetFeatures method of SubtargetFeature did actually return a
    string of features for that target. However LTO was using that string to pass
    into the "create target machine" stuff. That stuff needed the feature string to
    be in a particular form. In particular, it needed the CPU specified first and
    then the attributes. If there isn't a CPU specified, it required it to be blank
    -- e.g., ",+altivec". Yuck.

    Modify the getDefaultSubtargetFeatures method to be a non-static member
    function. For all attributes for a specific subtarget, it will add them in like
    normal. It will also take a CPU string so that it can satisfy this horrible
    syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24b3b82b6f061323c1643b815debc4a9ddb1dee6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 11 00:20:03 2010 +0000

    It's not safe eliminate copies where src and dst have different sub-register indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103450 91177308-0d34-0410-b5e6-96231b3b80d8

commit be3117b42fcc538dc31b990e392102d53af71738
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 11 00:04:31 2010 +0000

    Ensure REG_SEQUENCE source operands are unique.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7100f2e76742c2187b2b1f1339e98208f56bd90b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 10 23:15:20 2010 +0000

    MC/Mach-O: Fix another mismatch with .weak_definition, we shouldn't use a
    scattered relocation entry with a .weak_definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103443 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4ac1225b1776e05493c59a540d2c6a39da5f9d3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 10 23:15:13 2010 +0000

    MC/Mach-O: Factor out doesSymbolRequireExternRelocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103442 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66dea43150c73cf0f6fb64c2ebaf4b2e2138c595
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 23:08:19 2010 +0000

    Indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103441 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1307c6d36613366069b2408f8add7f09de49daa
Author: Devang Patel <dpatel@apple.com>
Date:   Mon May 10 22:49:55 2010 +0000

    Enable multiple Compile Units in one module.
    This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9374d4442c123776ef50e33d26f91f5123c0507f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 10 22:45:09 2010 +0000

    MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, for each fragment (not yet used).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13a8951b5f29aa96851f0fa2d220db5267fe4b69
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 21:26:24 2010 +0000

    Model some vld3 instructions with REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70337eb51f167861d2c270a1a021e9cd476b8330
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 21:25:30 2010 +0000

    It's not safe to propagate implicit_def that defines part of a register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18757793387949cbdfe31543a54617757c82677b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 21:24:55 2010 +0000

    Clear RegSequences vector after eliminating REG_SEQUENCE instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50530519a65114a7ee6e0c507405764d263d3e26
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 21:23:48 2010 +0000

    this really is needed. :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23e0da9ff807a946755892d067e22de3060c8dc2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 21:01:47 2010 +0000

    just remove this, it isn't needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03f6ce012d715aa58ce7d070bcd9a074812c0065
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 20:59:18 2010 +0000

    simplify more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103431 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa3dfcac8b9764eeec12c48cae5fa2b48f2a4fa
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 20:58:42 2010 +0000

    Simplify by using startswith instead of substr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f317209f3f8bed7e0e7e3bd722b2330475d2903
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 20:53:17 2010 +0000

    fix PR7105 by enumerating MDNodes on all @llvm.foo
    function calls, not just recognized intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50e68935ec32080c693292c05dc27cf0bd28287e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon May 10 20:51:06 2010 +0000

    fix a pretty obvious typo.  We test things before committing them, right?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103427 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ef93fc3009ecdda2127114f030f4feb2c9e8e73
Author: David Greene <greened@obbligato.org>
Date:   Mon May 10 20:24:27 2010 +0000

    Fix PR6875:

    This includes a patch by Roman Divacky to fix the initial crash.

    Move the actual addition of passes from *PassManager::add to
    *PassManager::addImpl.  That way, when adding printer passes we won't
    recurse infinitely.

    Finally, check to make sure that we are actually adding a FunctionPass
    to a FunctionPassManager before doing a print before or after it.
    Immutable passes are strange in this way because they aren't
    FunctionPasses yet they can be and are added to the FunctionPassManager.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103425 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2aa7a6d8f1dfde9f649efc2aa4fa69b27e319b0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 10 20:14:02 2010 +0000

    Add an explicit keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103424 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef6e979d60a85ed51477d76a411eb576081d692a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon May 10 20:11:56 2010 +0000

    Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently:
     - Disables 'Built on ...' in 'foo --version'.
     - Disables timestamps from being embedded into .dir files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f307c1c3966b8bc43b0276e9a409a2a14bef0eb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 10 20:07:44 2010 +0000

    Fix whitespace in debug output to be consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103422 91177308-0d34-0410-b5e6-96231b3b80d8

commit a90ae855fbc618e0e61aba7e767e07b0171a20de
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 10 19:47:21 2010 +0000

    Delete an obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103420 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ca9bbc2b35d94d7adea682af93328b9168233fa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 19:03:57 2010 +0000

    Be careful with operand promotion. For a binary operation, the source operands may be the same. PR7018. rdar://7939869.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103419 91177308-0d34-0410-b5e6-96231b3b80d8

commit b595f1c398b82f8ed80abdbacfd5cbb336749f35
Author: Devang Patel <dpatel@apple.com>
Date:   Mon May 10 17:49:40 2010 +0000

    Test case for 103414.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103415 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed7cd49a9739a2f82cf86a20bb0852dca2fcecf3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 17:34:18 2010 +0000

    Model vld2 / vst2 with reg_sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51db7189dd4274867a286b3b7776df200137f627
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon May 10 17:33:49 2010 +0000

    Re-defined valno is always valno even for partial re-def's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b91df4cc8d577e669f181ab77f163e7a7a273c6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 10 17:14:26 2010 +0000

    Fix PR7096.  When a block containing multiple defs is tail duplicated, the
    SSAUpdater for the value from the first def may see uses of undefined values,
    because the later defs will not have been updated yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 260f611c541e49ae10da8e78f2e60cbce3d008dd
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon May 10 08:13:49 2010 +0000

    Fix encoding of 'sf' and 'sfh' instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103399 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffbb896b7fbea99d399f53bbcbeb77599503043d
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Mon May 10 07:38:37 2010 +0000

    Add command line option --gcc to bugpoint.
    Remove sending duplicate of the --gcc-tool-args parameters to gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103397 91177308-0d34-0410-b5e6-96231b3b80d8

commit b95e2421dd0b5506a3297f261ffd167309b18a69
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon May 10 04:54:28 2010 +0000

    Add an assertion to catch attempts to access off the end of the array.
    Based on a patch by Javier Martinez.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103391 91177308-0d34-0410-b5e6-96231b3b80d8

commit c20a2cd49e9d5101caa670221838d08e128817d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun May 9 17:34:13 2010 +0000

    remove a dead file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59865518b181e8686bbe3f9f4a6649e926b3a39b
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Sun May 9 08:40:06 2010 +0000

    updated handling dllexport in X86AsmPrinter

    changed dllexport code to use EmitBytes instead of EmitRawText, and changed the export option to use /EXPORT: instead of -export: on the windows platform

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103377 91177308-0d34-0410-b5e6-96231b3b80d8

commit e349f81c69a439b8f317df853a4b6d78ffa9b08c
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Sun May 9 05:52:28 2010 +0000

    made COFF target dllexport logic apply to all subtargets

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103373 91177308-0d34-0410-b5e6-96231b3b80d8

commit d511505df7655a974a6b5cd78b1d59d31cb67b21
Author: Nathan Jeffords <blunted2night@gmail.com>
Date:   Sun May 9 05:49:00 2010 +0000

    test commit, added a comment to MCSectionCOFF::PrintSwitchToSection function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103372 91177308-0d34-0410-b5e6-96231b3b80d8

commit c629a8c44b8ec7798f0f8111ccef95acdb96d410
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 8 22:15:59 2010 +0000

    make simplifycfg insert an llvm.trap before the 'unreachable' it introduces
    when it detects undefined behavior.  llvm.trap generally codegens into some
    thing really small (e.g. a 2 byte ud2 instruction on x86) and debugging this
    sort of thing is "nontrivial".  For example, we now compile:

    void foo() { *(int*)0 = 42; }

    into:

    _foo:
    	pushl	%ebp
    	movl	%esp, %ebp
    	ud2

    Some may even claim that this is a security hole, though that seems dubious
    to me.  This addresses rdar://7958343 - Optimizing away null dereference
    potentially allows arbitrary code execution

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 092afb60a2055258ee242dd439a82e34cd487843
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 8 21:50:26 2010 +0000

    Teach instcombine to transform a bitcast/(zext|trunc)/bitcast sequence
    with a vector input and output into a shuffle vector.  This sort of
    sequence happens when the input code stores with one type and reloads
    with another type and then SROA promotes to i96 integers, which make
    everyone sad.

    This fixes rdar://7896024

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64f042db2b6b7552964c35f64477fca62e3ba6f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 8 20:01:44 2010 +0000

    Fix PR7052, patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93e6eec2dd158b18c50add1f7f3b62572b1eae45
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 8 19:54:22 2010 +0000

    break coff symbol definition stuff out into proper MCStreamer callbacks,
    patch by Nathan Jeffords!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fe43bd6217d5819b51aae79646e2d6ae47e526d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat May 8 04:47:54 2010 +0000

    Readd testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103335 91177308-0d34-0410-b5e6-96231b3b80d8

commit 677897e9e9a1e31485fb24fb5d0ff8ad45728eb0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat May 8 02:10:36 2010 +0000

    Run interrupt routines as part of report_fatal_error, since we are failing
    ungracefully.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103334 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfe92bd58d79a2076c482599cc04b29bed23271a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat May 8 02:10:34 2010 +0000

    Add llvm::sys::RunInterruptHandlers(), which runs the registered SIGINT cleanup
    stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103333 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c11c476d0857bcd7fd687a6ec5bf0d957740d67
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 23:36:59 2010 +0000

    When pruning candidate formulae out of an LSRUse, update the
    LSRUse's Regs set after all pruning is done, rather than trying
    to do it on the fly, which can produce an incomplete result.

    This fixes a case where heuristic pruning was stripping all
    formulae from a use, which led the solver to enter an infinite
    loop.

    Also, add a few asserts to diagnose this kind of situation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103328 91177308-0d34-0410-b5e6-96231b3b80d8

commit c802c7fc1cc6e48040d611dac18bbbd71bbe9da1
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 23:33:41 2010 +0000

    Instead of just verifying compile unit, verify entire type, variable, namespace etc..

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fb888ad41cd75a3ea88b161d7d0f272b60dbca4
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 23:19:07 2010 +0000

    Remove DIGlobal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3fcb9139be65d0180231cfbf018f7de0d149b75
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 7 23:09:17 2010 +0000

    Remove. Don't XFAIL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37dcb515dfafca90579c6168b395f2adee998e3f
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 23:04:32 2010 +0000

    Add DINameSpace::Verify().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103318 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7a301853d2861d24b2a21b8e4fe34715263f85f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri May 7 22:45:36 2010 +0000

    Temorarily revert r101984.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103314 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbf49b90b9e50466620b9d9b2988dd9bfd087477
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri May 7 22:28:25 2010 +0000

    Clang is dying on this with an ambiguous conversion sequence. We're working on it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103312 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48170b0f5d0d026c1d469dbc0c1d50bc5ab1dbbd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 22:19:08 2010 +0000

    SDDbgValues are apparently not being legalized. Fix a symptom of the problem,
    and not the real problem itself, by dropping debug info for i128 values.
    rdar://7958162.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5194388aac7c898a5f19519c9f01f329c47ea356
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 22:15:24 2010 +0000

    Minimally fix this code to not abort on mdnodes with integer data
    wider than 64 bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103309 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe37c1aef03dccab1efbef3536b9d227d4773561
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 22:04:20 2010 +0000

    Verify variable directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103305 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7e879b912873e106b3075de8b08e23a26af19de
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 7 21:49:09 2010 +0000

    add COFF support for COMDAT sections, patch by Nathan Jeffords!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1334595c49125ae6ce9adc0bb96f540d5c7fb039
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 21:45:47 2010 +0000

    Verify entire type descriptor not just tag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51a3491de9e23d6055c7fde7b0c527a9074500e8
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri May 7 21:44:23 2010 +0000

    Fix i386 relocations to Weak Definitions.  The relocation entries should be
    external and the item to be relocated should not have the address of the
    symbol added in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a12dc6c1d24cf3357472617a575d99c82e8ae35
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 21:42:24 2010 +0000

    Verify compile unit also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 587eb6ad38194bff4657d93969f5dfad274fcdf0
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 7 21:35:53 2010 +0000

    Fix PR 7087, and probably other things, by extending
    getConstantFP to accept the two supported long double
    target types.  This was not the original intent, but
    there are other places that assume this works and it's
    easy enough to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103299 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f9f7532e750555486a63ed9f859bff55b826a42
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 20:54:48 2010 +0000

    Wrap const MDNode * inside DIDescriptor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 552242c39a29c3933565286dd253ebfe1d04963d
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 20:34:00 2010 +0000

    Update test to use valid debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103287 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2f92e277657291300fbf76a5d279b4a30b1fb51
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 18:36:34 2010 +0000

    remove DIDescriptor::getNode()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103278 91177308-0d34-0410-b5e6-96231b3b80d8

commit d62deef3017116745861a006fb13fa1868360a02
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri May 7 18:34:55 2010 +0000

    Clean up the conditional for handling of sign_extend_inreg based on
    whether the extract instructions are available.

    rdar://7956878

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 493ef6154ee45a18b8556bd08477f9dddb27501b
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 18:19:32 2010 +0000

    Use overloaded operators instead of DIDescriptor::getNode()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103276 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3ba2c7e656309de4edf91e480cf20ea76692139
Author: Devang Patel <dpatel@apple.com>
Date:   Fri May 7 18:11:54 2010 +0000

    Avoid DIDescriptor::getNode(). Use overloaded operators instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d3eeee9a547a4bd3ccf691b1587f22f70112a87
Author: Kalle Raiskila <kalle.raiskila@nokia.com>
Date:   Fri May 7 18:06:28 2010 +0000

    Testing svn access with a note added to documentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103271 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0f049043690d4ad42cfc8aec6607ba1d71eb07e
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri May 7 17:29:48 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4199dce27ad2a62ccdc579b2c17fdf47ae23bcc1
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 7 17:17:41 2010 +0000

    switch MCSectionCOFF from a syntactic to semantic representation,
    patch by Peter Housel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fa8dccfade140fdff87d15cd694d3fda4fe0373
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri May 7 17:13:20 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103266 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2af4a5f71ee9ff999fd9348c16534b614dad5df
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri May 7 17:03:48 2010 +0000

    Correct some bogus target triples.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103265 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0ee9b5444c2fa45c60608b1ac4c64a6cc3467d7
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 16:39:27 2010 +0000

    Add some words to this output to indicate what the numbers mean.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 748c4c1f438c0e216236ede46acb2483eb4fea7a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri May 7 16:27:04 2010 +0000

    don't pass -f to llc, it doesn't have it anymore.  Patch by Kevin Fan (PR7090)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 202cace8c06aee371a6c65b9a6b66bb21a956a01
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 16:22:32 2010 +0000

    Add a simple module-level debug info printer. It just sets up a
    DebugInfoFinder and iterates over all the contents calling print.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103262 91177308-0d34-0410-b5e6-96231b3b80d8

commit ece6efa8fe9d825b34252b60131d674ec57380df
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 16:17:22 2010 +0000

    Fix the new print functions to call print instead of dump.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103261 91177308-0d34-0410-b5e6-96231b3b80d8

commit 813b87783c00a28e7e7a0ff503589105224a3e7c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 15:40:13 2010 +0000

    Add an LLVM IR version of code sinking. This uses the same simple algorithm
    as MachineSink, but it isn't constrained by MachineInstr-level details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d043203a9786f798a23897c8eaa69c1a312a76f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 15:36:10 2010 +0000

    Const-ify some stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 763d40d9bb122f3b3e17cf685735716ee3e7ec50
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 15:30:29 2010 +0000

    Convert the DebugInfo classes dump() methods into print(raw_ostream &)
    methods, and add dump functions implemented in terms of the print.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103254 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9b0d3d04d83befe7d309f53491d1017f137b40f
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Fri May 7 09:33:18 2010 +0000

    Document graphviz passes for the (post) dominator tree.

    Add documentation for:
      -dot-dom
      -dot-dom-only
      -dot-postdom
      -dot-postdom-only
      -view-dom
      -view-dom-only
      -view-postdom
      -view-postdom-only

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bee0f1a254e6e51106a5eaf584c49b86420606f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 7 02:04:02 2010 +0000

    Use VLD2q32 / VST2q32 to reload / spill QQ (pair of Q) registers when stack slot is sufficiently aligned. Use VLDMD / VSTMD otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3add52a95cd1a957b808928c5a1a53cd963fe6c6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 7 01:54:08 2010 +0000

    Use VSTMD / VLDMD for spills and reloads of Q registers instead of VSTMQ / VLDQ. The later are aliases which ought to be eliminated but we can't because they are used for storing and loading v2f64 values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11dfc80109787f347275a720abae49cc6401436f
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri May 7 01:45:38 2010 +0000

    Revert r103133 and add testcase from PR7066.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f4bc5e5e47e1f54a14703053272bd0ed90058e6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 01:28:10 2010 +0000

    When rematerializing, use the debug location of the original
    instruction, rather than a location near where the new instruction
    is being inserted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95dc99c2c7de046e843dd3c98495f5902d40f99b
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri May 7 01:11:31 2010 +0000

    Adjust tests affected by llvm-gcc 103229.
    All results here match gcc-4.2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103230 91177308-0d34-0410-b5e6-96231b3b80d8

commit a028648e0935237d06d3fb1a2a7a5ccb10d95e1a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 01:10:20 2010 +0000

    Transfer debug location information from PHI nodes to resulting
    lowered copies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0299427d947265154cdd1c25bb8c3e4d69f2a7dd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 01:09:21 2010 +0000

    Print debug information for SDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ad546938df99ff5def150b2a5804d83f58761c1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri May 7 01:08:53 2010 +0000

    Disable the new unknown-location code for now. It causes a major
    increase in the debug line info section, and it's causing
    regressions in a gdb testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1828f9f04b287168876866eaa9bf9b1d34a43bd4
Author: mike-m <mikem.llvm@gmail.com>
Date:   Fri May 7 00:28:04 2010 +0000

    Revert r103213. It broke several sections of live website.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103219 91177308-0d34-0410-b5e6-96231b3b80d8

commit c29910339860ed2da15c10a8946f79b963b3a120
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri May 7 00:24:52 2010 +0000

    Remove VLD1q and VST1q for reloading and spilling Q registers. Just use VLD1q64 / VST1q64 and reference sub-registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103218 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4ea5fec0fe82285628b68fb0fe4435c6269b2c4
Author: mike-m <mikem.llvm@gmail.com>
Date:   Fri May 7 00:13:23 2010 +0000

    Disable man->postscript and man->pdf doc generation unless explicitly
    configured via --enable-doxygen. It seems some systems have broken pdfroff
    so automatic use of it is not safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103217 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0340079c6bed67a68e36829952c990fdca0e7b37
Author: mike-m <mikem.llvm@gmail.com>
Date:   Thu May 6 23:48:37 2010 +0000

    Cleanup unneeded dirs after docs overhaul.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3135ba512fac30abfdac237ea25a5cf19f0bd1ab
Author: mike-m <mikem.llvm@gmail.com>
Date:   Thu May 6 23:45:43 2010 +0000

    Overhauled llvm/clang docs builds. Closes PR6613.

    NOTE: 2nd part changeset for cfe trunk to follow.

    *** PRE-PATCH ISSUES ADDRESSED

    - clang api docs fail build from objdir
    - clang/llvm api docs collide in install PREFIX/
    - clang/llvm main docs collide in install
    - clang/llvm main docs have full of hard coded destination
      assumptions and make use of absolute root in static html files;
      namely CommandGuide tools hard codes a website destination
      for cross references and some html cross references assume
      website root paths

    *** IMPROVEMENTS

    - bumped Doxygen from 1.4.x -> 1.6.3
    - splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
    - provide consistent, reliable doc builds for both main+api docs
    - support buid vs. install vs. website intentions
    - support objdir builds
    - document targets with 'make help'
    - correct clean and uninstall operations
    - use recursive dir delete only where absolutely necessary
    - added call function fn.RMRF which safeguards against botched 'rm -rf';
      if any target (or any variable is evaluated) which attempts
      to remove any dirs which match a hard-coded 'safelist', a verbose
      error will be printed and make will error-stop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f3c5a0b20753b224249161cab8c64118230e290
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 6 22:39:14 2010 +0000

    MC/X86: X86AbsMemAsmOperand is subclass of X86NoSegMemAsmOperand.
     - This fixes "leal 0, %eax", for example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103205 91177308-0d34-0410-b5e6-96231b3b80d8

commit b46dda09c4b87e3c3c029dc68e6bcbefe304c4f6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu May 6 21:48:14 2010 +0000

    fix rdar://7947167 - llvm-mc doesn't match movsq

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 049db93d0440cab8d4da59f94616d20369b97b81
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu May 6 20:59:00 2010 +0000

    Eliminated the classification of control registers into %ecr_
    and %rcr_, leaving just %cr_ which is what people expect.
    Updated the disassembler to support this unified register set.
    Added a testcase to verify that the registers continue to be
    decoded correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 178ab868962ee4092666918be123bad4201b3a18
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 6 20:34:01 2010 +0000

    MC/X86: Error out if we see a non-constant FK_Data_1 or FK_Data_2 fixup, since
    we don't currently support relaxing them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 776d4265139d381529556249657b5985abaa3c79
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 20:33:48 2010 +0000

    Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it
    doesn't have to guess.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103194 91177308-0d34-0410-b5e6-96231b3b80d8

commit b789591b23d4e4d636c23af0e61933378b08ac0d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 19:06:44 2010 +0000

    Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103193 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2327270f3c09e0c746096de5faa2e76a7201aa9f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 17:49:17 2010 +0000

    Add a testcase for r103135, explicitly representing unknown
    locations in debug line info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103189 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3d4945b16b5e60dff5b6096c44834136fb1c032
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 16:33:12 2010 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04953388bc10cf443857d683da40a32c155aa7f7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 6 16:24:11 2010 +0000

    Fix handling of unreachable blocks in the SSAUpdater.  The previous code only
    handled cases where a block had zero predecessors, but failed to detect other
    cases like loops with no entries.  The SSAUpdater is already doing a forward
    traversal through the blocks, so it is not hard to identify the blocks that
    were never reached on that traversal.  This fixes the crash for ppc on the
    stepanov_vector test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103184 91177308-0d34-0410-b5e6-96231b3b80d8

commit de855527ed112a489e1bdcef165d5a4992978bdd
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu May 6 16:05:26 2010 +0000

    Add a missing break statement to fix unintentional fall-through
    (replacing the previous patch for the same issue).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80a2a36b3a61a2de71a966cfe4eeddd112e9cfe1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu May 6 15:32:49 2010 +0000

    Fix unintentional fallthrough. Patch by Edmund Grimley-Evans <Edmund.Grimley-Evans@arm.com>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24704adbe3cad8ccef47a89d5ddde5a3089d9f1f
Author: Shantonu Sen <ssen@apple.com>
Date:   Thu May 6 14:57:47 2010 +0000

    Fix "warning: extra ';' inside a struct or union" when building llvm with clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103179 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bdadeabc9b1e84b066ca53c3cc21014c73ec1eb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu May 6 14:46:38 2010 +0000

    Revert r103137, fix for $ in labels. It looks like we can't actually handle this
    at the token level. Consider the following horrible test case:

      a = 1
      .globl $a
      movl ($a), %eax
      movl $a, %eax
      movl $$a, %eax

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103178 91177308-0d34-0410-b5e6-96231b3b80d8

commit d120e4b29ec115f82d38c16057ca637752e16265
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 06:36:08 2010 +0000

    Re-apply 103156 and 103157. 103156 didn't break anything. 10315 exposed a coalescer bug that's fixed by 103170.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63e219299d8d28645329b220823582ec5730892f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 06:23:31 2010 +0000

    Fixes a coalescer bug that caused llc to crash on 2009-11-30-LiveVariablesBug.ll
    with the fix in 103157.

    %reg1039:1<def> = VMOVS %S1<kill>, pred:14, pred:%reg0
    is not coalescable since none of the super-registers of S1 are in reg1039's
    register class: DPR_VFP2. But it is still a legal copy instruction so it should
    not assert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 610047ad786953ef4fb1c4c4ca203f5607d25fa4
Author: Sena Hunt <rideau3@gmail.com>
Date:   Thu May 6 05:24:38 2010 +0000

    Fix some stylistic issues with my last commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d3901a70db4916576468c5dfaa93fe889eb740d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 05:08:57 2010 +0000

    Revert r103157, which broke test/CodeGen/ARM/2009-11-30-LiveVariablesBug.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a9e95880b93372d1004b6a47529d82a3c1c30cc
Author: Eric Christopher <echristo@apple.com>
Date:   Thu May 6 02:29:06 2010 +0000

    Revert r103156 since it was breaking the build bots.

       Reverse-merging r103156 into '.':
    U    lib/Target/ARM/ARMInstrNEON.td
    U    lib/Target/ARM/ARMRegisterInfo.h
    U    lib/Target/ARM/ARMBaseRegisterInfo.cpp
    U    lib/Target/ARM/ARMBaseInstrInfo.cpp
    U    lib/Target/ARM/ARMRegisterInfo.td

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5de376c3e1a4afe1a586df60c402274254110ab6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 02:06:20 2010 +0000

    Handle the case where open(2) or close(2) is interrupted by a signal when
    automatic syscall restarting is disabled.

    Also, fix the build on systems which don't define EWOULDBLOCK.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103158 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3b0e345a2a3223539f4f7a7ad59a49869fc7d67
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 01:54:03 2010 +0000

    Fix an obvious bug in isMoveInstr. It needs to return sub-register indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103157 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38511c0e40da7e449b17563dd6ebdd405aa73f18
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 01:52:03 2010 +0000

    Adding pseudo 256-bit registers QQ0 . . . QQ7 to represent pairs of Q registers. These will be used to model VLD2 / VST2 instructions in order to get substantially better codegen for them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 511266b0eef4ef72fbbc658f42c155840d0bb2c8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 01:34:11 2010 +0000

    Cosmetic changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 941d3f285b797605ca9ac6a579386f47bf4e2e14
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu May 6 01:32:54 2010 +0000

    storeRegToStackSlot has forgotten about QPR_8 register class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e8f19eea0bf50269501510f64c1357c469e8f30
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 01:27:36 2010 +0000

    Handle EWOULDBLOCK as EAGAIN. And add a comment explaining why
    EAGAIN and EWOULDBLOCK are used here.

    Also, handle the case where a write call is interrupted after
    some data has already been written.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103153 91177308-0d34-0410-b5e6-96231b3b80d8

commit df60e421008fa11361e043d3df41b4d65bacf58c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu May 6 00:54:20 2010 +0000

    make -filetype=obj default to emitting its output to foo.obj
    when on windows instead of foo.o.  Patch by Nathan Jeffords!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a8ee7f27a4f59c51ca414cc45835d4976580976
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 00:29:41 2010 +0000

    Update LabelsBeforeInsn also, when creating unknown-position labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103145 91177308-0d34-0410-b5e6-96231b3b80d8

commit a41643a8d4b68392975392de162c1cba88f37ec3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu May 6 00:05:37 2010 +0000

    Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.

    Users can write broken code that emits the same label twice with asm renaming,
    detect this and emit a fatal backend error instead of aborting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103140 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51dc54b4e37336ed1e6f08c15bbbca49515e0cf5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu May 6 00:02:14 2010 +0000

    In bottom-up mode, defer the materialization of local constant values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103139 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8efdd110fecc3dec360a19e70581248c7820fac
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 5 23:58:35 2010 +0000

    Add an "IsBottomUp" member function to FastISel, which will be used to
    support a new bottom-up mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103138 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8b0e27b2da134f8ea4727d2d5acc3f5c7d180e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 5 23:51:28 2010 +0000

    fix rdar://7946934 - in some limited cases, the assembler should
    allow $ at the start of a symbol name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60de72952892c480f6a5d41bddf0fdc99a5587b8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 23:44:43 2010 +0000

    Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack
    instructions to subtarget features and update tests to reflect.
    PR5717.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103136 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0d776153a0b8494b1fbb60866850e5cefb1a0f3
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 5 23:41:32 2010 +0000

    Emit debug info for MachineInstrs with unknown debug locations, instead
    of just letting them inherit the debug locations of adjacent instructions.

    Debug info should aim to be either accurate or absent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33fd7a41991d8f09a6828ba693d260c952fa272b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 5 23:29:09 2010 +0000

    Fix some ..'s

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103134 91177308-0d34-0410-b5e6-96231b3b80d8

commit e490b460d0c80e807b9ba9c13558216e0180afe4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed May 5 23:07:41 2010 +0000

    Fix PR6520. An earlyclobber physreg must not be allocated to anything else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103133 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aaa2a942b037721bdd6de94c037b9a8ffec3848
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed May 5 22:49:33 2010 +0000

    Test case for pr2394 and r102979.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103129 91177308-0d34-0410-b5e6-96231b3b80d8

commit a65cfc96a1408b3f63201fe09643d60f696726eb
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed May 5 22:47:27 2010 +0000

    Fixed a sign-extension bug in the X86 disassembler
    that was causing PC-relative branch targets to be
    evaluated incorrectly.  Also added support for
    checking operand values to the llvm-mc tester.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103128 91177308-0d34-0410-b5e6-96231b3b80d8

commit b42a74b2b9a37ad093c3d60f2346201ced225c6f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed May 5 22:29:00 2010 +0000

    Use getValue() for PHINodes when direct NodeMap access does not work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103126 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccbbf233d6684cb7861958402f73e4ecd66be8ed
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed May 5 22:22:40 2010 +0000

    Select an ARM-hosted cross build with a separate makefile target instead of
    a magic project name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f275447ac720af64d170c255cf8cdbc130d47c1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 5 22:15:40 2010 +0000

    Do not pre-allocate references of D registers pairs if they are extracted from the same Q register and are in the right order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103124 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c9e850161b62eb2484daeb9ed42edd1c83b5f60
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 21:07:46 2010 +0000

    fix copy/paste oops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 053f2ad13f720c321dc8e38a822df3599f09f1f0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed May 5 20:58:01 2010 +0000

    No-ops emitted for scheduling don't correspond with anything in the
    user's source, so don't arbitrarily assign them a debug location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103121 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff86803ab86bf9210916f033cf9e4822e9cead49
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 20:47:15 2010 +0000

    Add tests for ARMV7M divide instruction use

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c5e331272bd181b9dff14e178f011ed95195d0b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 20:44:35 2010 +0000

    Add initial support for ARMv7M subtarget and cortex-m3 cpu. Patch by
    Jordy <snhjordy@gmail.com>.

    Followup patches will add some tests and adjust to use Subtarget features
    for the instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60c683f254bdd04e2d4abd20a2600fdfca253b22
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed May 5 20:44:15 2010 +0000

    Use the right version of "append" to combine two SmallVectors.
    This fixes the compile-time regressions seen in last night's tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103118 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cdeedf8a26bf41fc2d81395f5a0763dd2890807
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 19:55:58 2010 +0000

    remove unneeded underscores.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bcd55e47936081722c868b5fcbfa869d5faa89b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed May 5 19:41:11 2010 +0000

    Convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5882614dec8d9344637cc424f8a440d01347ee3b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 19:01:05 2010 +0000

    MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for
    writing them.
     - <rdar://problem/7885351> integrated assembler broken for i386 objc code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57c418336a7a74a78ace65f3c8211f55a76cd0ac
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 19:01:00 2010 +0000

    MC: Reject attempts to define a variable symbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103111 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc506123961541cefc618dcc175a2019eeb3087b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 19:00:56 2010 +0000

    MC: Make setVariableValue check the redefinition condition a bit more strongly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103110 91177308-0d34-0410-b5e6-96231b3b80d8

commit c927f84422da830542022bc4f58335474951ca99
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 5 18:45:40 2010 +0000

    Move REG_SEQUENCE removal to 2addr pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103109 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5e821f17eecdebb1955e501806be970f4e07d6a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed May 5 18:40:33 2010 +0000

    Implement rdar://7415680 - Twine integer support lacks greatness

    Microoptimize Twine's with unsigned and int to not pin their value to
    the stack.  This saves stack space in common cases and allows mem2reg
    in the caller.  A simple example is:

    void foo(const Twine &);
    void bar(int x) {
      foo("xyz: " + Twine(x));
    }

    Before:

    __Z3bari:
    	subq	$40, %rsp
    	movl	%edi, 36(%rsp)
    	leaq	L_.str3(%rip), %rax
    	leaq	36(%rsp), %rcx
    	leaq	8(%rsp), %rdi
    	movq	%rax, 8(%rsp)
    	movq	%rcx, 16(%rsp)
    	movb	$3, 24(%rsp)
    	movb	$7, 25(%rsp)
    	callq	__Z3fooRKN4llvm5TwineE
    	addq	$40, %rsp
    	ret

    After:

    __Z3bari:
    	subq	$24, %rsp
    	leaq	L_.str3(%rip), %rax
    	movq	%rax, (%rsp)
    	movslq	%edi, %rax
    	movq	%rax, 8(%rsp)
    	movb	$3, 16(%rsp)
    	movb	$7, 17(%rsp)
    	leaq	(%rsp), %rdi
    	callq	__Z3fooRKN4llvm5TwineE
    	addq	$24, %rsp
    	ret

    It saves 16 bytes of stack and one instruction in this case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75a862a6265b7b722cadb19f6bc098ff7a8b4af1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed May 5 18:39:16 2010 +0000

    Rearrange the suppressions files to be by-architecture instead of by-problem.
    ddunbar says the gcc-4.3.3 suppressions are obsolete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3882c7a0595883270faa55f791849b0bca0e6849
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 5 18:28:36 2010 +0000

    Model CONCAT_VECTORS of two 64-bit values as a REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 606a3c23832b09560be667724518f2066590a0c9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 5 18:27:57 2010 +0000

    Trim include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f65d1ff91f5f403a68f075bf596ad4b5e26a2aa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed May 5 18:27:40 2010 +0000

    Teach liveintervalanalysis about virtual registers which are defined by reg_sequence instructions that are formed by registers defined by distinct instructions. e.g.
    80      %reg1041:6<def> = VSHRNv4i16 %reg1034<kill>, 12, pred:14, pred:%reg0
    . . .
    120     %reg1041:5<def> = VSHRNv4i16 %reg1039<kill>, 12, pred:14, pred:%reg0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a6e2ec17f9fbcc0c241082cd99414209584a45a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed May 5 18:15:26 2010 +0000

    Add a suppressions file for an intermittent "leak" under RegisterPass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ecdb98bbfe65689d60df2c7892e43f81633949c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 17:41:00 2010 +0000

    MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93dcfc26dda9619336ca1c429b6390f30c318d04
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 17:22:39 2010 +0000

    MC/Mach-O/x86_64: Relocations in debug sections should use local relocations
    when possible.
     - <rdar://problem/7934873>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1037e835f253ae87aaa8eaddd7622c6ee955a41e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed May 5 17:22:35 2010 +0000

    lit: Allow test_format to be None.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103091 91177308-0d34-0410-b5e6-96231b3b80d8

commit bee80a4dad870d13604dd59f4149e0a9ed1d5194
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed May 5 15:17:47 2010 +0000

    Try again if write(2) reports an recoverable error.

    This should fix mysteriously crashing boost regression tests when stderr is
    managed by bjam (PR7043).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103085 91177308-0d34-0410-b5e6-96231b3b80d8

commit b407491e5c0b9cd441186feafab4a386693fc160
Author: Shantonu Sen <ssen@apple.com>
Date:   Wed May 5 13:56:46 2010 +0000

    Add newline to end of file to avoid warning
    when building llvm with clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103084 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3fe48b8f4885bf486cbe5cf8615882c002232de
Author: Eric Christopher <echristo@apple.com>
Date:   Wed May 5 07:35:59 2010 +0000

    Revert 102941, we're going to do this via attr and can just
    hack the code to turn it off when debugging.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103083 91177308-0d34-0410-b5e6-96231b3b80d8

commit c35a492bbcfeaec95aabfb3aa0b9d96ed463f3a2
Author: Sena Hunt <rideau3@gmail.com>
Date:   Wed May 5 04:31:44 2010 +0000

    Include the right header for toupper

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0da067fa887953d3bcca1dea75fc86adf57f28fc
Author: Sena Hunt <rideau3@gmail.com>
Date:   Wed May 5 04:13:08 2010 +0000

    Add an emitter to handle the list of clang statement nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a8494d8ce028dde9a625501c5d645d1b0430195
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 4 23:18:19 2010 +0000

    Combine the implementations of the core part of the SSAUpdater and
    MachineSSAUpdater to avoid duplicating all the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cbf73535ab7adc24ce3a810163f521ec40d40e8
Author: Eric Christopher <echristo@apple.com>
Date:   Tue May 4 22:13:03 2010 +0000

    Update comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58bdf0bb51c3547062e8d4a14706d87c3142af8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue May 4 20:44:23 2010 +0000

    add the ability to associate 'category' names with clang diagnostics
    and diagnostic groups.  This allows the compiler to group
    diagnostics together (e.g. "Logic Warning",
    "Format String Warning", etc) like the static analyzer does.
    This is not exposed through anything in the compiler yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103050 91177308-0d34-0410-b5e6-96231b3b80d8

commit eca5434f898b07b438a2b7a0c6c57608edd632bf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 20:39:49 2010 +0000

    With -neon-reg-sequence, models forming a Q register from a pair of consecutive D registers as a REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14dc12d54b04592ed82d2ac9dfc4823b558700e3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 20:38:12 2010 +0000

    Do not pre-allocate for registers which form a REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103041 91177308-0d34-0410-b5e6-96231b3b80d8

commit b044f133ceda5fb9437331f897e4107db483014c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 20:26:52 2010 +0000

    Teach PHI elimination to remove REG_SEQUENCE instructions and update references of the source operands with references of the destination with subreg indices. e.g.
    %reg1029<def>, %reg1030<def> = VLD1q16 %reg1024<kill>, ...
    %reg1031<def> = REG_SEQUENCE %reg1029<kill>, 5, %reg1030<kill>, 6
    =>
    %reg1031:5<def>, %reg1031:6<def> = VLD1q16 %reg1024<kill>, ...

    PHI elimination now does more than phi elimination. It is really a de-SSA pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b9be5a827ac643994da2538ec9403dc87536f7f
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue May 4 20:09:25 2010 +0000

    Use llvm.foo as the intrinsic, rather than llvm.dbg.value.  Since the
    values passed to llvm.dbg.value were not valid for the intrinsic, it
    might have caused trouble one day if the verifier ever started checking
    for valid debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33751bbcc917ea4575240ccc30e044b31b37f4fe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue May 4 20:03:21 2010 +0000

    Defer adding critical edges to the "toSplit" list until after checking for
    indirect branches in all the predecessors.  This avoids unnecessarily
    splitting edges in cases where load PRE is not possible anyway.
    Thanks to Jakub Staszak for pointing this out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2242188437c4a376c5d16a8bef8210cb9edce695
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue May 4 18:16:00 2010 +0000

    one more thing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103024 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77f6893cc86fce945808a3db7edf4d68658a453c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue May 4 18:15:33 2010 +0000

    update instructions for llvm-gcc4, the brave new world!  PR7037

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103023 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18a295195bcec3bd8fe0053a442c026087300528
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue May 4 17:58:46 2010 +0000

    "on the rare occasion the SPU BE produces illegal assembly - it tries to emit an add instruction of the form 'a reg, reg, imm'."

    Patch by Kalle Raiskila!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de3e21e7ab803ac4a90f74a8730264630b91766
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 4 17:31:02 2010 +0000

    MC/X86: Chris pointed that 'as' isn't consistent in accepting the long form of
    instructions which have no direct register usage.

    Darwin 'as' accepts:
      add $0, (%rax)
    but rejects
      mov $0, (%rax)
    for example.

    Given that, only accept suffix matches which match exactly one form. We still
    need to emit nice diagnostics for failures...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bdbf35d1bea4b6ce046f39a6ef2d51907f2e28a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 17:12:26 2010 +0000

    Rename variables for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56aac4fe4246be908ba4f892eae2ff5e2c578d1f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 4 16:12:42 2010 +0000

    MC/X86: Add "support" for matching ATT style mnemonic prefixes.
     - The idea is that when a match fails, we just try to match each of +'b', +'w',
       +'l'. If exactly one matches, we assume this is a mnemonic prefix and accept
       it. If all match, we assume it is width generic, and take the 'l' form.

     - This would be a horrible hack, if it weren't so simple. Therefore it is an
       elegant solution! Chris gets the credit for this particular elegant
       solution. :)

     - Next step to making this more robust is to have the X86 matcher generate the
       mnemonic prefix information. Ideally we would also compute up-front exactly
       which mnemonic to attempt to match, but this may require more custom code in
       the matcher than is really worth it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 308604ea9ceb6e6b121f1afc41a2741f95b45fe6
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue May 4 14:25:42 2010 +0000

    Fix a problem exposed by my previous commit and noticed by a release-asserts
    buildbot: the debugging and non-debugging versions of getFunction were not
    functionally equivalent: the non-debugging version wrongly assumed that if a
    metadata operand was not metadata, then it had a non-null containing function.
    This is not true, since the operand might be a global value, constant etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13b48284aa5d5e7639acf1c3f1012a794260afef
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue May 4 12:43:36 2010 +0000

    Fix a variant of PR6112 found by thinking about it: when doing
    RAUW of a global variable with a local variable in function F,
    if function local metadata M in function G was using the global
    then M would become function-local to both F and G, which is not
    allowed.  See the testcase for an example.  Fixed by detecting
    this situation and zapping the metadata operand when it occurs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103007 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee974e9e2f0937f9de0ea817281a3080866da5a9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue May 4 09:23:54 2010 +0000

    fix operand indexes when outputting InvokeInsts

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 900b82f7032fcc00dbc2b64920262b67036df542
Author: Devang Patel <dpatel@apple.com>
Date:   Tue May 4 06:15:30 2010 +0000

    Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is available all the time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103001 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbe644ea519cfa8a49e1831912978e3de92c662b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 4 01:12:27 2010 +0000

    Use the SCEVAddRecExpr::getPostIncExpr utility function instead
    of doing the same thing manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 821315824c17224292ef493166ba71ead182303a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 4 01:11:15 2010 +0000

    Fix a copy+pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6359271d0b3048a83861e0b522ea2d729965a408
Author: Devang Patel <dpatel@apple.com>
Date:   Tue May 4 01:05:02 2010 +0000

    Do not ignore debug loc attached with llvm.dbg.declare while collecting debug info used by a module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102995 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2b5a665fd8d7c74388e13663b02a9ea332727a6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 00:58:39 2010 +0000

    Instruction selection optimizations may have moved the def of a function argument out of the entry block. rdar://7937489

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28eac658f6cf62d3cf80bc9dbd604a116a73716f
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue May 4 00:42:46 2010 +0000

    Fix to r102952.  The MOV64toSDrm record in X86Instr64bit.td needed the opcode
    changed to 0x7E from 0x6E as well as the previous change of RPDI to S3SI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16906afdbeb9fd33fb7dc0e3b70c18e5a7becddf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 4 00:33:13 2010 +0000

    MC/Matcher: Add support for over-riding the default MatchInstruction function
    name (for example, to allow targets to interpose the actual MatchInstruction
    function).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47bd7cbce93c36d3f5816eb41fb23733dae8011b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue May 4 00:33:07 2010 +0000

    llvm-mc: Fix case were we would skip a line in the .s file after an instruction
    match failure.

    Also, fixes a few memory leak FIXMEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102986 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ae1b4f9e5ac75480b55481f591868000d908bb8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue May 4 00:22:40 2010 +0000

    Teach scheduler about REG_SEQUENCE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102984 91177308-0d34-0410-b5e6-96231b3b80d8

commit a66cc0883b6f3b54b19b0453ee31ecdc5979bf20
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 4 00:13:24 2010 +0000

    Add a polygen rule that reflects the fact that nsw and nuw can be
    used together in either order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5876edb3e3c731481f6238a26247b583de75296c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue May 4 00:12:15 2010 +0000

    Re-enable isel kill flags, now that the local allocator is ignoring them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fc249203cde5ff904f7329537a59394fdc750cf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue May 4 00:11:37 2010 +0000

    rdar://7937137 - dbg values not being handled in thumb1 version of
    eliminateFrameIndex(), leading to llvm_unreachable() assertion failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cdf1063ace00f714b2717d27a5e554577e85f08
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 23:52:21 2010 +0000

    Update one more 2.7 to 2.8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00393719cb04a473b80d8333cffd0cacb2b788b8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 23:51:05 2010 +0000

    Minimally update ReleaseNotes.html for 2.8 development; uncomment and
    update the big red warning at the top. Most of the old content remains
    and awaits revision.

    Clear out the API changes section, and start it up again with a
    mention of the add->fadd transition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102977 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e97ac447774a70fca21fcc116c4f1a2417c2ae
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 3 23:49:20 2010 +0000

    Remove preexisting kill flags in RegAllocLocal, just like LiveVariables does.

    This should make it possible to start producing kill flags in isel without
    breaking stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 387457c66e88d803a5e25ce97cc9addc4c44a4f1
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 23:36:34 2010 +0000

    Factor out FastISel's code for materializing constants and other values
    in registers into a separate function to de-couple it from the
    top-down-specific logic in getRegForValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102975 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e1b667edf66dbe49e95ed0e6460e08a34428de0
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon May 3 22:59:34 2010 +0000

    Implement builtin_return_address(x) and builtin_frame_address(x)
    on PPC for x!=0.  7624113.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102972 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca369bba44810b1e3ef67458e06fc1a374672693
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 22:44:19 2010 +0000

    Remove the API compatibility layer which converted add, sub, and mul
    to fadd, fsub, and fmul, when used with a floating-point type. LLVM
    has supported the new instructions since 2.6, so it's time to get
    on board.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 791c0b20b854d19105ec70e3bb435cd90a4fca06
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon May 3 22:40:32 2010 +0000

    Check that subregisters don't have independent values in RemoveCopyByCommutingDef().

    This fixes PR6941.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102970 91177308-0d34-0410-b5e6-96231b3b80d8

commit e32b3c453753fbdb3433141722310f6b7b450b06
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 22:36:46 2010 +0000

    Fix tests to use fadd, fsub, and fmul, instead of add, sub, and mul,
    when the type is floating-point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102969 91177308-0d34-0410-b5e6-96231b3b80d8

commit f061faccb1074fa388dcb3b2e540446ad3d390be
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 3 22:18:49 2010 +0000

    Reword a comment slightly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d31b0a5166f617d8d6cd759a90989a1d13721c9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 22:09:21 2010 +0000

    Use getConstant instead of getIntegerSCEV. The two are basically the
    same, now that getConstant has overloads consistent with ConstantInt::get.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3912098443b8859c8d444003f69e05c2ddaea112
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon May 3 21:51:21 2010 +0000

    Revert r102948.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102964 91177308-0d34-0410-b5e6-96231b3b80d8

commit b835d13b044b4ffa208e321cebfa6778907bf11b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 3 21:41:24 2010 +0000

    Remove special case for llvmCore_Embedded project.  This is no longer needed
    since llvmCore is built as part of llvmgcc42 now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dbe274ed93b07b486b371bc08038c4e2d3b7473
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon May 3 21:38:11 2010 +0000

    Print basic block numbers in live interval debug output. Since the rest of the
    debug output is showing machine instructions, the IR-level basic block names
    aren't very meaningful, and because multiple machine basic blocks may be
    derived from one IR-level BB, they're also not unique.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102960 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4d3ee8eff2ae77af958e1ff3489bf4da7f50ba8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon May 3 21:36:51 2010 +0000

    Fix function prototype mismatch in LLVMUnionType(). Fixes PR7019.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 567b0682ef9a9f948c170cf69ed8844e4a236918
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon May 3 21:31:40 2010 +0000

    Changed llvm-mc to use the same suffixes with floating point compare
    instructions as the Mac OS X darwin assembler.  Some of which like 'fcoml'
    assembled to different opcodes.  While some of the suffixes were just different.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 148eb714105f00304a266ca717fe9a3ce3594bf6
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon May 3 21:03:31 2010 +0000

    Fixed the encoding of two of the X86 movq instuctions.  The Move quadword from
    mm to mm/m64 and the Move quadword from xmm2/mem64 to xmm1 had the incorrect
    encodings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6dbfd526a74d1223c9ccbd8e9f66093b251e0238
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon May 3 20:45:05 2010 +0000

    Fixed the encoding of the x86 push instructions.  Using a 32-bit immediate value
    caused the a pushl instruction to be incorrectly encoding using only two bytes
    of immediate, causing the following 2 instruction bytes to be part of the 32-bit
    immediate value.  Also fixed the one byte form of push to be used when the
    immediate would fit in a signed extended byte.  Lastly changed the names to not
    include the 32 of PUSH32 since they actually push the size of the stack pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102951 91177308-0d34-0410-b5e6-96231b3b80d8

commit d635b4c759489ee8e54ad1a495ab3a8eeaee20ef
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon May 3 20:39:35 2010 +0000

    Testcase for r102947.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102948 91177308-0d34-0410-b5e6-96231b3b80d8

commit a27aeaa08e09b3a9c3497ba76806d6c937cab768
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 20:23:47 2010 +0000

    Silence warnings about -1 being converted to an unsigned value.

    Also, pass true for isSigned even when creating constants for unsigned
    comparisons, because the point is to create an all-ones constant,
    rather than UINT64_MAX, even for integers wider than 64 bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34f1c9a44cbff7391bcfa5a35ec0a8dab0571b9a
Author: Eric Christopher <echristo@apple.com>
Date:   Mon May 3 19:54:02 2010 +0000

    Add an option, defaulting to off, to disable the sse domain crossing opts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bafd698e10c2aeab80d12e5780df7799a9bd0e0
Author: Devang Patel <dpatel@apple.com>
Date:   Mon May 3 18:06:58 2010 +0000

    Check for side effects before splitting loop.
    Patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54b19d5b548a7452a565dc7270ecf0046c0d2f6d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 18:00:24 2010 +0000

    Use isTrueWhenEqual and isFalseWhenEqual instead of assuming that
    SimplifyICmpOperands will simplify such cases to EQ or NE. This makes
    the correcntess of the code independent on SimplifyICmpOperands doing
    certain simplifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102927 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0773eaf36a81e8257b4ab8ad95846fd69af7f9e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 17:03:23 2010 +0000

    In ScalarEvolution::print, don't bother printing out the SCEVs for
    comparison instructions, since they aren't interesting, despite having
    integer result types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b9791b2032512a5afeee52b1030adcd71ca39bb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 17:00:11 2010 +0000

    In SimplifyICmpOperands, avoid needlessly swapping the operands in the
    case where both are addrecs in unrelated loops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102924 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ed8daab2d1d88d7a70ab10c62fb324d6369002c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 16:35:17 2010 +0000

    Factor out the new <= and >= analysis code into SimplifyICmpOperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102922 91177308-0d34-0410-b5e6-96231b3b80d8

commit a57162191a0a596278a66c24006023bbd37d697c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:59:34 2010 +0000

    Update this comment to note its relationship with the "happens-before"
    concept in the proposed memory model changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20f1bb0f71dc31798074e5a3dbcaf43f96788474
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:58:14 2010 +0000

    Delete this comment. The behavior of struct loads and stores with
    respect to padding bytes isn't something that the dependence text
    needs to spell out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102910 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5f41415032969353b1ac13dbb31c1bb9791f07b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:55:22 2010 +0000

    Describe invoke instruction dependencies. Generalize the text for
    terminator instructions so that it applies to all terminators with
    multiple successors, including invoke.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32d41d6471040bafbee406039d9b02601d925b2a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:51:43 2010 +0000

    Say "operations" instead of "instructions", as nsw can be applied to
    constant expressions as well as instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e9e8b3b13f6c249843b60ec223a0b45f88f41fb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:35:47 2010 +0000

    Fix a bug which prevented tail merging of return instructions in
    beneficial cases. See the changes in test/CodeGen/X86/tail-opts.ll and
    test/CodeGen/ARM/ifcvt2.ll for details.

    The fix is to change HashEndOfMBB to hash at most one instruction,
    instead of trying to apply heuristics about when it will be profitable to
    consider more than one instruction. The regular tail-merging heuristics
    are already prepared to handle the same cases, and they're more precise.

    Also, make test/CodeGen/ARM/ifcvt5.ll and
    test/CodeGen/Thumb2/thumb2-branch.ll slightly more complex so that they
    continue to test what they're intended to test.

    And, this eliminates the problem in
    test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll, the testcase from
    PR5204. Update it accordingly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102907 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d2689119cfa40e3c4d55bcab9454a8bd5db0217
Author: Dan Gohman <gohman@apple.com>
Date:   Mon May 3 14:31:00 2010 +0000

    Add a README entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98f26e7b9e7c614e76a00b918d5197d7ad66fdfd
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun May 2 15:36:26 2010 +0000

    Remove the -enable-sjlj-eh option, which doesn't do anything.
    Remove the -enable-eh option which is only used by the JIT,
    and replace it with -jit-enable-eh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102865 91177308-0d34-0410-b5e6-96231b3b80d8

commit cae9696bf1ae5d1ec4d4baa2ddef209a52809213
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 17:36:49 2010 +0000

    fix some inconsistent line endings, patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102852 91177308-0d34-0410-b5e6-96231b3b80d8

commit a384cc86a6e629b538f78be78201f9cf65e18d97
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 17:19:38 2010 +0000

    revert r102831.  We already delete dead readonly calls in
    other places, killing a valid transformation is not the right
    answer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102850 91177308-0d34-0410-b5e6-96231b3b80d8

commit c63ff6d979edbc9c7708e309779dc3a00075c58c
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat May 1 16:41:11 2010 +0000

    Don't count debug info as instructions.  This was
    preventing the emission of the NOP on Darwin for a
    function with no actual code.  From timberwolfmc
    with TEST=optllcdbg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102843 91177308-0d34-0410-b5e6-96231b3b80d8

commit e91c57ecd4cc19efac45a37b3ce60427f93dd933
Author: David Chisnall <csdavec@swan.ac.uk>
Date:   Sat May 1 15:47:41 2010 +0000

    Added a variant of InlineCostAnalyzer::getInlineCost() that takes the called function as an explicit argument, for use when inlining function pointers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81c4cc86bd70ef29dbbe642af8a32973c600593c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 1 12:52:34 2010 +0000

    Insert ANY_EXTEND node instead of invalid truncate during DAG Combining (X & 1),
    when needed. This fixes PR7001

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102838 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4135f3ccd31813812a079590110dc8e4548ebf4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 1 12:28:21 2010 +0000

    Do folding for indirect branches, where possible

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3aa5d6330f9cbae2c91e1067b6b4b3917bc5ba0b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 1 12:04:32 2010 +0000

    Implement indirect branches on MSP430

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fdce8375a3d57134a49914e7db69a314d863f39
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat May 1 12:04:22 2010 +0000

    Long branch target oparands are not pc-rel.
    This should fix PR6603.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102834 91177308-0d34-0410-b5e6-96231b3b80d8

commit efb55e9273de5a7f858be66a2cfe0213bd150fd2
Author: Owen Anderson <resistor@mac.com>
Date:   Sat May 1 08:34:28 2010 +0000

    Disable the call-deletion transformation introduced in r86975.  Without
    halting analysis, it is illegal to delete a call to a read-only function.
    The correct solution is almost certainly to add a "must halt" attribute and
    only allow deletions in its presence.

    XFAIL the relevant testcase for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70941948d8c1bb3e297a660dbf75857a2c89dbad
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 06:38:43 2010 +0000

    fix PR5009 by making CGSCCPM realize that a call was devirtualized
    if an indirect call site was removed and a direct one was added, not
    just if an indirect call site was modified to be direct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 912ecb5d8ac13ea535d040f96929796475fc22ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 06:34:13 2010 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15212b8438d5807502f1e81a5160be5c9b938c30
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 02:44:23 2010 +0000

    Remove the code for special-casing byval for fast-isel. SelectionDAG
    handles argument lowering anyway, so there's no need for special
    casing here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1844534ef1732018a5618f3a1ab856b43030c0e0
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 02:43:10 2010 +0000

    Fix an ancient FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96ea5fb0e748f972dd5ea16982b72e0021dff6c7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 01:57:56 2010 +0000

    Re-disable kill flags, as there is more trouble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6eb932f7f5406e06d20d14f5f32b4ff4a9abcc9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 01:26:13 2010 +0000

    rename InlineInfo.DevirtualizedCalls -> InlinedCalls to
    reflect that it includes all inlined calls now, not just
    devirtualized ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 877e60ff73b4aaaa858461a6e126dcac7e89b7da
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 01:15:56 2010 +0000

    Implement rdar://6295824 and PR6724 with two tiny changes
    that can have a big effect :).  The first is to enable the
    iterative SCC passmanager juice that kicks in when the
    scc passmgr detects that a function pass has devirtualized
    a call.  In this case, it will rerun all the passes it
    manages on the SCC, up to the iteration count limit (4). This
    is useful because a function pass may devirualize a call, and
    we want the inliner to inline it, or pruneeh to infer stuff
    about it, etc.

    The second patch is to add *all* call sites to the
    DevirtualizedCalls list the inliner uses.  This list is
    about to get renamed, but the jist of this is that the
    inliner now reconsiders *all* inlined call sites as candidates
    for further inlining.  The intuition is this that in cases
    like this:

    f() { g(1); }     g(int x) { h(x); }

    We analyze this bottom up, and may decide that it isn't
    profitable to inline H into G.  Next step, we decide that it is
    profitable to inline G into F, and do so, which means that F
    now calls H.  Even though the call from G -> H may not have been
    profitable to inline, the call from F -> H may be (in this case
    because a constant allows folding etc).

    In my spot checks, this doesn't have a big impact on code.  For
    example, the LLC output for 252.eon grew from 0.02% (from
    317252 to 317308) and 176.gcc actually shrunk by .3% (from 1525612
    to 1520964 bytes).  252.eon never iterated in the SCC Passmgr,
    176.gcc iterated at most 1 time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3287d9b0075cad272030f55fb3aaef013aa572bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat May 1 01:05:10 2010 +0000

    The inliner has traditionally not considered call sites
    that appear due to inlining a callee as candidates for
    futher inlining, but a recent patch made it do this if
    those call sites were indirect and became direct.

    Unfortunately, in bizarre cases (see testcase) doing this
    can cause us to infinitely inline mutually recursive
    functions into callers not in the cycle.  Fix this by
    keeping track of the inline history from which callsite
    inline candidates got inlined from.

    This shouldn't affect any "real world" code, but is required
    for a follow on patch that is coming up next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bda67944a6e56af8d55fff97cbb2253c2511443
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:50:53 2010 +0000

    Re-enable kill flags from SelectionDAGISel, with a fix: don't
    try to put a kill flag on a DBG_INFO instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102820 91177308-0d34-0410-b5e6-96231b3b80d8

commit b446076f1b0a4efc422501f6ea99d8cf77185ee2
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat May 1 00:41:15 2010 +0000

    Fix a bug where debug info affected stack slot coloring.
    Seen in SingleSrc/Benchmarks/Misc/flops with TEST=optllcdbg.
    7929951.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13ceeea1b44031ab2057c6dd8fdfcbb4002596bf
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:33:28 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102817 91177308-0d34-0410-b5e6-96231b3b80d8

commit b53f7e7018144a0a162d240a43d4abcf280c8f1d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:33:16 2010 +0000

    Don't pass SDValues by non-const reference unless they may be
    modified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cf1f2e578d37d0cb0dc29749cfa2e8876a12a23
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat May 1 00:28:44 2010 +0000

    Add a pseudo instruction REG_SEQUENCE that takes a list of registers and
    sub-register indices and outputs a single super register which is formed from
    a consecutive sequence of registers.

    This is used as register allocation / coalescing aid and it is useful to
    represent instructions that output register pairs / quads. For example,
    v1024, v1025 = vload <address>
    where v1024 and v1025 forms a register pair.

    This really should be modelled as
    v1024<3>, v1025<4> = vload <address>
    but it would violate SSA property before register allocation is done.

    Currently we use insert_subreg to form the super register:
    v1026 = implicit_def
    v1027 - insert_subreg v1026, v1024, 3
    v1028 = insert_subreg v1027, v1025, 4
    ...
          = use v1024
          = use v1028

    But this adds pseudo live interval overlap between v1024 and v1025.

    We can now modeled it as
    v1024, v1025 = vload <address>
    v1026 = REG_SEQUENCE v1024, 3, v1025, 4
    ...
          = use v1024
          = use v1026

    After coalescing, it will be
    v1026<3>, v1025<4> = vload <address>
    ...
          = use v1026<3>
          = use v1026

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a6508e9095de55e31cacfcbddb90d94d80f8350
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:25:44 2010 +0000

    Reorgnaize more switch code lowering to clean up some tricky
    code, and to eliminate the need for the SelectionDAGBuilder
    state to be live during CodeGenAndEmitDAG calls.

    Call SDB->clear() before CodeGenAndEmitDAG calls instead of
    before it, and move the CurDAG->clear() out of SelectionDAGBuilder,
    which doesn't own the DAG, and into CodeGenAndEmitDAG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102814 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6105b382bfb0db2fbb1668a5ac0a4c4ec183973
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat May 1 00:12:33 2010 +0000

    Test failing too much on too many platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22b9efa79431062adc1816b3556718f6547fc45e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:02:20 2010 +0000

    Delete the EdgeMapping variable itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ef88af6076cc6efb986981518f101a1c4dd9a27
Author: Dan Gohman <gohman@apple.com>
Date:   Sat May 1 00:01:06 2010 +0000

    Get rid of the EdgeMapping map. Instead, just check for BasicBlock
    changes before doing phi lowering for switches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102809 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2d4ab3da0bf1bc2a78342a3036cd169a62efb55
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 23:36:47 2010 +0000

    Update for CIndex rename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b9caadb94ec66ec40a0dde3c479af4ee4c109d9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Apr 30 23:19:29 2010 +0000

    Maybe it needs sse2?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102802 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcd985e9c8377f6a5a7067e74f3829162cbb3c03
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Apr 30 22:45:20 2010 +0000

    Force 64-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102800 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebe210cdaf61862f7d309540e0920e9f8112507e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 22:38:11 2010 +0000

    Fix a typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102799 91177308-0d34-0410-b5e6-96231b3b80d8

commit d762fc0de03fc17a848e4ddf3700776e19e0e8f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 30 22:37:22 2010 +0000

    Dan recently disabled recursive inlining within a function, but we
    were still inlining self-recursive functions into other functions.

    Inlining a recursive function into itself has the potential to
    reduce recursion depth by a factor of 2, inlining a recursive
    function into something else reduces recursion depth by exactly
    1.  Since inlining a recursive function into something else is a
    weird form of loop peeling, turn this off.

    The deleted testcase was added by Dale in r62107, since then
    we're leaning towards not inlining recursive stuff ever.  In any
    case, if we like inlining recursive stuff, it should be done
    within the recursive function itself to get the algorithm
    recursion depth win.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d4e3970dedd72394deb705be768f1b6557fdcf0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Apr 30 22:19:17 2010 +0000

    EXTRACT_VECTOR_ELT of an INSERT_VECTOR_ELT may have the same index, but the
    indexes could be of a different value type. Or not even using the same SDNode
    for the constant (weird, I know). Compare the actual values instead of the
    pointers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102791 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0e7ff8c298134b14725fa15a8035bb481eace36
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 22:00:17 2010 +0000

    Don't use 'else ifdef', I guess this is a 3.81 feature?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102781 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a3f259b3f77d214159d566bebebbdee3a48d6a0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 21:21:21 2010 +0000

    Remove this debug output. The MachineFunction will be printed once all of
    instruction selection is done; it's confusing to see parts of it printed,
    while other parts are omitted, along the way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102771 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb72a1f05d44a73cad3ba476c3870c387bf3f173
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Apr 30 21:19:29 2010 +0000

    The local register allocator has to spill dirty callee saved registers before a
    call that might throw. The landing pad assumes that all registers are in stack
    slots.

    We used to spill those dirty CSRs after the call, and the stack slots would be
    wrong when arriving at the landing pad.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36f5d81c90ab5ad39fac0cd5e621fbff3cd6f7df
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 20:50:28 2010 +0000

    Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp,
    and fix a bug in BitVector's reference proxy class which this exposed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82f18c9ceeb2257aca6a441089ce9d99ce2a39b7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 20:47:09 2010 +0000

    Fix TOOLALIAS to not make dependency against $(PROJ_bindir), this is unnecessary
    (and wrong).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102763 91177308-0d34-0410-b5e6-96231b3b80d8

commit f612144d09639887768faf95e4a320d6a5ca0831
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Apr 30 20:23:54 2010 +0000

    Preserve debug info attached with call instruction while eliminating dead argument.
    Radar 7927803

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102760 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51f378615ea2b5617f49f68bbb383252290daa91
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 20:14:26 2010 +0000

    Make this code less confusing. Instead of reassigning BB, just operate
    on the original variables, so it's easier to see what is being done
    to which blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102759 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc70abfde88c42de5bb3db672a60739b10f3b428
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 20:04:53 2010 +0000

    Add new NO_INSTALL_ARCHIVES make variable, to suppress install of .a files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f18b192b03622caa19021d09a7718c026cf8b26
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 20:04:45 2010 +0000

    Add an install-clang-c top-level target, which does a Clang C API install.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8959f14f58c5c2053ec670bbc739e38afd555710
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Apr 30 19:39:29 2010 +0000

    New test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26c8fce123adedd59e7d1bca66661f9b565dff00
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Apr 30 19:38:23 2010 +0000

    Attach AT_APPLE_optimized attribute to optimized function's debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8

commit b21ecfdc9a67d3050667a268ffadba95ddc9d289
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 19:35:33 2010 +0000

    EmitDbgValue doesn't need its EdgeMapping argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102742 91177308-0d34-0410-b5e6-96231b3b80d8

commit c53a70143da20f6dd97c9d97dcae72137ef94b21
Author: David Chisnall <csdavec@swan.ac.uk>
Date:   Fri Apr 30 19:27:35 2010 +0000

    Fixed @ctor / @dtor the wrong way around in last commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15700a4d66550b086db938dea37d3834430526c0
Author: David Chisnall <csdavec@swan.ac.uk>
Date:   Fri Apr 30 19:23:49 2010 +0000

    Added a brief explanation of @llvm.global_{c,d}tors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102740 91177308-0d34-0410-b5e6-96231b3b80d8

commit b150efa3595c0e12169bd039aceaba1bd944d21f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 19:22:39 2010 +0000

    Set isSigned to true when creating an all-ones integer constant, even
    for unsigned purposes, so >64-bit integer values get a full all-ones
    value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102739 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8920ed400cd5d756cdb4e84d9fb55affc4e1628
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 19:21:13 2010 +0000

    Silence compiler warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07859cbbc0a69ae4b768b1a1d2778fbb2e28e021
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 19:05:00 2010 +0000

    Add lint checks for invalid uses of memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8dffac8bdb1ddbabbc27e88dc61395607388443e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 18:33:41 2010 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102731 91177308-0d34-0410-b5e6-96231b3b80d8

commit d10497cb6137852b3f8531f7f74f0a0d27075622
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 18:30:26 2010 +0000

    Remove the -disable-16bit command-line option, which is now obsolete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 744e53c4af7f42f20106907d072e5c34f2388003
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Apr 30 18:28:11 2010 +0000

    Don't use floating point in SimpleRegisterCoalescing.

    Rounding differences causes tests to fail on Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 396d5c54c3c4bc6c205a3b501d69be93086d31d4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 18:27:57 2010 +0000

    Properly escape edge source and destination labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102728 91177308-0d34-0410-b5e6-96231b3b80d8

commit b981e26f46894b9ba7860e1abeee6c1118e49bac
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 17:42:30 2010 +0000

    Add -o /dev/null to some tests which don't care about their output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102722 91177308-0d34-0410-b5e6-96231b3b80d8

commit f63b8884f4714e83ea3a54c1830829d0ae30879c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 17:19:19 2010 +0000

    Apply a patch from Jan Sjodin to fix a compiler abort on vector
    comparisons sign-extended to a different bitwidth than the
    comparison operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19d98cbee1ca1f2f63db6b1118a2ae00cba605f9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 17:12:26 2010 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3637a6d1cb8c5a2c1c1eae00fcbf7401f4b6073e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 30 17:12:23 2010 +0000

    Default OPTIMIZE_OPTION to -O2 on FreeBSD, at the request of the Clang/FreeBSD
    folks. LLVM/Clang is miscompiled by the standard GCC at -O3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102719 91177308-0d34-0410-b5e6-96231b3b80d8

commit b38f639f21a4d19be36144cfbaa267ac85ec032a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 30 13:40:27 2010 +0000

    SmallBitVector: Rework find_first/find_next and tweak test to test them (at least on 64 bit platforms).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46b459b5d5158d8b4bd688017b5baf953d953de8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 30 12:29:39 2010 +0000

    Implement a read/write operator[] for SmallBitVector with a proxy class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102709 91177308-0d34-0410-b5e6-96231b3b80d8

commit eefa0cd35f9226f28128b3ff27bcccc0bb73b4d0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 30 11:34:01 2010 +0000

    Make sure SmallBitVector actually uses the small case and fix latent bugs.

    - We can't use PointerIntPair here since we require the discrimination bit to be in the LSB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57e4c728fea567eb07a5c6f9562a52d35a842d94
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 30 06:00:56 2010 +0000

    Fix test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88405ba022b8e822187567c0ea8eb431da1b34ce
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 30 01:12:32 2010 +0000

    Another sibcall bug. If caller and callee calling conventions differ, then it's only safe to do a tail call if the results are returned in the same way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d8f56c28d929fe63815168fc4063ce91e969770
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 00:32:51 2010 +0000

    Temporarily disable SelectionDAG kill flags, which are causing trouble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102680 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa1ff3c254afd20c5550b2dcbc33018d0f1e44df
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Apr 30 00:16:10 2010 +0000

    Fix the OProfileJITEventListener build after r101844 removed
    MachineFunction::DefaultDebugLoc.  We now use the same technique as
    DwarfDebug::beginFunction to find the starting line number for a
    function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 136fb63646e15987773cd69d83d9d36355421051
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 30 00:08:21 2010 +0000

    Set register kill flags on the SelectionDAG path, at least in the
    easy cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102678 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddc0b9fb73fd62ef0623f520b6e8470dc143d038
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Apr 29 23:47:46 2010 +0000

    Reject really weird coalescer case when trying to merge identical subregisters
    of different register classes. e.g.

      %reg1048:3<def> = EXTRACT_SUBREG %RAX<kill>, 3

    Where %reg1048 is a GR32 register. This is not impossible to handle, but it is
    pretty hard and very rare.

    This should unbreak the dragonegg builder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a84985d211de7a93009d527432c4eaad98854a1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Apr 29 23:37:44 2010 +0000

    The llc -f flag was removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21004d448dd3438019c7c5876c775d0d2bcac3c9
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 29 23:30:41 2010 +0000

    Don't leave Base.FrameIndex uninitialized, so that it doesn't
    print randomly in debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48f4f14b5ca2921264fecba5e8413659b70446e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 29 23:27:32 2010 +0000

    add some more (void)'s to prototypes for PR6961

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92ddbc92fdd99916974466353430d5e4c526adca
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 29 23:25:34 2010 +0000

    Fix typos in assertion strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102666 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbf332868e1ffe5d3a3bc7d0ee1d0d3304f17422
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Apr 29 22:21:48 2010 +0000

    Slightly verboser debug spew from coalescer

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b61d887f1f55cd75ae29f517b3f3c5e74cb3e3b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 29 20:48:12 2010 +0000

    Missed earlier. This is part of previous check-in. (r102661 - refactor.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08492d90195d98bb697a099d31150dd5991ca14e
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 29 20:40:36 2010 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44703d2b41e490935f6bbbb1b232a954f7664fc6
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Apr 29 19:32:19 2010 +0000

    Make naked functions work on PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102657 91177308-0d34-0410-b5e6-96231b3b80d8

commit c94aae0be45a9c73f332c385156dddf9bbd30ada
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 29 18:52:10 2010 +0000

    Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.
    	##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0
    	##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0
    	##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706
    	##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0
    	##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b1c24fb59c4e7815fafa1d5bd74ccbedb9cc3c0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 18:51:00 2010 +0000

    Remove DBG_VALUE which reference dead stack slots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8037a29e8a031eb24cf69493c655d20240e783f4
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 29 18:50:36 2010 +0000

    DO not push DBG_VALUE machine instructions for inlined fuction arguments in entry block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2802dec3faca8a926636e874b86576acb08fc9af
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 18:50:35 2010 +0000

    Add DenseMapInfo for int.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cd868b77749dbf9308655028d8add07251d6053
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 29 18:46:52 2010 +0000

    llc no longer requires the -f option to overwrite files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34816aaef58bf1df5f0af70ca996e3f3a6f4099a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 29 18:04:29 2010 +0000

    Don't remove libLTO.dylib if it's not being installed in Developer/usr/lib;
    just leave it in Developer/usr/local/lib.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e8ff3cad6491a9f974f1f6104f49c53a616c618
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 29 16:57:54 2010 +0000

    Elaborate on a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76b02f86cbdae799f846fe8f5582cb24b252e736
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Apr 29 16:29:02 2010 +0000

    Remove dead option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dd039c5410390e027105b7ed7df2c9bdcfee12f
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Apr 29 16:10:30 2010 +0000

    Verify metadata harder.  In particular, check that module
    level metadata does not have any function local operands.
    This would have caught the problem found in PR6112.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1973d64943ae009ad15ff19ff5de3633ee7b2518
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Apr 29 12:32:45 2010 +0000

    Fix comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102612 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1ef711dbb216e0d20f49a5b9eee7217af79ab9d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 06:58:53 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102606 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80650570a1815f10a34560e786c5775862cb79cd
Author: Edwin Török <edwintorok@gmail.com>
Date:   Thu Apr 29 06:43:12 2010 +0000

    Fix PR6910.

    Limit alignment in SmallVector 8, otherwise GCC assumes 16 byte alignment.
    opetaror new, and malloc only return 8-byte aligned memory on 32-bit Linux,
    which cause a crash if code is compiled with -O3 (or -ftree-vectorize) and some
    SmallVector code is vectorized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e8e93ad2fa7a7149ce57d371de5db5ca72585ac
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 06:33:38 2010 +0000

    Re-enable 102565 with fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102602 91177308-0d34-0410-b5e6-96231b3b80d8

commit 855941e3dd6d68bbe8b34fbd14373fca88c8c553
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Apr 29 05:54:29 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102599 91177308-0d34-0410-b5e6-96231b3b80d8

commit abc19dec31aa14d51af739e1fe2a210b6089b6d1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 05:08:22 2010 +0000

    Load folding tail call should not use ebp / rbp after it's popped. PEI
    should use esp / rsp to reference frame instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102596 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3228e036cb98f8925a406dcc2ef3ae76832cdbd3
Author: Mon P Wang <wangmp@apple.com>
Date:   Thu Apr 29 04:00:56 2010 +0000

    Add support for assemblers that don't support periods in a name

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102594 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ba71d722a84651c01ef78303381e46c19a8ac04
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 03:34:19 2010 +0000

    Temporarily disable my changes to unbreak the build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 797ceacd3deb3a0b16ae3dc095bea1c7634132db
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 01:40:30 2010 +0000

    Do not generate duplicate dbg_value instructions for function arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102585 91177308-0d34-0410-b5e6-96231b3b80d8

commit d52cf3ed5f4e78a1b707632c716242326ca8524e
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 29 01:39:13 2010 +0000

    Fix missing #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102584 91177308-0d34-0410-b5e6-96231b3b80d8

commit d379bf651b089f46f371a4d1b13d9205c6ab5855
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 01:23:55 2010 +0000

    Avoid emitting a dbg_value machineinstr that's not going to be inserted into entry block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102581 91177308-0d34-0410-b5e6-96231b3b80d8

commit acf2863856341d06e59d631403402013e1ddfd45
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 01:13:30 2010 +0000

    Frame index can be negative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102577 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4f5197cfe398da26252136080bac0d5fa7d99d0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 29 00:59:34 2010 +0000

    Check Reg against zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 642cd627a4a252aafb3c23685de049f86535e01c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 23:52:26 2010 +0000

    - Really preserve dbg_value instructions when the register is spilled.
    - Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102565 91177308-0d34-0410-b5e6-96231b3b80d8

commit a022232337cd13e6bce2a029ed38e4c2dfa3374e
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 28 23:24:13 2010 +0000

    tidy up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9844462d456da0239534a366649b6d6cd70753b8
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Apr 28 23:20:40 2010 +0000

    Fixed the word sized Bit Scan Forward/Reverse instructions, they needed the
    Operand size override prefix to be part of their records.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5236e32b2a182d4983c151213971fb89cf58c71d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 23:08:54 2010 +0000

    Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c34c67047737d7c06ee5e0d7584f393c7cb11c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 22:34:35 2010 +0000

    fix this to work with objdir != srcdir

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d528146dca4d9f00205da835de96aa2e1f616e1
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 28 22:23:46 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102545 91177308-0d34-0410-b5e6-96231b3b80d8

commit 097a651f4028fb0bd2cf4957d6698a81ac6360dc
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 28 22:17:33 2010 +0000

    Test for llvm-gcc checkin 102543.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34cf2fc8e74ef3af1f1309cab7f30865ba4c4d1d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 28 21:08:01 2010 +0000

    Add an option to the Apple-style build to control whether libLTO.dylib should
    be installed.  Disable it by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18ce2409d635b25115550941da048b41ec7d985e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Apr 28 20:33:09 2010 +0000

    Add sizes non-floating point versions for the eh sjlj intrinsic expansions.

    rdar://7895451

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102526 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47034d72c1a9a4ae1d3a127b98f3b370e0633ef7
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 28 20:27:48 2010 +0000

    Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98ae27200c65a5711e7b2ecb7beb8dcf596a4007
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 20:24:45 2010 +0000

    declare targets with (void) instead of () since this is a C header.
    Patch by Lars R in PR6961.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102523 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3ff89cf4d37047bb8a9c6064442d65be91774a5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 20:16:12 2010 +0000

    fix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G),
    metadata references in non-function-local MDNodes should drop to
    null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102519 91177308-0d34-0410-b5e6-96231b3b80d8

commit b119a8d76fa08e7e7cdefbe3edc75d1d4aa7fa2d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 20:03:13 2010 +0000

    Pretty print DBG_VALUE machine instructions.
    Before:
    DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707
    Now:
    DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102518 91177308-0d34-0410-b5e6-96231b3b80d8

commit df8ff9f0bb6d56926dbdaed6bdfbdb67d0fba0e7
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 19:58:07 2010 +0000

    Rework global alignment computation again.  Now we do round up
    alignment of globals to the preferred alignment, but only when
    there is no section specified on the global (by far the common
    case).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2107463de9701cac9105e91cc3b5b66bca2670ba
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 28 19:27:33 2010 +0000

    While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca matching llvm.dbg.declare intrinsic is missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c884d37dd195c6209edec14702764bfce85899a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Apr 28 18:28:39 2010 +0000

    Recompute kill flags from live intervals after coalescing instead of trying to
    update them. Computing kill flags is notoriously difficult, and the coalescer
    would get it wrong sometimes, and it would completely skip physical registers.

    Now we simply remove kill flags based on the live intervals after coalescing.
    This is a few percent slower, but now we get correct kill flags for physical
    registers after coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 838883158cbbb9cfea91805fab08de2c277d32f9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Apr 28 18:28:37 2010 +0000

    Teach X86FloatingPoint that a register can be killed multiple times by the same
    instruction.

    This instruction would crash the pass:

      INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead>

    Now it doesn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29c8ea6764947bb69771664b6b18ad8865f5859e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 28 18:18:36 2010 +0000

    Undo most of my previous whitespace fix.  I think I like it better this way
    after all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cc70c02d8b7419e28cb19850e60c222d26569d7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 28 18:06:27 2010 +0000

    Fix inconsistent use of HOSTS and TARGETS variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 550ec087f692a67d12b585d7be7fd21f948b8161
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 28 17:50:03 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102504 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1c787627cf35ab94704d51142f1f7acb792787d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 08:30:49 2010 +0000

    Enable i16 to i32 promotion by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102493 91177308-0d34-0410-b5e6-96231b3b80d8

commit d91719d3133b3ebea58c01a801a657ec7771a59c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 07:10:39 2010 +0000

    Try operation promotion only if regular dag combine and target-specific ones failed to do anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102492 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2a398db1a0d86b239340083f741c282334c700f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 02:25:18 2010 +0000

    Unbreak the build. Only form shld / shrd after legalization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cfd3a1a4caa7ff3dc4857cf2a2a523a8ccbe917
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 01:53:13 2010 +0000

    Update tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24e3e23131ec14cbf749cb39caa9763b57d5e615
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 28 01:39:28 2010 +0000

    Emit debug info for byval parameters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102486 91177308-0d34-0410-b5e6-96231b3b80d8

commit c09b8aabccedcc7e9608c66a46a4620d43eb0ea6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 28 01:18:01 2010 +0000

    Rather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL, just perform custom dag combine to form x86 specific dag so they match to the same pattern. This also makes sure later dag combine do not cause isel to miss them (e.g. promoting i16 to i32).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49fc9fd15727c904b88ef2eb5d93d0089706e501
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 01:08:40 2010 +0000

    further simplify EmitAlignment by eliminating the
    ForcedAlignBits argument, tweaking the single client of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c8b6baa7866a3f147942af83923eacf0a694e40
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 01:06:02 2010 +0000

    remove a dead argument to EmitAlignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 691e91c5d0f6bd3d0d4a86189042897d6e18dc90
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 01:05:45 2010 +0000

    remove some default arguments to EmitAlignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102482 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6320f666dafde99bfdbad645c504cf77011cbe99
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 28 01:03:09 2010 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c46b569024b9704e748065702cedbcaae692972
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 28 00:49:41 2010 +0000

    Rewrite the section on trap values to contain a generic description
    of dependence and define trap values in terms of dependence, instead
    of trying to cover the concept with a flurry of ad-hoc rules.

    The dependence model isn't complete yet, but it's already much more
    rigorous than the description it replaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102479 91177308-0d34-0410-b5e6-96231b3b80d8

commit fabc03eb14c42b8037f2df0c6863ebd5a3760552
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 28 00:36:01 2010 +0000

    Fix spelling errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102478 91177308-0d34-0410-b5e6-96231b3b80d8

commit da970187c2275df2f203dad0b1044b416bc29f3c
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Apr 28 00:35:10 2010 +0000

    Tweak x86 INC/DEC generation to look for CopyToReg or SETCC.  Radar 7866163.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47f714bc1b395f921ab7dc60b499f1682fc247a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 00:31:12 2010 +0000

    further clarify alignment of globals, fix instcombine
    to not increase the alignment of globals with an assigned
    alignment and section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102476 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec2f6be49baa8e01c99d0d57b056bcb8b87f195a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 28 00:13:42 2010 +0000

    improve the global variable alignment description.
    it is not generally valid for targets to overalign
    them when an alignment is specified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102474 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd784bc08742f1d40e76431739ca7b7f6dc58865
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 27 22:24:37 2010 +0000

    Use MachineOperand::is* predicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102472 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1200d56f37078fb37b2c6278436f7732e57d1086
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 27 22:04:41 2010 +0000

    Use isReg(), isImm() and isFPImm().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 989dba9cf547a980f4623a21346e1bdaa262fc71
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 27 21:49:04 2010 +0000

    Check operand type first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94112cef1c1996b25d5157a73472116673a8be5e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 27 21:46:03 2010 +0000

    Fix obvious typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102467 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3930c0be75444c94f5e88a2dd35928fb72a10159
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 27 20:54:45 2010 +0000

    Ignore DBG_VALUE instructions that points to undef values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fe2900bb4d35448ec9b873d8212e50d17c2ea10
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 27 19:48:31 2010 +0000

    SRA promotion is also not free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ae5f2b42b9cb23b56bca79c77f7b256fdb2d853
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 27 19:48:13 2010 +0000

    - When legal, promote a load to zextload rather than ext load.
    - Catch more further dag combine opportunities as result of operand promotion, e.g. (i32 anyext (i16 trunc (i32 x))) -> (i32 x)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102455 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed8329c476bfd33c355780ecfd97fd738f1bc7cf
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 27 19:46:33 2010 +0000

    Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.
    This patch fixes bug (PR6894) introduced by previous version of this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 103b4187d60ddec97ef53caa80174f50b71d6cc9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 27 19:38:45 2010 +0000

    Do not count kill, implicit_def instructions as printed instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60772a9752d6b12fa51ec113a2135b54cd49a136
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 27 07:41:44 2010 +0000

    round zero-byte .zerofill directives up to 1 byte.  This
    should fix some "g++.dg-struct-layout-1" failures,
    rdar://7886017

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102421 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa8c74eee2dfc0a6e3c1914d257b50b2f9c2613e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 27 07:28:11 2010 +0000

    fix wordo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e1df0fdb8aa8a4cea29bb3fb3077d81b38c31e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 27 06:57:10 2010 +0000

    remove some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7768f6118634598159c2871989ce7174c74c2856
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 27 02:10:05 2010 +0000

    Revert a small part of 102372; this fixes at least one
    of the dbg testsuite regressions.  I don't think this is
    really the right fix; this change exposed an existing problem
    upstream somewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 798894e0c819534a264b0382caed2a2c476b38ec
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Apr 27 00:55:25 2010 +0000

    r98363 deleted a '!' when cleaning up whitespace. This caused globals which are
    *not* declarations to *not* be placed in the "preserve" list.
    <rdar://problem/7870735>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5be0473ea845ec7dc2b8b65355354b2a9807daae
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 27 00:01:42 2010 +0000

    Un-XFAIL this on ppc.  My enabling of dbg_declare handling
    in ISel fixed it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102404 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccc7b09630f0e0a9530fdc8a9773b6b505620d4e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 23:49:32 2010 +0000

    Fix a problem that lower invoke has with allocas (PR6694), and
    add a version of createLowerInvokePass that allows the client
    to specify whether it wants "expensive" or "cheap" lowering.

    Patch by Alex Mac!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c03c1f1156d302b13cd3bd03242ebf0c2f8c29a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 23:41:43 2010 +0000

    add a comment in verbose-asm mode indicating why a noop is being generated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3062b07ca060919022a1f1d4f6dfb2cf55a275de
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 23:37:21 2010 +0000

    on darwin empty functions need to codegen into something of non-zero length,
    otherwise labels get incorrectly merged.  We handled this by emitting a
    ".byte 0", but this isn't correct on thumb/arm targets where the text segment
    needs to be a multiple of 2/4 bytes.  Handle this by emitting a noop.  This
    is more gross than it should be because arm/ppc are not fully mc'ized yet.

    This fixes rdar://7908505

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f2e5f6b77b756b9a3111843d33153f227b10732
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 26 23:36:52 2010 +0000

    Integrate Jeffery Yasskin's suggestions with respect to
    traps flowing through memory references, add some text to
    better cover phi nodes and externally-visible side effects,
    add an example of instructions being control-dependent
    on a trap value, and reword some of the existing trap rules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102399 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7103604735d9b5de0d0e15c861bd7ff613ebe81
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Apr 26 23:20:08 2010 +0000

    Handle register-to-register copies within the tGPR class.
    Radar 7896289

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c133eb77ccac9c91a8377699710cc7017cd19ce
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Apr 26 22:56:56 2010 +0000

    Avoid adding a null MD node operand, which crashes with "-debug" when trying
    to print the operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37a4ac9e942bfb95f1a7602b64da22eb0baf346a
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Apr 26 22:54:28 2010 +0000

    Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug range entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102394 91177308-0d34-0410-b5e6-96231b3b80d8

commit d322bc74992a92bbbfaa71df681882b7f5679806
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 26 21:46:36 2010 +0000

    When checking whether the special handling for an addrec increment which
    doesn't dominate the header is needed, don't check whether the increment
    expression has computable loop evolution. While the operands of an
    addrec are required to be loop-invariant, they're not required to
    dominate any part of the loop. This fixes PR6914.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 855fa25ea24175cf3de481b16c32c229c45cb7dc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 26 21:37:43 2010 +0000

    Add a comment to this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102387 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd66692e73faf5d91c58798a5f40bbb3d92f3801
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Apr 26 21:21:24 2010 +0000

    Consolidate the description of volatile operations, now that some of the
    intrinsics have volatile semantics in addition to the load and store
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102384 91177308-0d34-0410-b5e6-96231b3b80d8

commit a65235c5d3de9c464cafa4eac4c523bcc096b1ce
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 26 20:54:53 2010 +0000

    Branching or switching on trap transfers imminent undefined behavior
    onto control-dependent instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102381 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2619607601e9d3449d00576170f5fb3c3fb2ac9
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Apr 26 20:48:54 2010 +0000

    Remove crufty comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15ea1dd64f13de0793c10e9797854e5778c54a7b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Apr 26 20:46:03 2010 +0000

    add some typewriter tags

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102378 91177308-0d34-0410-b5e6-96231b3b80d8

commit d404a6ad6d32f7968fef099d24042569341fc3ee
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 26 20:21:21 2010 +0000

    Fix HTML errors that Jeffery Yasskin noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cbde534aecf1a82f33f4124cf6ad0a41fc05327
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Apr 26 20:07:31 2010 +0000

    Handle target-specific form of DBG_VALUE in AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 620e8a716f816246cee7ea678acf7b8ab7498d43
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Apr 26 20:06:49 2010 +0000

    Add DBG_VALUE handling for byval parameters; this
    produces a comment on targets that support it, but
    the Dwarf writer is not hooked up yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58b8a80e98fd3f8bc1718f8c6768310f33e16688
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Apr 26 20:05:01 2010 +0000

    Add PPC AsmPrinter handling for target-specific form of
    DBG_VALUE, and a cautionary comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102371 91177308-0d34-0410-b5e6-96231b3b80d8

commit c97fc92b8aa930c5d21bcf331558ca969e7ec0d6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 19:16:00 2010 +0000

    Insert dbg_value instructions for function entry block liveins (i.e. function arguments).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102368 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea9c82daad7bc2d8623bcd17387cdd6602231ce0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 19:06:11 2010 +0000

    Promoting 16-bit cmp / test aren't free. Don't do it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90010db3f6669e4c386a00441275b07a22e827c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 18:46:46 2010 +0000

    fix PR6921 a different way.  Intead of increasing the
    alignment of globals with a specified alignment, we fix
    common variables to obey their alignment.  Add a comment
    explaining why this behavior is important.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102365 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1d639a617b4bcf1521867993ab618f1603586eb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 18:37:21 2010 +0000

    Re-enable 102323 with fix: do not update dbg_value's with incorrect frame indices when the live interval are being re-materialized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102361 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8c6f78f8769d8ce981cbad88c8066b273681c0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 18:30:45 2010 +0000

    Revert r102300/102301, which serious broke objc apps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102359 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec7ee21c2af0c098fee4dc56c8856eead0351be6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 18:21:23 2010 +0000

    fix PR6940: sitofp(undef) folds to 0.0, not undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6201afafed21526ce643717b7c6725df5a5959cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 17:42:18 2010 +0000

    wrap some long lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cad56281cab6d2ab377b5ce521b3872acfc439d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Apr 26 17:40:49 2010 +0000

    Update MachineSSAUpdater with the same changes I made for the IR-level
    SSAUpdater.  I'm going to try to refactor this to share most of the code
    between them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102353 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2dd4e59ee21525e9b2d46a974cc43c18eb988ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 26 17:38:10 2010 +0000

    add GHC, thanks to David Terei

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25d58f671f19003163bcdde2d8f26a84caf6e963
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 08:24:07 2010 +0000

    Temporary disable spiller modifying dbg_value. It's breaking build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81bea9b6c5fe45bf672c250462c5a684844ffb67
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 08:16:57 2010 +0000

    Remove a redundant comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7643895e28d9894bb7cbc8976fe21eead374d31d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 07:39:36 2010 +0000

    Add PPC specific emitFrameIndexDebugValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d63e00c4040bb2603ba089dfa7ac3c1fbe54bea
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 07:39:25 2010 +0000

    Add ARM specific emitFrameIndexDebugValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 781069fec152cad983947fcb1d5e1ded7171073c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 26 07:38:55 2010 +0000

    - Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo and rename it to emitFrameIndexDebugValue.
    - Teach spiller to modify DBG_VALUE instructions to reference spill slots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 138631551818466409f2e2132fc2d2fa1f6c10c2
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun Apr 25 21:33:54 2010 +0000

    Stop abusing EmitInstrWithCustomInserter for target-dependent
    form of DEBUG_VALUE, as it doesn't have reasonable default
    behavior for unsupported targets.  Add a new hook instead.
    No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102320 91177308-0d34-0410-b5e6-96231b3b80d8

commit 558a5cf0d9192e500e4b49291829a1da9cb80827
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Apr 25 21:30:22 2010 +0000

    another typo pointed out by sajd

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ceb6dcd3c63bf264fcd77d07720adbae126f51d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Apr 25 21:27:54 2010 +0000

    fix two typos pointed out by sajd

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 601e4417f1207a0f3023a541e1fc201a21d38f8c
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun Apr 25 21:03:54 2010 +0000

    Add comment re byval args.  Doesn't actually work this way yet.
    xs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102316 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1ccee2fb30c5b1fafa1cedbabbd798d5e9e8b87
Author: David Chisnall <csdavec@swan.ac.uk>
Date:   Sun Apr 25 19:13:33 2010 +0000

    Added bullet about GNUstep Objective-C ABI support to the Clang section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f580f02633e5625220b3519420fa41def7e4251
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 25 05:51:14 2010 +0000

    testcase for PR6913

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102303 91177308-0d34-0410-b5e6-96231b3b80d8

commit f10829865c6f32adafc5ac1e7d8523894901bab3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 25 05:49:31 2010 +0000

    this passes now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 871b69949dc39f879795886c92482d5ddfdd4d59
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 25 05:30:43 2010 +0000

    Fix PR6921: globals were not getting correctly rounded up to their
    preferred alignment unless they were common or some other special
    case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102300 91177308-0d34-0410-b5e6-96231b3b80d8

commit f89360a31f04ea1a75852d39310c686de87cde0d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 25 04:44:26 2010 +0000

    silence a warning, patch by "mike".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72c179a15790b640a0bf211dd2b9734b9bae9804
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 25 04:43:02 2010 +0000

    remove #if 1's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4405d3756618cd9da437cf758db4f5b73e8d8ac5
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 25 00:12:20 2010 +0000

    Fix an autoconf bug: The second argument to AC_LANG_PROGRAM is code that
    gets placed inside a main function, and should not itself be a main
    function. This is silently hidden in GCC-hosted builds because the
    inner main looks like a nested function declaration, which GCC supports.
    In builds with compilers which do not support nested functions (by default),
    this was causing an error, which caused these autoconf checks to fail,
    leaving their options disabled.

    This fixes test/Feature/load_module.ll on x86_64-unknown-linux-gnu
    llvm-gcc selfhost builds, among other things.

    This also includes a regenerated configure, as the diff is small and telling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5455f054b8274e45518d3e88a7a1571225cded6a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 22:15:58 2010 +0000

    PHI nodes also do not necessarily return trap with a trap operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cfafbd32db14cb88ae3955967989cbc5ca2bd6d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 24 22:01:40 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 680762c2d727062c7747334ffcfc072110714741
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 24 05:07:24 2010 +0000

    Use provided llvm-defined variables instead of twisting user-controlled knobs.
    No visible change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102240 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5b78a18ba2a4725584cd972895090f5b753b21a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 24 04:56:34 2010 +0000

    Don't touch CXXFLAGS. If it's set in the environment then sub-makes will see
    the variable that we set as though it came from the user. Fixes PR6835.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bd0c52efd878d6823a4609a7bf7ff0fede24721
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 24 04:44:57 2010 +0000

    Avoid promoting a i16 node if it would eliminate a (store (op (load))) opportunity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102237 91177308-0d34-0410-b5e6-96231b3b80d8

commit d460bc4ab68f9691baef2e6c2d98c23716528dd5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 24 04:43:44 2010 +0000

    When a load operand is promoted to an extload, replace other uses with uses of extload result truncated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102236 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8150622099cc24fe18f6595cae538a06cd9278ea
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 03:13:44 2010 +0000

    Generalize LSR's OptimizeMax to handle the new kinds of max expressions
    that indvars may use, now that indvars is recognizing le and ge loops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0393eab265325f90e610f2eacbbb57582d0fc9ed
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 03:09:42 2010 +0000

    ScalarEvolution support for <= and >= loops.

    Also, generalize ScalarEvolutions's min and max recognition to handle
    some new forms of min and max that this change makes more common.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5639277d11d4c33a1b65b0b2ace53007c0ac6906
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 01:38:36 2010 +0000

    Use SimplifyICmpOperands in isKnownPredicate too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9625f05ef7779309458a2359ddf361ac28c2efda
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 01:34:53 2010 +0000

    Update isImpliedCond to use the new SimplifyICmpOperands utility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef7150ec816047bc9f53de065f2e9ac96c7731d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 01:28:42 2010 +0000

    Add a new utility function SimplifyICmpOperands. Much of this code is
    refactored out of ScalarEvolution::isImpliedCond, which will be updated
    to use this new utility routine soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5278dd29458e1fdb3ec0dfa61786a9b0a06f0915
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 24 01:17:30 2010 +0000

    Apply a fix for a vector setcc dagcombine from Jan Sjodin. No
    testcase yet, as the testcase now fails downstream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9449a79b29cf82f1081cd7c535bbc7d0b921af25
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Apr 24 01:00:16 2010 +0000

    Fixed edis to tokenize instructions with no
    operands correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102227 91177308-0d34-0410-b5e6-96231b3b80d8

commit b75ed3da487b942837a0ed5361cf00222ffe93bf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Apr 24 00:46:14 2010 +0000

    cross-build Makefile needs to unset CFLAGS/CXXFLAGS when building the build-side utilities since the flags will be for the cross-compiler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102225 91177308-0d34-0410-b5e6-96231b3b80d8

commit da622813aa1ddc071d70bfc1bbfddce0ed2a2381
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 22:39:33 2010 +0000

    no longer xfail

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102220 91177308-0d34-0410-b5e6-96231b3b80d8

commit dad886fe59a9ba983620bc2c842274fb540001f8
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 23 22:17:17 2010 +0000

    Fixes to edis that mark x86 call targets as
    memory operands rather than immediate operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102217 91177308-0d34-0410-b5e6-96231b3b80d8

commit b79396b895e93d2591e6e58a553338404c239c6d
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Apr 23 22:12:57 2010 +0000

    Per Chris, fuse four trivial tests using grep (r102199) into one that uses FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 950511c9fc00dbbcad7d4576cec66d1ca5b6d042
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 21:16:07 2010 +0000

    enable my inliner change: add newly devirtualized call sites to
    the worklist, making them inline candidates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f56623a81727654052986762b9a2b8653d3cbdd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 19:41:15 2010 +0000

    Change TargetData's algorithm for computing defualt vector type
    alignment to match what's used in clang and GCC for __alignof, rather
    than trying to guess what Legalize is going to be doing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dd21bc2107a32d4634361f719085589845ff3a2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 23 19:10:30 2010 +0000

    Code refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102202 91177308-0d34-0410-b5e6-96231b3b80d8

commit abf191e0e600ad4a92fdc77366113f6c9c46f35a
Author: Stuart Hastings <stuart@apple.com>
Date:   Fri Apr 23 19:03:32 2010 +0000

    Add some missing x86 patterns for movdq2q.  Fixes two (LLVM-)GCC DejaGNU testcases.  Radar 6881029.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102199 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffdad5cfd76c1c9e9c6cbf5216ec554757023227
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 18:38:40 2010 +0000

    fix some failures my callgraph dump format change broke.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102197 91177308-0d34-0410-b5e6-96231b3b80d8

commit e734d37725d56faa7bd7fb4e7770b1956d279511
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 18:37:01 2010 +0000

    switch InlineInfo.DevirtualizedCalls's list to be of WeakVH.
    This fixes a bug where calls inlined into an invoke would get
    changed into an invoke but the array would keep pointing to
    the (now dead) call.  The improved inliner behavior is still
    disabled for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102196 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd347bc8f9365c6cd488ba89dc5c3e8e540f8c47
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 18:31:01 2010 +0000

    testcase for the bug that required a patch to be reverted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102195 91177308-0d34-0410-b5e6-96231b3b80d8

commit f24620229fd6fe7bda0cda7f1eaa743255fde6a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 18:23:40 2010 +0000

    fix callgraph dump to not print 0x0x1234 for nodes.
    Add the instruction pointer value for debuggability.
    We now get dump output that looks like this:

    Call graph node for function: 'f1'<<0x1017086b0>>  #uses=1
      CS<0x1017046f8> calls external node

    Call graph node for function: '_ZNSt6vectorIdSaIdEEC1EmRKdRKS0_'<<0x1017086f0>>  #uses=1
      CS<0x0> calls external node

    Call graph node for function: 'f4'<<0x1017087a0>>  #uses=1
      CS<0x101708c88> calls function 'f3'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102194 91177308-0d34-0410-b5e6-96231b3b80d8

commit b35585dcf2186cfab0a61bb37513de63a61d77ae
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 23 18:21:16 2010 +0000

    Fix X86ISD::CMP i16 to i32 promotion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a859971655e49ce508e53338965c77d6f2a42f6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 15:29:50 2010 +0000

    Move FastISel's HandlePHINodesInSuccessorBlocks call down into FastISel
    itself too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102176 91177308-0d34-0410-b5e6-96231b3b80d8

commit eeca0a6a8739caacbb549dc3b4980a316878e15e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 15:23:32 2010 +0000

    Switch getelementptr inbounds and sdiv exact from undef to trap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 414df0672b66a75b1181a34b51353b0693b7f613
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 23 01:56:36 2010 +0000

    Fixed EDOperand to use the operand type, not the
    flags, to determine whether or not the operand is
    a memory operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 499ccc10d9ebcf7181415078902bb3d2651c4e4a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 01:55:05 2010 +0000

    Fix LSR to tolerate cases where ScalarEvolution initially
    misses an opportunity to fold add operands, but folds them
    after LSR has separated them out. This fixes rdar://7886751.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102157 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc4e79ce96190de407e364976fdb04b6a8d68e6a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 01:51:29 2010 +0000

    When it doesn't matter whether zero or sign extension is used,
    use ScalarEvolutions "any" extend function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03dd6ce84d16db50ad56505c109b0e57f4c528be
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 23 01:18:53 2010 +0000

    Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
    because 102004 causes codegen to emit invalid assembly on at least
    x86_64-unknown-gnu-linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30e02974b91d14ef0d01561f6a845eabd5c3e477
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 00:50:50 2010 +0000

    reject invalid comma stuff with a message.  We reject the case in
    PR6888 with:

    $ llvm-as t.ll
    llvm-as: t.ll:2:29: error: expected metadata or 'align'
     store <3 x i32> %x, i32 1, i32 1>, <3 x i32>* %p
                                ^

    instead of:

    $ llvm-as t.ll
    llvm-as:

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102154 91177308-0d34-0410-b5e6-96231b3b80d8

commit cda418e9936bfb90b6f2b8b2fd774549bc90c845
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 23 00:41:03 2010 +0000

    disable my previous inliner patch, it appears to be busting self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102153 91177308-0d34-0410-b5e6-96231b3b80d8

commit f64f0a907566e74247f2fc544a9756dca1428fd8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 23:37:35 2010 +0000

    The inliner was choosing to not consider call sites
    that appear in the SCC as a result of inlining as candidates
    for inlining.  Change this so that it *does* consider call
    sites that change from being indirect to being direct as a
    result of inlining.  This allows it to completely
    "devirtualize" the testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39073aa53191d98164a05884489e243eec411c43
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Apr 22 23:24:18 2010 +0000

    Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield
    extraction. This fixes PR5998.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102144 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbd729588c70eac5b83d857b4675b104a275f0ac
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 23:14:21 2010 +0000

    Add an initial description of a new concept: trap values, and change
    the definition of the nsw and nuw flags to make use of it.

    nsw was introduced to help optimizers answer yes to the following:

      // Can we change i from i32 to i64 to eliminate the cast inside the loop?
      for (int i = 0; i < n; ++i) A[i] *= 0.1;

      // Can we assume that this loop will eventually terminate?
      for (int i = 0; i <= n; ++i) A[i] *= 0.1;

    In its current form, it isn't truly sufficient for either.

    In the first case, if the increment overflows, it'll still have some
    valid i32 value; sign-extending it will produce a value which is 33
    homogeneous sign bits trailed by 31 independent undef bits. If i is
    promoted to i64, it won't have those same values when it reaches that
    point. (The compiler could recover here by reasoning about how i is
    used by the load, but that's a lot more complicated and isn't always
    possible.)

    In the second case, there is no value for i which will be greater than
    n, so having the increment return undef on overflow doesn't help.

    Trap values are a formalization of some existing concepts that we have
    about LLVM IR, and give the optimizers a better basis for answering yes
    to both questions above.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102140 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b68fdfd4191ec3cd38fa52d15eb7a8d3b5e309b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 23:07:58 2010 +0000

    refactor the interface to InlineFunction so that most of the in/out
    arguments are handled with a new InlineFunctionInfo class.  This
    makes it easier to extend InlineFunction to return more info in the
    future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1927f406cd087afd02b5b08d8c0472746927a106
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 22:06:28 2010 +0000

    Remove the test for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1427d9a77ae4261d4ca132156e699be403089196
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 21:34:16 2010 +0000

    add macruby back

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d78aca2b22f744b729a220b7000cec384b087d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 21:31:00 2010 +0000

    when inlining something like this:

    define void @f3(void (i8*)* %__f) ssp {
    entry:
      call void %__f(i8* undef)
      unreachable
    }

    define void @f4(i8* %this) ssp align 2 {
    entry:
      call void @f3(void (i8*)* @f2) ssp
      ret void
    }

    The inliner is turning the indirect call to %__f into a direct
    call to F2.  Make the call graph more precise when this happens.

    The inliner doesn't revisit call sites introduced by inlining,
    so there isn't an easy way to test for this, but a more precise
    callgraph is a good thing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 464b41d3bdb48bd7a0663b9689b32a231e162420
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 20:56:35 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102129 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d93e2f0518eac5b265b6d300dd8f7ed4cfd1cab
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 20:55:53 2010 +0000

    Sink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks down
    into SelectionDAGBuilder itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 587ee60921bce39654f07ee9dc60a3710b929037
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 20:52:00 2010 +0000

    Adjust debug range offsets for isWeakForLinker() functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 611f30e0d366d68c2c83c18e40d2383b8a7e560d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 20:50:43 2010 +0000

    Add a blurb about the new LSR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102126 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03ae9c85e41f89dcb95751ba106ab3f23061a3ab
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Apr 22 20:48:34 2010 +0000

    The -condprop pass has been deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102125 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61427c111bb817668917dd463fc6f8bfd738f2c6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 20:47:28 2010 +0000

    The post-RA scheduler is currently off by default on x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102124 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f22b9afc62a1390c19163729dbb5d2a1220c581
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 20:46:50 2010 +0000

    Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel
    and into SelectionDAGBuilder and FastISel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102123 91177308-0d34-0410-b5e6-96231b3b80d8

commit b499e2920fd05483f25e7ecd9421b9c32c7bee78
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Apr 22 20:42:40 2010 +0000

    Add some verbiage about Clang to the 2.7 release notes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102121 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8e2c3136f97d76ec98c1bd5b5b2afd8397a30ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 20:42:33 2010 +0000

    add a DEBUG call so that -debug lists when CGSCCPM iterates.

    Fix RefreshCallGraph to use CGN->replaceCallEdge instead of hand
    rolling its own loop.  replaceCallEdge properly maintains the
    reference counts of the nodes, fixing a crash exposed by the
    iterative callgraph stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bddc685230c9e65636d25df9d25278fd458b749
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 20:41:10 2010 +0000

    eliminate dead #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102119 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd1cfc0bec28a735413a0ed7f456fc591417e71a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 22 20:19:46 2010 +0000

    - It's not safe to promote rotates (at least not trivially).
    - Some code refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91c51367bf8d3f644a6179fdeb6cdc88f2d51453
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 20:06:42 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102110 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7a54010a2670f41ba4c2d43119669e5fe3abf06
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 19:55:20 2010 +0000

    Move PHINodesToUpdate out of SelectionDAGBuilder and into
    FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't
    completely natural, as PHI node state is not per-function but rather
    per-basic-block, however there's currently no other convenient
    per-basic-block state to group it with.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5192c37ede13d663bc169b97c62b98e09004a8a9
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 18:43:35 2010 +0000

    Rename InsnAfterLabelMap and InsnBeforeLabelMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12786b491053188dc71fa0b4b14f7bb13d32fa5c
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 18:39:21 2010 +0000

    Keep track of MCSymbol used to mark beginning of a function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48edc28d36f74052ed27cd803096d11107924235
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Apr 22 18:33:31 2010 +0000

    Add mention of ARM atomic builtin support

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59d89cb5172268139d83b33326ceabad54c5d336
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 22 18:28:58 2010 +0000

    At this point Start and End are not null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fa63e60b5558871fbbfd154ed65d9b2b4f25c95
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Apr 22 18:28:43 2010 +0000

    Update ARM frame index scavenging description

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102101 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5a406e2fda440a1bf379c9c94ea5857664e178
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 18:26:17 2010 +0000

    remove dupe

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8665b6d9f205ae56d4c28e0de823beed4f03b75b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 17:39:38 2010 +0000

    reword my incoherent babble into something that makes sense
    from Wesley Peck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102096 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcbcf0224a7641663f0f7ab0dd16d442d9d4ca9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 17:28:36 2010 +0000

    two more projects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102095 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9205662d149409a0dbec6f883a0874935114ba9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 17:25:00 2010 +0000

    add some notes from Matthieu Moy!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49193a65b98f7393c81251dce0eeaa21bc09f5f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 16:45:27 2010 +0000

    improve tblgen doc, pointed out by Zhongxing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 316988f8894c64eade959e3c8f7023a3dd437c31
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 14:19:00 2010 +0000

    Fixing a typo in the "Clang project" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102064 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea7238039be2844d8239547c745009441ec66a98
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 13:53:54 2010 +0000

    Small fix to the "Other Improvements and New Features" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c6c4edcfec51ce3f6690a32deceda6dddf6ccdc
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 13:50:46 2010 +0000

    Fixing small typos in the "New Useful APIs" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102062 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8794390f2b11b6a414a2ec2291a4f4e67724a062
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 13:43:14 2010 +0000

    Fixing small typos in the "ARM Target Improvements" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102061 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff20d83475626fb9be06f978e5ac18d255216ebf
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 13:36:27 2010 +0000

    Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 827209ba022a85484d7a74b9bad4a9f4f33400d9
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Apr 22 13:28:34 2010 +0000

    Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102059 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1c10513a1521ffdccc7ff516a3b7a42c50082c1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 22 10:25:23 2010 +0000

    <pre> seems to close <p>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97969bd28a7b72de90b478da76afbb4ed6e7068e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 22 10:21:43 2010 +0000

    the validator coughed up some problems, most of them fixed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102056 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4f40cc78bf3254d7ae366fd5df7a3f8be136338
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 22 10:11:24 2010 +0000

    shorten link

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102055 91177308-0d34-0410-b5e6-96231b3b80d8

commit 287564830738d3438888d7ebc95364a71f38a45c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 06:39:56 2010 +0000

    static analyzer has its own section

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102054 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bf6777394077d62e144d23e2334dbacf678dd9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 06:38:11 2010 +0000

    add mc and static analyzer blurbs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102053 91177308-0d34-0410-b5e6-96231b3b80d8

commit eefd45e1aaf1375f4085025ca309a1c2cff7a933
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 06:28:20 2010 +0000

    another checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102052 91177308-0d34-0410-b5e6-96231b3b80d8

commit 819024a091058083a56fa73a50cfe1b92a132f5e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 05:41:35 2010 +0000

    various updates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102051 91177308-0d34-0410-b5e6-96231b3b80d8

commit 118e691d03c7db90d57f6cb0e8a7d77c8e1290f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 22 05:33:15 2010 +0000

    fix file header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40b7b406fbd654c55be460e22d3b1fcdbd4acdd5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 01:35:11 2010 +0000

    Don't attempt to analyze values which are obviously undef. This fixes some
    assertion failures in extreme cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102042 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd9b5b763e9872d37b346aa7f8898e6040b3db2a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 22 01:30:05 2010 +0000

    Tidy a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102041 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea21e0d1d0482c612b96ded5539ca5d631114e91
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Apr 21 23:18:07 2010 +0000

    Run LiveVariables instead of computing liveness locally in -regalloc=fast.

    This actually makes everything slower, but the plan is to have isel add <kill>
    flags the way it is already adding <dead> flags. Then LiveVariables can be
    removed again.

    When ignoring the time spent in LiveVariables, -regalloc=fast is now twice as
    fast as -regalloc=local.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102034 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0e181011bb26fcad0a778f0e0c58c0cff10ccc1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 20:57:54 2010 +0000

    Do not try to optimize a copy that has already been marked for deletion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102027 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5ca2dca01e31043d844b5cc0f8fa72a5d3789db
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 21 19:08:53 2010 +0000

    Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102012 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1eef611545a19a2c4b438be647934dc5dc9c16a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 21 18:39:03 2010 +0000

    Fix a performance problem with the new SSAUpdater.  This showed up in the
    GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 816e22b698408e9d10eaec98f79e422e5c9a65c0
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 21 18:37:48 2010 +0000

    Modified some assert() msg strings; no other functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dffe0bbeee64a1e015990bd29350b2586d437e2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Apr 21 18:02:42 2010 +0000

    Add fast register allocator, enabled with -regalloc=fast.

    So far this is just a clone of -regalloc=local that has been lobotomized to run
    25% faster. It drops the least-recently-used calculations, and is just plain
    stupid when it runs out of registers.

    The plan is to make this go even faster for -O0 by taking advantage of the short
    live intervals in unoptimized code. It should not be necessary to calculate
    liveness when most virtual registers are killed 2-3 instructions after they are
    born.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59cccde92cadae2b5d0389122e9d0191d2ffe4dc
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 21 16:32:19 2010 +0000

    Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 309596ef5c0673a416951d2cf94a8ebcdbb26c52
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 16:04:04 2010 +0000

    Make ScalarEvolution::getConstant support pointer types, for consistency
    with ScalarEvolution's overall approach to pointer types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a55945fe37f7fdaab38dad619fcbe1edfc50925
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Apr 21 13:51:48 2010 +0000

    Dragonegg will be released along side llvm-2.7.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c37f005accd588e01e761714f888a7400bbccf3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 21 06:42:24 2010 +0000

    final hacking for tonight, still more to go.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101995 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb8ab3243831c8467b95fe033f9c158cdb55ca16
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 21 06:23:40 2010 +0000

    continue the process of detangling this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101992 91177308-0d34-0410-b5e6-96231b3b80d8

commit e724c478c0d5766e0aad9ddb434445c3d433e761
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 21 05:17:40 2010 +0000

    rough pass moving stuff into relevant sections, still much
    editing to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101987 91177308-0d34-0410-b5e6-96231b3b80d8

commit fffea8a3f5f77c85c0a4e44edf2bb65a7e6f6318
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 21 04:28:21 2010 +0000

    remove ldc, rubinious, macruby, icedtea, llvm-lua, which
    don't have updates for 2.7.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a05dc77d0013803c2a17d33f40dcf516c0c083a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 03:18:23 2010 +0000

    Implement -disable-non-leaf-fp-elim which disable frame pointer elimination
    optimization for non-leaf functions. This will be hooked up to gcc's
    -momit-leaf-frame-pointer option. rdar://7886181

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101984 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6e739caf4180fc0b5e5ffa501a4262ced8db82b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 01:47:12 2010 +0000

    isel (i32 anyext i16) as insert_subreg when 16-bit ops are being promoted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6831b77b3e4df3fd767d03cbb98fa2b45f3c0780
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 01:39:06 2010 +0000

    Trim include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101978 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2ec7d6c74a3595e42326b3eb9abe427494cf7fd
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 01:34:56 2010 +0000

    Add more const qualifiers on TargetMachine and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79ac4f308c8a6a76699f8a7d3b249bf94be55e71
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 01:32:29 2010 +0000

    Update CMakeLists.txt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97fd57744aa203971bd50a4baf4d9e2fdb5a0476
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 01:22:34 2010 +0000

    Move several SelectionDAG-independent utility functions out of the
    SelectionDAG directory and into a new Analysis.cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101975 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e84b96ce60a07709df609ede14b806edbf5712a
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 21 01:01:19 2010 +0000

    Thumb instructions which have reglist operands at the end and predicate operands
    before reglist were not properly handled with respect to IT Block.  Fix that by
    creating a new method ARMBasicMCBuilder::DoPredicateOperands() used by those
    instructions for disassembly.  Add a test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bccd20b514d75a1d47728f60f807f5bd56dc3ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 21 00:47:40 2010 +0000

    Implement (but don't enable) PR6724 and rdar://6295824.  In short,
    we have RefreshCallGraph detect when a function pass devirtualizes
    a call, and have CGSCCPassMgr iterate (up to a count) when this
    happens.  This allows (in the example) GVN to devirtualize the
    call in foo, then the inliner to inline it away.

    This is not currently enabled because I haven't done any analysis
    on the (potentially substantial) code size or performance impact of
    doing this, and guess what, it exposes callgraph updating bugs in
    various passes.  This is progress though, and you can play with it
    by passing -max-cg-scc-iterations=5 to opt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fbf105b1a078ff9827b266880474ea1d3040193
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 00:44:22 2010 +0000

    - Clean up some crappy code which deals with coalescing of copies which look at
      extract_subreg / insert_subreg, etc.
    - Add support for more aggressive insert_subreg coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101971 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe9797ba1c071e09c5edd8e4f105488d838d65bb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 00:43:30 2010 +0000

    Revert r101471. For tight recursive functions which have multiple
    recursive callsites, inlining can reduce the number of calls by
    exponential factors, as it does in
    MultiSource/Benchmarks/Olden/treeadd. More involved heuristics
    will be needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101969 91177308-0d34-0410-b5e6-96231b3b80d8

commit a444f69566e2afaa5602f5a71a602651566a6ba7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Apr 21 00:34:04 2010 +0000

    Handle a displacement location in 64-bit as an RIP-relative displacement. It
    fixes a bug (<rdar://problem/7880900>) in the JIT. This code wouldn't work:

    target triple = "x86_64-apple-darwin"

    define double @func(double %a) {
      %tmp1 = fmul double %a, 5.000000e-01            ; <double> [#uses=1]
      ret double %tmp1
    }

    define i32 @main() nounwind {
      %1 = call double @func(double 4.770000e-04) ; <i64> [#uses=0]
      ret i32 0
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53dcfc9fa4f3892511fc36ac194843c27620c2a1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 21 00:21:07 2010 +0000

    Rewrite machine cse to avoid recursion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f9a29fc27c122ad2226a34b20c523e2c11f9c36
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 21 00:19:28 2010 +0000

    Add another variant of this test which found a place where
    CodeGen's ComputeMaskedBits was being over-conservative when computing
    bits for an ADD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101963 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbc048ebbc2529ebe260edadab015cd4abb074f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 23:18:40 2010 +0000

    teach the x86 address matching stuff to handle
    (shl (or x,c), 3) the same as (shl (add x, c), 3)
    when x doesn't have any bits from c set.

    This finishes off PR1135.  Before we compiled the block to:
    to:

    LBB0_3:                                 ## %bb
    	cmpb	$4, %dl
    	sete	%dl
    	addb	%dl, %cl
    	movb	%cl, %dl
    	shlb	$2, %dl
    	addb	%r8b, %dl
    	shlb	$2, %dl
    	movzbl	%dl, %edx
    	movl	%esi, (%rdi,%rdx,4)
    	leaq	2(%rdx), %r9
    	movl	%esi, (%rdi,%r9,4)
    	leaq	1(%rdx), %r9
    	movl	%esi, (%rdi,%r9,4)
    	addq	$3, %rdx
    	movl	%esi, (%rdi,%rdx,4)
    	incb	%r8b
    	decb	%al
    	movb	%r8b, %dl
    	jne	LBB0_1

    Now we produce:

    LBB0_3:                                 ## %bb
    	cmpb	$4, %dl
    	sete	%dl
    	addb	%dl, %cl
    	movb	%cl, %dl
    	shlb	$2, %dl
    	addb	%r8b, %dl
    	shlb	$2, %dl
    	movzbl	%dl, %edx
    	movl	%esi, (%rdi,%rdx,4)
    	movl	%esi, 8(%rdi,%rdx,4)
    	movl	%esi, 4(%rdi,%rdx,4)
    	movl	%esi, 12(%rdi,%rdx,4)
    	incb	%r8b
    	decb	%al
    	movb	%r8b, %dl
    	jne	LBB0_1

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101958 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0e7f5bdf28ab404ea9ad36f39edcc7aeae0a48
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 20 22:34:09 2010 +0000

    Because of the EMMS problem, right now we have to support
    user-defined operations that use MMX register types, but
    the compiler shouldn't generate them on its own.  This adds
    a Synthesizable abstraction to represent this, and changes
    the vector widening computation so it won't produce MMX types.
    (The motivation is to remove noise from the ABI compatibility
    part of the gcc test suite, which has some breakage right now.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4da8be246753aef637be1da01149083c05ffac38
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 20 22:24:18 2010 +0000

    Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101950 91177308-0d34-0410-b5e6-96231b3b80d8

commit d78127ec0996dad748bd2feab461be2290e25d6e
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 20 22:18:31 2010 +0000

    There is no need to install ValueMapper.h header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101949 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8f2631bf23cf3f5826da799665e76fd6b99d5da
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 20 21:29:28 2010 +0000

    Better error-handling of getBitFieldInvMask() where msb < lsb (encoding error),
    instead of just asserting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91cab49126766d8e3052ec6afa0bb2a5ea98f21d
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Apr 20 19:40:58 2010 +0000

    I plan to release a version of dragonegg based on llvm-2.7 shortly
    after the llvm-2.7 release.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d85a3bdb56b70cf62aa805543b6009dc3bbdbbf
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Apr 20 18:45:47 2010 +0000

    When MachineLICM is hoisting a physical register after regalloc, make sure the
    register is not killed in the loop.

    This fixes 188.ammp on ARM where the post-ra scheduler would grab a register
    that looked available but wasn't.

    A testcase would be huge and fragile, sorry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8af7b879b83e74663b338ffcb89998fd156fe5b2
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 20 18:45:24 2010 +0000

    When doing Thumb disassembly, there's no need to consider t2ADDrSPi12/t2SUBrSPi12,
    as their generic counterparts t2ADDri12/t2SUBri12 should suffice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101929 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6703638507f80974cba77ce20803c59014dfae8f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Apr 20 18:14:47 2010 +0000

    Move CodeGen/X86/2010-04-19-DAGCombineCrash.ll into CodeGen/X86/crash.ll. Also
    reduce.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15824e1badceacc433e203281c1d80243076d995
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 20 17:28:50 2010 +0000

    For t2LDRT, t2LDRBT, t2LDRHT, t2LDRSBT, and t2LDRSHT, if Rn(Inst{19-16})=='1111',
    transform the Opcode to the corresponding t2LDR*pci counterpart.

    Ref: A8.6.86 LDRT, A8.6.65 LDRBT, A8.6.77 LDRHT, A8.6.81 LDRSBT, A8.6.85 LDRSHT

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101915 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4a3441bb3a5bf168dfb8d7f8bf299ab068eb8bc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 20 17:27:38 2010 +0000

    Typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ca0afcfaa4756eb53e38bc32f1501704acff79e
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 20 17:20:10 2010 +0000

    Add RUN:

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101913 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8927ac9c737d221b215c015f4fb8edb2b02bbde4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 15:03:56 2010 +0000

    Sink the CopyToExportRegsIfNeeded calls out of SelectionDAGISel
    into SelectionDAGBuilder. This avoids a separate pass over the
    instructions, and has the side effect of providing debug location
    information to the copy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101906 91177308-0d34-0410-b5e6-96231b3b80d8

commit f979c9f40a0188beb3b6e2e98aeff5b30ca3e355
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 15:00:41 2010 +0000

    Don't send PHI nodes down to SelectionDAGBuilder of FastISel, since
    they end up doing nothing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101904 91177308-0d34-0410-b5e6-96231b3b80d8

commit a87d8585e2136bd42b362b294742bed3c67f9f1a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 14:51:20 2010 +0000

    Document that TargetRegisterInfo::contains does not cover virtual registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2df1bab365346be8d5e0eab5ae85e17485bf5b87
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 14:50:13 2010 +0000

    Sink this use_empty() check into isUsedOutsideOfDefiningBlock.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 571cc8182b1434ffe680df9833393417b662c01f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 14:48:02 2010 +0000

    If a PHI node somehow has debug info, propogate it to the MachineInstr PHI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 978691e5aac085614099f19c6f1b8458b25a97e9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 14:46:25 2010 +0000

    Don't iterate through the whole block just to find the PHI nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c35cfdd1e3a0aa546014c61ec611476cccfe2cb
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 20 13:13:04 2010 +0000

    use abstract accessors to CallInst

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101899 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6736625afd5a9c250af74c141d580e877868d3c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Apr 20 12:16:50 2010 +0000

    PR6880: Don't dereference CallsExternalNode if it's NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101897 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb3139e82dbf7bf918cd8e80a22181c55a4b194f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Apr 20 11:50:37 2010 +0000

    Fix -Wcast-qual warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101894 91177308-0d34-0410-b5e6-96231b3b80d8

commit c97c79657c9a87c3b73de30180748b3af6adc6aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 06:30:25 2010 +0000

    stop computing InstImpInputs, it is dead

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c403386c2e9f71653c675b1160f8a7af25c8c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 06:28:43 2010 +0000

    DAGInstruction::ImpOperands is dead after my recent tblgen work, zap it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101880 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb54b188c0d6d0da43fe9a3070c7633d29d71d8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 06:20:21 2010 +0000

    Bill's change in r95336 broke empty aggregates embedded
    in other types.  fix this by only bumping zero-byte globals
    up to a single byte if the *entire global* is zero size,
    fixing PR6340.

    This also fixes empty arrays etc to be handled correctly,
    and only does this on subsection-via-symbols targets (aka
    darwin) which is the only place where this matters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101879 91177308-0d34-0410-b5e6-96231b3b80d8

commit f47b1430d8aaa0691f70c3514c8b144afef6693b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 05:36:09 2010 +0000

    teach cellspu how to return i8 and i16 from calls,
    patch by Kalle Raiskila!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 437b1b7dd3e8125288f71633cbc14c1793bbbfc8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 05:33:18 2010 +0000

    remove a bunch of ad-hoc code to simplify instructions from
    loop unswitch, and use inst simplify instead.  It is more
    powerful and less duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77a02a6ff451f69843160e84414fc393008041ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 05:32:14 2010 +0000

    move some select simplifications out out instcombine into
    inst simplify.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bda04360ab9ada1b014522a195167a419077506
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 05:09:16 2010 +0000

    RewriteLoopBodyWithConditionConstant can end up rewriting the
    condition we're unswitching on.  In this case, don't try to
    simplify the second copy of the loop which may be dead or not,
    but is probably a constant now.  This fixes PR6879

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101870 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0522c99b59e976df86866a207801c3f36d0c513
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 04:49:11 2010 +0000

    reapply 'reject forward references to functions whose type don't match'
    now that the testsuite has been updated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a4d034bee6568f0bdfb418686faf8bc70a56c9d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 01:58:20 2010 +0000

    Delete a redundant return statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101860 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3a621684619debeced618e5e6d13f022e1a63a5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Apr 20 01:25:01 2010 +0000

    The visitXOR method can return the same SDNode. If so, we don't want to delete
    it as it's not dead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101855 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce7b4bf99e9704b30871c338ffb56a6c31071f90
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 01:11:32 2010 +0000

    disable optimizations in this directory for MSVC9.  This avoids
    an optimizer infinite loop on the file, PR6866.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a4fb558af5d2a1b0284558545ad30fb2a91e579
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 20 01:01:57 2010 +0000

    Better error-handling for DisassembleThumb2DPModImm() with 2-reg operands where
    d==15 is considered illegal.  Return false instead of assert().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101852 91177308-0d34-0410-b5e6-96231b3b80d8

commit b073b34a1c9495de5ca29c60863981f0d0bea9e1
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Apr 20 00:59:54 2010 +0000

    Remove the palignr intrinsics now that we lower them to vector shuffles,
    shifts and null vectors. Autoupgrade these to what we'd lower them to.

    Add a testcase to exercise this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101851 91177308-0d34-0410-b5e6-96231b3b80d8

commit c522e4fa46bd29bc5bda60e4c40c2ac1f7ec02ba
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 00:56:44 2010 +0000

    Remove this debug output; it isn't that useful, and it's incomplete
    in the case where a basic block is split.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101850 91177308-0d34-0410-b5e6-96231b3b80d8

commit b81d52b9923f0a6714ef1d191de238db5fae5ffa
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 00:48:35 2010 +0000

    Sink DebugLoc handling out of SelectionDAGISel into FastISel and
    SelectionDAGBuilder, where it doesn't have to be as complicated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6beab5e95771b8f4679fa77b6622d6b89256661a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 00:47:34 2010 +0000

    make CallGraphNode dtor abort if a node is deleted when there are still
    references to it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20c3967524614eac3ea0259f59dc06a98ca51219
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 00:47:08 2010 +0000

    make the inliner do less work for leaf functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101846 91177308-0d34-0410-b5e6-96231b3b80d8

commit c42477e448c8a2e56fe14b41a6c874a2e390b09b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 20 00:46:50 2010 +0000

    Fix rdar://7879828 - crash in CallGraph, a self host issue.
    Arg promotion was deleting call graph nodes that still had references
    from the 'indirect' CGN.  Like the inliner, it should only delete the
    function if all references are gone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d70b4c35ea6f31ae917060735a520a1e370ac56
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 00:37:27 2010 +0000

    Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
    responsible for figuring out what that's supposed to be on its own.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101844 91177308-0d34-0410-b5e6-96231b3b80d8

commit 627778d348be239dc17f1e0372be6aded770a94d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 20 00:29:35 2010 +0000

    Reapply the removal of SelectionDAGISel's BB, with a fix for the case
    where multiple blocks are emitted; functions which do this need to return
    the new BB so that their callers can stay current.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101843 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fc5faafcc0678218a4c7a316e5bc51c0ef93828
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Apr 20 00:17:16 2010 +0000

    Fix tests for Neon load/store intrinsics to match the i8* types expected by
    the intrinsics.  The reason for those i8* types is that the intrinsics are
    overloaded on the vector type and we don't have a way to declare an intrinsic
    where one argument is an overloaded vector type and another argument is a
    pointer to the vector element type.  The bitcasts added here will match what
    the frontend will typically generate when these intrinsics are used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101840 91177308-0d34-0410-b5e6-96231b3b80d8

commit f590b339ff533520fc15806ecb5720adf66d4a7b
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 20 00:15:41 2010 +0000

    More IT instruction error-handling improvements from fuzzing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101839 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4e1298627852f51375653d44b546eb09a0abe52
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 23:34:15 2010 +0000

    Revert 101825, which is causing trouble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2930c8628038d8fd136f0c0870ed66f990e1af1d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 23:11:58 2010 +0000

    Make BreakAntiDependencies' SUnits argument const, and make the Begin
    and End arguments by-value rather than by-reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57a4f3da18108687fc07be16d99556f73acb9647
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 19 23:02:58 2010 +0000

    Better error handling of invalid IT mask '0000', instead of just asserting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61bd2037f98d48aab9bc75c159705c393dce66d9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 22:51:14 2010 +0000

    Eliminate SelectionDAGISel's "current block" member. Just pass it as
    an argument to things that need it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 364a4ed760d7d4dd67576c7dcb5bfca7832267a6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 22:48:45 2010 +0000

    Delete an unnecessary reference to SelectionDAGISel::BB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101824 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb1bb04ca822a7edcfa62e4a8b5b9f749b963557
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 22:41:47 2010 +0000

    Eliminate the CurMBB member from SelectionDAGBuilder. For places that
    need it, just pass around the parent block of the current instruction
    explicitly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0362a25a4e06e4ea45c7b1d28f573b65930bda1b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 21:48:58 2010 +0000

    Remove the Expr member from IVUsers. Instead of remembering the expression,
    just ask ScalarEvolution for it on demand. This helps IVUsers be more robust
    in the case of expressions changing underneath it. This fixes PR6862.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1309a93046118098f257ce335ad5164be90ccca7
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 19 21:19:52 2010 +0000

    According to A8.6.16 B (Encoding T3) and A8.3 Conditional execution -- A8.3.1
    Pseudocode details of conditional, Condition bits '111x' indicate the
    instruction is always executed.  That is, '1111' is a leagl condition field
    value, which is now mapped to ARMCC::AL.

    Also add a test case for condition field '1111'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101817 91177308-0d34-0410-b5e6-96231b3b80d8

commit f07455cbe93f28afb172cf39c9055274f4c53546
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Apr 19 20:31:39 2010 +0000

    Fix typo. add a test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bf9655bb6d1a734e858f8bfecf941452950b55a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 19 19:29:22 2010 +0000

    More progress on promoting i16 operations to i32 for x86. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101808 91177308-0d34-0410-b5e6-96231b3b80d8

commit a24dac683d5382f6b5b16af750d60d1c2552b150
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 19:22:07 2010 +0000

    Give SelectionDAG a TargetMachine too, rather than having it
    fetch one from the MachineFunction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44bfdd3c0eef58b126ea1b3fb23fe72d6d4202b3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 19 19:17:44 2010 +0000

    More 80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d1d1ef73edebed8df6a10608d00d07ec30ec740
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Apr 19 19:14:02 2010 +0000

    Add DW_AT_APPLE_omit_frame_ptr to encode -fomit-frame-pointer flag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a7907a14fef6e375f872b0a8884d07f2062d27b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 19:05:59 2010 +0000

    Code that needs a TargetMachine should have access to one directly, rather
    than just getting one through a TargetLowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7acae3c91fdda134f15b49b500701f361b0679fc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 18:41:46 2010 +0000

    Move isInTailCallPosition out of SelectionDAGBuilder, as it isn't
    SelectionDAG-specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101801 91177308-0d34-0410-b5e6-96231b3b80d8

commit 841080e183d09887d7279c892affe2b07deb550b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 18:33:28 2010 +0000

    Enable -Wcast-qual for C++ files, where intentional qualifier-stripping can
    be done with const_cast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d27195f93dd70b6b8ccb21cd31f4efef9ec246f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 18:11:02 2010 +0000

    Remove -module, which appears to be a leftover from prior libtool usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d7888545adfbc70019229a7980f1391cfce8421
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 17:51:31 2010 +0000

    This doesn't need SmallVector.h anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93870ce77d59dcf84b10ccc8404fe9d985a21c96
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Apr 19 17:25:38 2010 +0000

    Support .a files directly (without -l).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e2bc49b72e90a99af561e70f5be3f500effaeb6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 19 17:16:40 2010 +0000

    Better error-handling for DisassembleThumb2DPSoReg() where the 3-reg operand
    instructions should have Rd (Inst{11-8}) != 0b1111.

    Ref: A6.3 32-bit Thumb instruction encoding
         A6.3.11 Data-processing (shifted register)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 892c28f8c1c236f6cb1e6d5a3bbebf606ba4b7f0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 16:33:28 2010 +0000

    Fix this for std::vectors which don't have .data().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b224289250c34f6fc595e090d45e1fea3dad660
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 19 16:20:34 2010 +0000

    ARM disassembler did not react to recent changes to the NEON instruction table.
    VLD1q*_UPD and VST1q*_UPD have the ${dst:dregpair} operand now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cf14e52cd1e7328cc406816a9ebcb0d4a9da3ae
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Apr 19 16:15:31 2010 +0000

    Don't write into MemoryBuffers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101783 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf3ca25a6cac5408a1ac4d26dd4b885a933d5334
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:55:10 2010 +0000

    Fix -Wcast-qual warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101782 91177308-0d34-0410-b5e6-96231b3b80d8

commit c60247da6b049e572287cf32235020aaee7664cd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:54:44 2010 +0000

    Revert 91528 and use a std::vector instead, fixing an abuse of std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101781 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3fa5dfb9b9466d133332acd59c240f52c3cf6b4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:42:05 2010 +0000

    Fix -Wcast-qual warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101779 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfa942eed61395aebd9c5a39dfbb92ca2e7e535d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:40:15 2010 +0000

    Add a few more ELF bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13a556fb2b1d9a645bf0445cbbe3e54017dc10e4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:39:27 2010 +0000

    Add a const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c4732d335e1c033b343ed7bbd02646edf41a41c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 19 15:38:38 2010 +0000

    These functions don't need to access this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101776 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8ed188c6f13553fd5af1964b3277add9ce35971
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Apr 18 20:41:42 2010 +0000

    Add missed part of prev. commit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101755 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca520b360f0354f9440ee31a7a0667dbea2b7e18
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Apr 18 20:31:01 2010 +0000

    Make processor FUs unique for given itinerary. This extends the limit of 32
    FU per CPU arch to 32 per intinerary allowing precise modelling of quite
    complex pipelines in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101754 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9be3f8aef575d125699ae5f4e9b90a5681d0c39
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 17:34:10 2010 +0000

    avoid temporary std::string in non posix_spawn path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101723 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1664a4dad511a2b5212c3792edaf1746877ff26
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Apr 18 09:19:41 2010 +0000

    Eliminate temporary string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101711 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0e51b1fd8b9a4b6abdcaa33edad611560d64e59
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Apr 18 09:16:04 2010 +0000

    Properly inherit the environment on darwin where environ is not available for shared libraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101710 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc31834aa4c6d18a32928e5e2a66bf59b176dbed
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Apr 18 07:07:48 2010 +0000

    This is horrible. Split the difference, and declare 'environ' on all non-Darwin
    platforms to unbreak the darwin and linux builds. The BSD folks should feel
    free to change the #if, if this breaks them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3822d9e044d35167a7110872b4de57e88c18c693
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Apr 18 06:44:21 2010 +0000

    Revert r101701, Darwin doesn't have 'environ'. Go figure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101702 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8c7d07cdebabfa9a328105e728e2d582ba5fbc7
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Apr 18 06:22:26 2010 +0000

    Fix linux build. posix_spawn doesn't inherit the environment by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a0ee3e4b05f3fa639558fe06b8a22adda48d0bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 04:14:37 2010 +0000

    make Program::Execute use posix_spawn on systems that support it,
    as it is more efficient than fork/exec.

    Thanks to Eric for adding the autoconf check.  It would be nice if
    a cmake guru could add a cmake check for posix_spawn as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 010b3e1d771ca7067dc2d7cef4f8f8041e206cb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 03:35:23 2010 +0000

    reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 893efe32993b62a3bf54d4d4380f187df507225c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 03:33:55 2010 +0000

    unnest from namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101691 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6f04a977a7c0ec9c8c18212e11b4809517b1225
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 03:30:32 2010 +0000

    silence some -Wmissing-field-initializers warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43b9f93a1169ef54d483193bffd526087cc3740f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 18 03:28:20 2010 +0000

    silence some unused-value warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cef1e214b626563cb509390184058ee3561a8be
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Apr 18 00:56:05 2010 +0000

    Don't rely upon the MCSymbol "isDefined" method to indicate if a label has been
    emitted or not. The JIT doesn't set that. Look it up in the label location table
    instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f335ad0f5832a9451f2ad54d171ca621996efff
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Apr 18 00:52:08 2010 +0000

    Formatting changes. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101685 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8fa09ed67e7a952d8de83b780c05fa5b44dab82
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Apr 18 00:51:49 2010 +0000

    Add a "PadTo" field to the emitULEB128Bytes method. This will pad out to the
    indicated number of bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65f57fc43a1ab316a0d8ad1e885dba6ff16fb86f
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 17 21:29:25 2010 +0000

    Fix declarations in a few more tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101676 91177308-0d34-0410-b5e6-96231b3b80d8

commit f83c1ef9cc93d491aa689dc10e352fbaa9964adb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Apr 17 21:24:55 2010 +0000

    Revert "reject forward references to functions whose type don't match", because DJG told me to!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e740aa7eac451990ae8fd8e2923d01c1509d4a5
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 17 21:12:55 2010 +0000

    Fix intrinsic signature in this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101674 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9744eefe61ff86295f356ff15903cb252a35e111
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 20:45:56 2010 +0000

    reject forward references to functions whose type don't match
    up with the definition (and fix a broken testcase).  PR6491.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0290bd8fc659ae20421a7b72cf63605a992433bc
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Apr 17 19:56:46 2010 +0000

    Add comment (lost when reverting and reapplying 101503).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26e7be26a70f1f3e4345a6654fcec8f9b3fa46ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 19:04:03 2010 +0000

    doh, didn't mean to check in my hackaround lit sucking. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101663 91177308-0d34-0410-b5e6-96231b3b80d8

commit af49906d60038f4212105105135f86a895080c5a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 19:02:33 2010 +0000

    fix PR6332, allowing an index of zero into a zero sized array
    even if the element of the array has no size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101662 91177308-0d34-0410-b5e6-96231b3b80d8

commit c13b7321f616c4e758a8ea6ec492d027bfb1ff22
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 18:56:34 2010 +0000

    teach the x86 asm parser how to handle segment prefixes
    in memory operands.  rdar://7874844

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 621fa6b07398fa1fa01cdfe954fce4ea51ac3a08
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 18:14:27 2010 +0000

    refactor .if handling code a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54c797695ee3910c7f0e5c1731efbaf70eeddf39
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 17:57:56 2010 +0000

    fix PR6858: a dangling pointer use bug which was caused
    by switching CachedFunctionInfo from a std::map to a
    ValueMap (which is implemented in terms of a DenseMap).

    DenseMap has different iterator invalidation semantics
    than std::map.

    This should hopefully fix the dragonegg builder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101658 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbd4d6e1c78b9b9af3dd323060b9ceba6bc6cfa0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 17:55:00 2010 +0000

    a bunch of cleanups and tweaks, no functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20cd5afed6d8f6989cab3df86d862cd13256fe5a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 17:44:03 2010 +0000

    Fix more -Wcast-qual warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1574bdec6cab98d47b9bd8683fb18ed8f87682b1
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 17:42:52 2010 +0000

    Fix -Wcast-qual warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 953a275049981da5520b2a064898bfc3ae4ddfcb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 17:28:00 2010 +0000

    remove a dead variable, PR6856

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697c7571a15cca1433a7e208a7ad3c7e724381d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 17:22:06 2010 +0000

    testcase for r101538, patch by Nico Schmidt!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101642 91177308-0d34-0410-b5e6-96231b3b80d8

commit d73d8d5b4cd5802dd18bf34b34ec816c9204db85
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 16:44:48 2010 +0000

    Add const qualifiers to TargetLoweringObjectFile usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 314c74dc24dfe4d369355d6674b27c38b630002e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 16:43:55 2010 +0000

    Use const_cast instead of a C-style cast to cast away const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101639 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fe21291207fc7f76b073e04bd5092b54e23c4cb
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 16:29:15 2010 +0000

    Start function numbering at 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101638 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc902ca0c8b718257ee3465c872389e364197e34
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 15:32:28 2010 +0000

    Delete now-unnecessary const_casts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d1770de9172c6f58746558c9098491ce05ff6e5
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 15:31:16 2010 +0000

    Use cast instead of dyn_cast when assuming success.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101636 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3e8fa92af861dc32e6b38dfbc068064c79ebb3b
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 15:26:15 2010 +0000

    Use const qualifiers with TargetLowering. This eliminates several
    const_casts, and it reinforces the design of the Target classes being
    immutable.

    SelectionDAGISel::IsLegalToFold is now a static member function, because
    PIC16 uses it in an unconventional way. There is more room for API
    cleanup here.

    And PIC16's AsmPrinter no longer uses TargetLowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101635 91177308-0d34-0410-b5e6-96231b3b80d8

commit a70afdbd13ef39cfc5cdf8169c6e8576fa371ac6
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Apr 17 14:41:14 2010 +0000

    Move per-function state out of TargetLowering subclasses and into
    MachineFunctionInfo subclasses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101634 91177308-0d34-0410-b5e6-96231b3b80d8

commit da6718546fc4d460a1806cff620f50269ff6666b
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sat Apr 17 08:50:29 2010 +0000

    Name these stub files consistently with the SPU and PPC targets' conventions.
    Also rename the classes appropriately. The CMake build already used these
    names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 780078db23f31f18f65eda4b1a5e2c15868fdbe0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 07:38:24 2010 +0000

    a bunch of ssse3 instructions are misencoded to think they have an
    i8 field when they really do not.  This fixes rdar://7840289

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101629 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c4fdfab87f616ef7e342da0130871811089a6d0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 07:17:19 2010 +0000

    reenable r101565, removing a problematic assertion.
    CGSCC can delete nodes in regions of the callgraph that
    have already been visited.  If new CG nodes are allocated
    to the same pointer, we shouldn't abort, just handle it
    correctly by assigning a new number.  This should restore
    stability by removing invalidated pointers that *will* be
    reused from the densemap in the iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1901a754bd76cb86ed42727416be3cfcbd6b28b3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 17 07:07:11 2010 +0000

    Postra machine licm must add registers defined by loop invariants to *all* of
    the live-in sets of BBs in the loop. Otherwise later pass may end up using the
    registers and override the invariant. rdar://7852937
    No reasonablly sized test case possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101626 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd81bc507b4f4156e3fd8db9cfbc7efec652aa16
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 17 07:00:24 2010 +0000

    Refresh this documentation. Things have changed a bit in the mean time:
     - LLVMgold.so --> libLLVMgold.so
     - the GCC LTO project is no longer 'upcoming'
     - document the plugin support for 'ar' and 'nm'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11b07b494b26eb30f0262229241e089ae83e5c77
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 17 06:47:47 2010 +0000

    Fix codegen passes. -disable-ssc shouldn't disable postra machine licm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e676b2265c229b23d52cde7bf63b67b61527d56
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 17 06:13:15 2010 +0000

    More work to allow dag combiner to promote 16-bit ops to 32-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101621 91177308-0d34-0410-b5e6-96231b3b80d8

commit a07f49f6d47296497a2d73ae62bc3d9da8072cd4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 17 06:12:32 2010 +0000

    Another 80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101620 91177308-0d34-0410-b5e6-96231b3b80d8

commit b713c26ec5a9ab4ca5668f373596bb3994a28120
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Apr 17 05:30:19 2010 +0000

    Revise my previous change to ExpandBIT_CONVERT.  I hadn't realized that this
    may be called when either the source or destination type is i64, and my
    change also hadn't fixed the most obvious problem -- assuming that i64 will
    only be bitconverted to f64, ignoring the various vector types.
    Radar 7873160.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7aae32bd3357d1fa00abebd1e25be3f6a50e0b0b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 17 03:43:36 2010 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 931c5589d16fcf40389ece5a13115ad278fc0824
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Apr 17 03:08:24 2010 +0000

    Re-commit my previous SSAUpdater changes.  The previous version naively tried
    to determine where to place PHIs by iteratively comparing reaching definitions
    at each block.  That was just plain wrong.  This version now computes the
    dominator tree within the subset of the CFG where PHIs may need to be placed,
    and then places the PHIs in the iterated dominance frontier of each definition.
    The rest of the patch is mostly the same, with a few more performance
    improvements added in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90b889afc55a38f80384ac1e56a6e877d609555e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Apr 17 00:49:11 2010 +0000

    As a temporary workaround for post-RA not handling DebugValue instructions,
    just remove them all.  Radar 7873207 (working around the root problem of
    Radar 7759363).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f06b14a069f4f6570086de65506ad8fa59f6707
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Apr 17 00:38:36 2010 +0000

    Revert "Use a simpler data structure to calculate the least recently used register in RegAllocLocal."

    This reverts commit 101392. It broke a buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30f6b474072e5d32523a5cb1ef6fd03090d24571
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Apr 17 00:08:21 2010 +0000

    Reapply 101503+101520.  These are "obviously correct" [Chris]
    and don't cause any problems on Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67210848e4d905e55468673c0e9b3c18acd6a71f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 17 00:05:36 2010 +0000

    disable r101565: an assert is getting triggered.  More lurking badness no doubt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101583 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbbad2eefe7fbd5cc37a4b1319482dbc6712b7b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 23:52:30 2010 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 860ba7b49808272ed6fc6ec2b799df9fccb00219
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 16 23:37:20 2010 +0000

    Revert 101465, it broke internal OpenGL testing.

    Probably the best way to know that all getOperand() calls have been handled
    is to replace that API instead of updating.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 758fc4d8f5f3fd8a8b779b15c00cc8dcb92e21f7
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Apr 16 23:33:45 2010 +0000

    Add support to emit dwarf ranges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00c91c6a1ee213f41fda12865beeaa3a45681795
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Apr 16 23:32:37 2010 +0000

    Use a simpler data structure to calculate the least recently used register in RegAllocLocal.

    This makes the local register allocator about 20% faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101574 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd52fb6a167672ae4a06d970439d518f9aca614e
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 23:30:28 2010 +0000

    Cast to (uint64_t) instead of relying on the "ul" suffix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101573 91177308-0d34-0410-b5e6-96231b3b80d8

commit d538cebfd1fe20e37c55a1a587f74d8865c4b407
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 23:09:10 2010 +0000

    Add a getSelectionDAGInfo member to TargetMachine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101567 91177308-0d34-0410-b5e6-96231b3b80d8

commit a66c07d5a39137b46842df2a7fe8ea9ac69596d6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 23:07:44 2010 +0000

    update docs for api change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ba3fc412c8bd60ee21186e013cadb15b9573199
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 23:04:30 2010 +0000

    building on the new CallGraphSCC abstraction, teach CallGraphSCCPassManager
    to keep the node entries in scc_iterator up to date instead of dangling as
    the SCC mutates.

    This is a really terrible problem which was causing -g to affect codegen
    because it would permute the memory image of the compiler process.

    Thanks to Dale for expertly hunting it down.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4459f7b84e5cc4833426620d08510e99cfffe180
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 23:04:22 2010 +0000

    Add skeleton target-specific SelectionDAGInfo files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101564 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b393a97977989182ae49e0112dd7a6e7148c27
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 23:02:25 2010 +0000

    Fixed logic error.  Should check Builder for validity before calling SetSession
    on it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fda122ef0d5830cdde46213b777e15c17007d9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 22:59:24 2010 +0000

    move ReplaceNode out of line, rename scc_iterator::fini -> isAtEnd().

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44d0bc4f2a59ae1aa030fe556d56942bd2fd4615
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 22:59:06 2010 +0000

    Regenerate configure script.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101561 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50dbc9a5b049d9a8b1e453967bc83377c1b0d97c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 22:58:15 2010 +0000

    Add an autoconf check for -retain-symbols-file and conditionalize
    use of that option with it. This eliminates an imprecise "Linux"
    test, and should help support old versions of gold.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101560 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb23b349f580795ea71e209569b279b7148528e4
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 22:48:31 2010 +0000

    Minor change to make the test case comply with Vd<0> == '0' when Q == '1'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ee636a2288cfdc7a77968af87b0564a3255d2b8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 22:42:17 2010 +0000

    introduce a new CallGraphSCC class, and pass it around
    to CallGraphSCCPass's instead of passing around a
    std::vector<CallGraphNode*>.  No functionality change,
    but now we have a much tidier interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a4472e185dbb3962df16ad0998e9700bdd2739a
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 22:40:20 2010 +0000

    Fixed a bug in DisassembleN1RegModImmFrm() where a break stmt was missing for a
    case.  Also, the 0xFF hex literal involved in the shift for ESize64 should be
    suffixed "ul" to preserve the shift result.

    Implemented printHex*ImmOperand() by copying from ARMAsmPrinter.cpp and added a
    test case for DisassembleN1RegModImmFrm()/printHex64ImmOperand().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e6593e39cf5c15847914e5b37033db806f1e10f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 16 22:26:19 2010 +0000

    (i32 sext_in_reg (i32 aext (i16 x)), i16) -> (i32 sext x). No known test case until -promote-16bit is enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101551 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b039fe77d7c088fa64c31f4edf9bf111e623e59
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 21:57:10 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101548 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3042d50704a13772394d50692e3415c0291d870
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 21:43:55 2010 +0000

    move PrintCallGraphPass out of the middle of CGPassManager.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101543 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97c65ca36c9fb5a0e03ec659e0027a763dab3d29
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 21:15:15 2010 +0000

    add a missing break back, patch by Nico Schmidt!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101538 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9dfb0caee27099bf56ed37258fd1dc54eacec70
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 21:12:11 2010 +0000

    Create a new TargetSelectionDAGInfo class. This will eventually acquire
    SelectionDAG-specific parts of TargetLowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101537 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd895fdbaaf85d26c17f49082a9d8ff67418a143
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 20:22:43 2010 +0000

    Commit this, which should have accompanied 101531.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24c476a03d4fdea94b18ce4aed213a9e7de196ee
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 20:11:05 2010 +0000

    Eliminate an unnecessary SelectionDAG dependency in getOptimalMemOpType.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 128a9f304bdcc3ec2bf1cf0aafe6db81f373a34c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 20:08:45 2010 +0000

    Fix this code to avoid implicit assumptions about the length of the array.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0038cc798cbecf8129641946458bb8b40d301513
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 19:57:21 2010 +0000

    In the same spirit of r101524, which removed the assert() from printAddrMode2OffsetOperand(),
    this patch removes the assert() from printAddrMode3OffsetOperand() and adds a test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101529 91177308-0d34-0410-b5e6-96231b3b80d8

commit a726d55f9b9fab779e5ac0cfa8412263a67acff8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 19:36:41 2010 +0000

    Revert 101520, which depended on 101503, which was reverted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101528 91177308-0d34-0410-b5e6-96231b3b80d8

commit c52f1e138604eefef954ae468b41543135ae48f8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 19:33:23 2010 +0000

    Multiclass LdStCop was using pre-UAL syntax LDC<c>L for the L fragment.  Changed
    to the UAL syntax of LDCL<c>, instead.

    Add a test case for this change which also tests the removal of assert() from
    printAddrMode2OffsetOperand().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a26d8e3b74ecbc8c6834dc6829e4d2ba52b3996
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Apr 16 19:28:59 2010 +0000

    Revert commit 101503 (johannes), in the hope of fixing the dragonegg build,
    see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693
    Original commit text:
    Use a ValueMap not a std::map for the reason indicated
    in the comment.  This was causing nondeterministic changes
    in inlining decisions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101525 91177308-0d34-0410-b5e6-96231b3b80d8

commit c248d0e5a7fec2b57ff7f8d9b7cfbf11e9276ac9
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 16 19:10:52 2010 +0000

    Remove the assert() from printAddrMode2OffsetOperand().  "#0 and #-0" are
    considered legal instructions.

    Refs: A8.6.51 LDC, LDC2 (immediate) -- page A8-107, A8.6.58 LDR (immediate, ARM)
    -- page A8-121, and A8.6.194 STR (immediate, ARM) -- page A8-395.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101524 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3602e248c9a3e9ad498b44af5ff8dd2025ab068
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 18:45:11 2010 +0000

    Trim a #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 689e1808812917510d84aa0503e177f783b79466
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 18:37:31 2010 +0000

    Revert r101455, which fails on the llvm-arm-linux buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101515 91177308-0d34-0410-b5e6-96231b3b80d8

commit be9e670edd1625679de40d616913428578f25a78
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Apr 16 18:16:08 2010 +0000

    Use a ValueMap not a std::map for the reason indicated
    in the comment.  This was causing nondeterministic changes
    in inlining decisions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a817ab4174055b6a5120aecbfa32142d433feeb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 16 17:58:41 2010 +0000

    80 col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87a08b649cd5bdc163c1dc96f866a3af64d3560a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 16 17:57:59 2010 +0000

    80 col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5edf29ca2d01daa3315eaabbe342796158ad58c0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 17:15:02 2010 +0000

    Avoid creating virtual registers for unused values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57fb9cbeb2f6d2cf26168fe180efb43498e7e3a0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 16:55:18 2010 +0000

    Fix an assertion string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9eeaebbbbc515af5138edaee70f837336bb7e636
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 16:52:37 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2436358b9c452817a2ef9746226a009674a27de4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 16:01:18 2010 +0000

    Disable inlining of recursive calls. It can complicate tailcallelim and
    dependent analyses, and increase code size, so doing it profitably would
    require more complex heuristics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101471 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0e460fd5da34c51e833c8d7c807e0061c76822a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 15:57:50 2010 +0000

    Refine the detection of seemingly infinitely recursive calls where the
    callee is expected to be expanded to something else by codegen, so that
    normal infinitely recursive calls are still transformed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a9136f3c844816cd62e9f03c02aaa38c81d6175
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 16 15:33:14 2010 +0000

    reapply r101434
    with a fix for self-hosting

    rotate CallInst operands, i.e. move callee to the back
    of the operand array

    the motivation for this patch are laid out in my mail to llvm-commits:
    more efficient access to operands and callee, faster callgraph-construction,
    smaller compiler binary

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465 91177308-0d34-0410-b5e6-96231b3b80d8

commit be754c2fed741cea3739f488e8504f099716324f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 15:14:50 2010 +0000

    Make callIsSmall accessible as a utility function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dc7eec6bfefb171a78ab08f98f8a22dbb8c473c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 15:03:25 2010 +0000

    Fix SCEVCommutativeExpr::print to be robust in the case of improper
    expression canonicalization. Its job is to print what's there, not to
    make judgements about it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 087422d31f333fdb90459c46110a680f65575255
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 13:32:55 2010 +0000

    Delete a blank line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1aa8a5c741e6d474b3d696bae57e4ad28e9a4957
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 13:29:35 2010 +0000

    Add Debug+Coverage to more svn:ignore properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0aa278c5115f3f46a86d1681b558868cc4c2655d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Apr 16 09:04:28 2010 +0000

    Add JIT exception handling test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eb4bcf3a339727521e2b4c018ac04d1d590310c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Apr 16 08:46:10 2010 +0000

    The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
    JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
    section for the MCSymbol is never set. And thus the MCSymbol for the EH label
    isn't marked as "defined". Because of that, TidyLandingPads removes the needed
    landing pads from the JIT output. This breaks EH for every JIT program.

    This is a work-around for this limitation. We pass in the label locations
    map. If the label has a non-zero value, then it was "emitted" by the JIT and
    TidyLandingPads shouldn't remove that label.

    A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
    upon the section being set to determine if it's defined or not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ec8fc16a1bdc744b3e22e200d497e7c6a729947
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 06:20:22 2010 +0000

    completed my pass over all 6+ months of commits, next step, format and make comprehendable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b21721e44ca2acd9ef837422a5e71db76aa6b5c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 16 06:14:10 2010 +0000

    Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding.
    x86 support is off by default. It can be enabled with -promote-16bit.

    Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3eca403c64b587d01d67d7a982244acb4c479df7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 16 05:46:06 2010 +0000

    Use getAL() rather than a major constant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5887ce439198ed57a3a88c894fdbe9bacb0aeeab
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 05:31:57 2010 +0000

    Add Debug+Coverage and friends to svn:ignore properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9515b04a226ecd75ec8f92d68df3965f018d1c98
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 16 05:14:21 2010 +0000

    Add a check for posix_spawn.

    Regenerate configure and other autoconf files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101444 91177308-0d34-0410-b5e6-96231b3b80d8

commit f42dca0626405b9ef0241282b25518c2507c885a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 05:06:56 2010 +0000

    Refine further the scope where the global DebugLoc value is active.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53b884301e2a4b6be70940b0e5da5fb21ba821f5
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Apr 16 04:32:20 2010 +0000

    Revert r64616 which worked around http://gcc.gnu.org/PR42757 , we just didn't
    know it at the time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7af82749798974c000184fd7b4bb02c4166def0c
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 16 04:02:04 2010 +0000

    Silence an unused variable warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83aa78f69992da76feb8ce31e3db4bbfbca8265a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 02:32:17 2010 +0000

    fix comment noticed by Bob

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38e526d837e200c4aae7017f4ee8ec8ddd5f93b6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 16 01:16:20 2010 +0000

    back out r101423 and r101397, they break llvm-gcc self-host on darwin10

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6666d5a52b4032ebc93298a9236cd09efeeaffa
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 01:05:52 2010 +0000

    move comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101433 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5bf89e64b863980071dc495886a657f27e8f0ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 01:05:38 2010 +0000

    fix PR6832: we were using the alignment of a pointer when we
    wanted the alignment of the pointee.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 681846de6dfbb10b44d15341855c10933e6b7851
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 00:43:25 2010 +0000

    Create an exports file, so that the plugin only exports the onload symbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101431 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0484b6d9e7168acd42a2252de19a6ad1d1c80d6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 00:42:57 2010 +0000

    Make things static that don't need to be referenced from outside the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101430 91177308-0d34-0410-b5e6-96231b3b80d8

commit f315c0974e9e8105f1e00d7b612087a193e8dfa3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 00:38:19 2010 +0000

    improve comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95e6d3a376e8537a0f504abdca8c76e5d2db00ea
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 16 00:26:43 2010 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101428 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6daddc7ea3ad6b16f22da44a3a246479acc74bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 00:24:57 2010 +0000

    pull all the ConvertToScalarInfo code together into one
    place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101427 91177308-0d34-0410-b5e6-96231b3b80d8

commit cda2d4d9e7e32bac7f1c1d0c75337784674b6665
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 16 00:20:00 2010 +0000

    more refactoring: suck some stuff out of SRoA into
    ConvertToScalarInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101425 91177308-0d34-0410-b5e6-96231b3b80d8

commit fce98b4ad2724fc1001de57a37161eb694625103
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 16 00:06:45 2010 +0000

    shift intrinsic operand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dc898ee2c87ee4bb68aa18301ad86d2c66842c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 23:50:26 2010 +0000

    introduce a new ConvertToScalarInfo struct to simplify
    CanConvertToScalar/MergeInType.  Eliminate a pointless
    LLVMContext argument to MergeInType.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b7b4118689d55b46a43a27550c19360a7c7aea7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Apr 15 23:41:02 2010 +0000

    Avoid sinking machine instructions into a loop.

    MachineLoopInfo is already available when MachineSinking runs, so the check is
    free.

    There is no test case because it would require a critical edge into a loop, and
    CodeGenPrepare splits those. This check is just to be extra careful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101420 91177308-0d34-0410-b5e6-96231b3b80d8

commit 660b17487ab40505b8b1ba7f184cd75d3072ce03
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Apr 15 23:23:40 2010 +0000

    Added another test case for am3offset operand, testing Rn, #+/-imm8.
    Previous checkin tested Rn, #+/-Rm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dd7741f6b2c41afc2d8ee6e71531bc0dd710569
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Apr 15 23:19:16 2010 +0000

    Add test case for machine-sink on critical edges

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 029ff1eab7ec3392920a681c114e774bec087bc8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Apr 15 23:12:47 2010 +0000

    Fixed a bug in ARM disassembly where LDRSBT should have am3offset operand, not
    am2offset.  Modified the instruction table entry and added a new test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b4f88d613799f0ad26e31f2d013cd840e228a76
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 23:08:00 2010 +0000

    Make the export files absolute paths, and change Makefile.rules
    to expect them this way, to fix srcdir!=objdir builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101414 91177308-0d34-0410-b5e6-96231b3b80d8

commit b06998e340663e3aabe35010c75b3379ec1f2a35
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 22:46:27 2010 +0000

    Add a dependency on the .dir file to make sure that the directory
    is created before the native exports file is built in a parallel build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a19c23f4638e15c82d4ab5b2667013fd5abfd22
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 15 22:20:34 2010 +0000

    Use default lowering of DYNAMIC_STACKALLOC. As far as I can tell, ARM isle is doing the right thing and codegen looks correct for both Thumb and Thumb2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101410 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbeb47647271c1c1ed75bf15d6125508bd9f478d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 21:59:20 2010 +0000

    tidy interface to isOnlyCopiedFromConstantGlobal

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9926137a588315faf630d65efa4816c6ff5d4d58
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Apr 15 21:57:43 2010 +0000

    Don't use absolute path for EXPORTED_SYMBOL_FILE, this breaks under the new
    system.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06bb2519b249be375576ca2a0080e70f40c9a04a
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 20:54:25 2010 +0000

    Generalize the EXPORTED_SYMBOL_FILE concept in the Makefiles to work with
    native linking export files, including running sed to prepend underscores
    on darwin, and make use of it in libLTO and libEnhancedDisassembly.

    Remove the leading underscores from library export files so that they
    work with the new EXPORTED_SYMBOL_FILE support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101399 91177308-0d34-0410-b5e6-96231b3b80d8

commit d54ee2812304f81b513420913c569a65e8742c95
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 20:52:17 2010 +0000

    zap mergeinfo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101398 91177308-0d34-0410-b5e6-96231b3b80d8

commit df8299086470488f18f719362b9cdff18b51ba33
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 20:51:13 2010 +0000

    reapply r101364, which has been backed out in r101368
    with a fix

    rotate CallInst operands, i.e. move callee to the back
    of the operand array

    the motivation for this patch are laid out in my mail to llvm-commits:
    more efficient access to operands and callee, faster callgraph-construction,
    smaller compiler binary

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd6cf18a99f97c1ec393a55ca731b8512198f4bf
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Apr 15 20:35:54 2010 +0000

    Pointed out by housel on #llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d3d5306ad4f8009847b22e8f3e0199a6f0d8414
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Apr 15 20:28:39 2010 +0000

    Fix PR6847. RegScavenger should ignore DebugValues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101392 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22eca091fe05e95cf6228d5e72d475a324942247
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Thu Apr 15 19:53:35 2010 +0000

    Make sure the initialization of a GC root is after its definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101388 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e2cbc6f33fbb71235f49070c6f30c22e2d9c9e7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Apr 15 19:51:42 2010 +0000

    Revert r100896 and around - this breaks the only mingw32 buildbot we have.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22850a2d2afee5e403f9da1c0f16ed65425255f9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 19:44:21 2010 +0000

    prune includes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101385 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3edb155cee56328d9bfcec06cbbe605da4211b1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 15 18:42:28 2010 +0000

    ARM SelectDYN_ALLOC should emit a copy from SP rather than referencing SP directly. In cases where there are two dyn_alloc in the same BB it would have caused the old SP value to be reused and badness ensues. rdar://7493908

    llvm is generating poor code for dynamic alloca, I'll fix that later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101383 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad9d1b20574558c5f25e792203c12ce89d34ca1d
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Apr 15 18:13:51 2010 +0000

    DEBUG() print out "Unknown format" msg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101382 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ffcdf74b5198b4e70600e5a59723e936b7d23b4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 17:34:58 2010 +0000

    ReuseFrameIndexVals is used in multiple files, so it can't be static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f18dfca3d856af44b3876ee4f04f51b7da681d3
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 17:20:57 2010 +0000

    EnablePPC64RS and EnablePPC32RS are used in multiple files, so they
    can't be static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86ea588604f847f69ec0a260d1a661d87422de85
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 17:08:50 2010 +0000

    Fix a bunch of namespace polution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97a51cf782c675ad7154721611de8fe432d85c08
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 16:23:27 2010 +0000

    Fix namespace polution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 001f8ce0beed828aa1cee42aef0862e91b416c4c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 16:19:08 2010 +0000

    Make getPredecessorWithUniqueSuccessorForBB return the unique successor
    in addition to the predecessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6861e272c166892019f54a08fe163ec55008e0f1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 15:14:46 2010 +0000

    typos

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 713bf8f976133fb2e334880aab8075cd0557647f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 12:46:56 2010 +0000

    back out r101364, as it trips the linux nightlybot on some clang C++ tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cc5d1edf20ed633d9427177221984cf048a17e4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 11:36:12 2010 +0000

    zap mergeinfo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38fc47ab0c543df85fb7a7d19e0c34cbb96608d9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 15 11:33:14 2010 +0000

    Simplify ".bc" detection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24d53f15aaf70b2f43ba585bb223c6790b43882b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 15 10:49:53 2010 +0000

    rotate CallInst operands, i.e. move callee to the back
    of the operand array

    the motivation for this patch are laid out in my mail to llvm-commits:
    more efficient access to operands and callee, faster callgraph-construction,
    smaller compiler binary

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f9d67cdd0a5d2eae6aaabeb9dcff4a9eebe0c83
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 06:10:49 2010 +0000

    enhance the load/store narrowing optimization to handle a
    tokenfactor in between the load/store.  This allows us to
    optimize test7 into:

    _test7:                                 ## @test7
    ## BB#0:                                ## %entry
    	movl	(%rdx), %eax
                                            ## kill: SIL<def> ESI<kill>
    	movb	%sil, 5(%rdi)
    	ret

    instead of:

    _test7:                                 ## @test7
    ## BB#0:                                ## %entry
    	movl	4(%esp), %ecx
    	movl	$-65281, %eax           ## imm = 0xFFFFFFFFFFFF00FF
    	andl	4(%ecx), %eax
    	movzbl	8(%esp), %edx
    	shll	$8, %edx
    	addl	%eax, %edx
    	movl	12(%esp), %eax
    	movl	(%eax), %eax
    	movl	%edx, 4(%ecx)
    	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29d4bd4fa11946cbf27668dc25c7c90d24b6d06e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 05:40:59 2010 +0000

    teach codegen to turn trunc(zextload) into load when possible.
    This doesn't occur much at all, it only seems to formed in the case
    when the trunc optimization kicks in due to phase ordering.  In that
    case it is saves a few bytes on x86-32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b5d0e72f22358310a020e77a2eb3aaae399de76
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 05:28:43 2010 +0000

    add a simple dag combine to replace trivial shl+lshr with
    and.  This happens with the store->load narrowing stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101348 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0c66d2c7ba1850b4d3d7f5ab61ebdde6fa305b8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 04:48:01 2010 +0000

    Implement rdar://7860110 (also in target/readme.txt) narrowing
    a load/or/and/store sequence into a narrower store when it is
    safe.  Daniel tells me that clang will start producing this sort
    of thing with bitfields, and this does  trigger a few dozen times
    on 176.gcc produced by llvm-gcc even now.

    This compiles code like CodeGen/X86/2009-05-28-DAGCombineCrash.ll
    into:

            movl    %eax, 36(%rdi)

    instead of:

            movl    $4294967295, %eax       ## imm = 0xFFFFFFFF
            andq    32(%rdi), %rax
            shlq    $32, %rcx
            addq    %rax, %rcx
            movq    %rcx, 32(%rdi)

    and each of the testcases into a single store.  Each of them used
    to compile into craziness like this:

    _test4:
    	movl	$65535, %eax            ## imm = 0xFFFF
    	andl	(%rdi), %eax
    	shll	$16, %esi
    	addl	%eax, %esi
    	movl	%esi, (%rdi)
    	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 561ff0eef130e45da2865e906f03d3f6aa9a0fac
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 04:33:49 2010 +0000

    Add more const qualifiers for LLVM IR pointers in CodeGen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19fa53e51bbbb390a0b6b590c02615ca140d3c16
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 04:31:42 2010 +0000

    further tweak this to do something useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61e826b330f5819bbecc5aefc334d59d2d5acc6c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 04:30:19 2010 +0000

    remove undef control flow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101340 91177308-0d34-0410-b5e6-96231b3b80d8

commit f43390593d8526bd24731eef5fcbed4cce7bc412
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Apr 15 03:47:24 2010 +0000

    Remove unnecessary uses of <iostream>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101338 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bf282e06923461699a975a1aeb1402effabf38e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Apr 15 03:47:20 2010 +0000

    tests: MC/Disassembler tests depend on ARM support being compiler in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101337 91177308-0d34-0410-b5e6-96231b3b80d8

commit e613325087bb1d8cf4a1aed3c4c9a0a760b3ba7f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 15 03:32:19 2010 +0000

    fix a crash on "lli ex" or any other file whose name is exactly two
    characters long.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cefb9ae9c49b7fb152fcaba7cef1e012b618c4c
Author: Anders Carlsson <andersca@mac.com>
Date:   Thu Apr 15 03:11:28 2010 +0000

    Fix build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101335 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3337672480be3e06bbe736c2e2a796f2220bf97
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 15 01:51:59 2010 +0000

    Add const qualifiers to CodeGen's use of LLVM IR constructs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4dee4a11ab2cc82094c6477d9c6868c424a8c0
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Apr 15 01:40:20 2010 +0000

    Allow lowering for palignr instructions for mmx sized vectors.  Add
    patterns to handle the lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101331 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3981fe0ac688539d7a6b65c14a1b5eb76995859
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 15 01:25:27 2010 +0000

    More 80 violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101330 91177308-0d34-0410-b5e6-96231b3b80d8

commit 490b50521fce6e5e6dd59b10bc928ec8343713a6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Apr 15 01:20:56 2010 +0000

    Wrap the error msgs in DEBUG() macro so that they won't appear in NDEBUG build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68175469e6436a41228aa02b17ae4467945605fc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 15 01:01:55 2010 +0000

    80 col violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101325 91177308-0d34-0410-b5e6-96231b3b80d8

commit db12eec3d558695d599723a9098912dea3b7e815
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 15 00:02:49 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bbd4d6178aefb6359cd11dfd7053f4d40695b95
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 14 23:56:24 2010 +0000

    There is no need to track compile unit offsets if there is only one compile unit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101315 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e3cc3a1c593ef982275895dae015610b8ce372c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 14 23:54:13 2010 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ff01e24496f92e3ff9284024b8de9816e74eee4
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Wed Apr 14 23:42:23 2010 +0000

    IPO needs ScalarOpts and InstCombine in its libs

    The commit "Adding IPSCCP and Internalize passes to the C-bindings" introduced
    new dependencies for IPO. Add these to the CMAKE build as otherwise the
    BUILD_SHARED_LIBS=1 build fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7466aed562a244da2b6fcc598d3f5a2e97045997
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 14 22:37:17 2010 +0000

    Fixed another assert exposed by fuzzing.  Now, the DisassembleVFPLdStMulFrm()
    function checks whether we have a valid submode for VLDM/VSTM (must be either
    "ia" or "db") before calling ARM_AM::getAM5Opc(AMSubMode, unsigned char).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101306 91177308-0d34-0410-b5e6-96231b3b80d8

commit eae0fc1bf0b82d0fc635cc3e9e15413183e62aae
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Apr 14 22:28:31 2010 +0000

    Add -arm-long-calls option to force calls to be indirect. This makes the
    kernel linker happier when dealing with kexts.

    Radar 7805069

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93437351632729b7af1f6c3570d8e2f8b3732770
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 22:24:25 2010 +0000

    Fix TrackingVH to handle const Value subclasses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ff9c5f95f4ae967d6308424c52d73e4154028b2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 22:23:05 2010 +0000

    Remove a const here. This makes this function consistent with all the
    other getOperand wrappers, and it makes it easier to use with DebugInfo
    code, which isn't currently prepared to see const MDNode *.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101299 91177308-0d34-0410-b5e6-96231b3b80d8

commit f411ad05427d8338acf27c3c0325f3622f85b235
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 22:20:45 2010 +0000

    Constify GetConstantStringInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46ebe1da8a1be97583ebdf07aa75b00a982f7a86
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Wed Apr 14 22:06:37 2010 +0000

    Don't use DILocation when processing a DebugLoc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16af0b111c3a55df0b71c03938664e5680c4aea2
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 14 22:04:45 2010 +0000

    For t2BFI disassembly, apply the same error checking as in r101205.
    Change the error msg to read "Encoding error: msb < lsb".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101293 91177308-0d34-0410-b5e6-96231b3b80d8

commit c815a5dfb5a9874d4b7788d4fb83f98fe2bc22d2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 21:47:32 2010 +0000

    Move a bunch of methods from CallSite to CallSiteBase, so that they can
    be used in ImmutableCallSite too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101292 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2f08920702d2b42564493f0d3ee7e1926387e3d
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 14 21:03:13 2010 +0000

    Fixed another assert exposed by fuzzing.  The utility function getRegisterEnum()
    was asserting because the (RegClass, RegNum) combination doesn't make sense from
    an encoding point of view.

    Since getRegisterEnum() is used all over the place, to change the code to check
    for encoding error after each call would not only bloat the code, but also make
    it less readable.  An Err flag is added to the ARMBasicMCBuilder where a client
    can set a non-zero value to indicate some kind of error condition while building
    up the MCInst.  ARMBasicMCBuilder::BuildIt() checks this flag and returns false
    if a non-zero value is detected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 677d7ef68efda9ab3116da51480b63f20565efa9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Apr 14 20:56:09 2010 +0000

    Remove unneeded types from test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101286 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7942413455d31213f3030a881da332ef5791151b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 14 20:52:55 2010 +0000

    - Code clean up to reduce indentation.
    - TryToOptimizeStoreOfMallocToGlobal should check if TargetData is available and bail out if it is not. The transformations being done requires TD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6eaeffca45f31d67b36ea46c94b10ea135e82de3
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 20:49:44 2010 +0000

    Use FunTy instead of hard-coding Function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 402ce87fe7de80ccc1a30feba1663f337182528b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Apr 14 20:45:23 2010 +0000

    Don't custom lower bit converts to ARM VMOVDRRD or VMOVDRR when the operand
    does not have a legal type.  The legalizer does not know how to handle those
    nodes.  Radar 7854640.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 712c6b4946a75b0349d7f27e38f836033af58784
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 20:31:28 2010 +0000

    Oops, make these public.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101280 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb0d7986415e9c98fe36748008875f408111d8c6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 20:28:44 2010 +0000

    Move getType() and getCaller() into CallSiteBase so that
    ImmutableCallSite can use them too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101279 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebd8b4c30b879260bb58fbe11ad1e366af2eb637
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 14 20:22:17 2010 +0000

    Trim tests and convert to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47e3a4d7a8bbd3f7b041670750d7f74fbb9d8f63
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 20:17:22 2010 +0000

    Delete unneeeded arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eeb33dbcb5a720b6eb5fa74efbb90fff70cfceb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 20:05:00 2010 +0000

    Delete unused arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 528966644419cdd4332abee54033d43a3218f7ab
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 19:53:31 2010 +0000

    Factor out EH landing pad code into a separate function, and constify
    a bunch of stuff to support it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101273 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee584d974f081fc27d86ee8a18b9b65ba1899e4f
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 19:30:02 2010 +0000

    Reset the debug location even if the instruction was a terminator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101272 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc9815da83afe7d7a996510d9f6eda8cc69c9ad6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 18:57:18 2010 +0000

    Fix a missing #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00ecc1d269ec5ed8935e40d0f5414c3b9dce649b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 18:49:17 2010 +0000

    Refine #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85b28869cc2779648507fec6847399d600efbeeb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 18:44:34 2010 +0000

    Split ISD::NodeType and a few related items out of SelectionDAGNodes.h
    into a separate header to allow clients to use them without pulling in
    SelectionDAG-specific declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e48e1e12ab0d3856ac4c26de078c56bd6d49664
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 18:31:02 2010 +0000

    Pull utility routines with no SelectionDAG dependence out of
    SelectionDAGBuilder. FunctionLoweringInfo isn't an ideal place for
    them to live, but it's better than SelectionDAGBuilder for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61964a712c6c19a0661ac678dfeae9104f634d39
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 18:24:06 2010 +0000

    Fix typos in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101266 91177308-0d34-0410-b5e6-96231b3b80d8

commit d44604869bdae1e4194a47c0a28cb27c260fbd12
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Apr 14 18:13:29 2010 +0000

    performance: cache the dereferenced use_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101265 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa85f86e88a6485aedf47b37db9a792f3d313458
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:40:25 2010 +0000

    Delete an obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1da3fb3139415ce6a14c7fe6961bf5d2333cf147
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:22:02 2010 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101263 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca94eaac7d0a4539bca6fb1a9fe6b75ef55e979c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:13:16 2010 +0000

    Clear the FunctionLoweringInfo object before doing other things that
    don't need it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101262 91177308-0d34-0410-b5e6-96231b3b80d8

commit a201e03841d9b71b2a410be250a378807db87804
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:11:23 2010 +0000

    Move this assert out of SelectionDAGISel into FunctionLoweringInfo, and
    drop the redundant #ifndef NDEBUG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101261 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b7f93580d630eab1ad5de638203b52d2178ddbd
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:09:37 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ca6360897ddf051acb536afea7c4e4a2ce30c32
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:05:00 2010 +0000

    Move the code for initialing the entry block livein set out of
    SelectionDAGISel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101258 91177308-0d34-0410-b5e6-96231b3b80d8

commit dddc65afa013fa09e9ad94958c9b01cf9bd36b6b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 17:02:07 2010 +0000

    Reorgnaize this code to be more tidy and readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101256 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7d3049e876df65bddbf4d434ce4cfb74068b596
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 16:54:39 2010 +0000

    Trim #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 816ce9fce0db8333dc46a58df0bd120496045a41
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 16:51:49 2010 +0000

    Move the code for emitting livein copies out of SelectionDAGISel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18ea59a1c260d6daa1fa527221ac886b34a44799
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Apr 14 16:48:56 2010 +0000

    performance: cache the dereferenced use_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101253 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd0ad0abc2bdd52b0872dfe9823171597fce787c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 16:32:56 2010 +0000

    Sink landing-pad marking code out of
    SelectionDAGISel::runOnMachineFunction into FunctionLowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f7d081b2c1bde424436302ea3f5f0c69e33aad8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 16:30:40 2010 +0000

    It's not necessary to recompute EB here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101251 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc1f30118ebce8e25a9ca1abea62af82a246f890
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Apr 14 16:13:56 2010 +0000

    performance: cache the dereferenced use_iterator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96ae35a6134dbc6f5283f0195a7899b007af0b72
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 16:08:56 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101248 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1f39c394a9b974121e546e8ca44a86141bbd9ce
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 15:59:02 2010 +0000

    Fix whitespace, comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101247 91177308-0d34-0410-b5e6-96231b3b80d8

commit c26a9ca3758f4380a746303ab100d3b7eace43c8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 15:50:02 2010 +0000

    Add explicit keywords.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3062a7ca035a7f6a54101b02b5f2b2c845570803
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 15:41:50 2010 +0000

    Use C++, not C++-standard-library-internals-ese.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101245 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7ff711e7d64348cddb56f470c72ac1a9465af89
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 15:38:15 2010 +0000

    Make SuccIterator's private parts private too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101244 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab60dd65f7786b221af9ceadb3c60e5e97c0a949
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 15:33:04 2010 +0000

    Make helper utility members private.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48d108e33f4d86452f6a20ce5612a0fb1169de13
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Apr 14 13:56:38 2010 +0000

    EDis: Don't include inttypes.h. We support compilers which don't provide it. It was unused anyways.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101241 91177308-0d34-0410-b5e6-96231b3b80d8

commit c00b721a91de0339bfb72cebf99a6cdd5263f21b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 05:51:59 2010 +0000

    Enable RTTI again. While this works fine for LLVM, it creates an ABI
    incompatibility with some clients covered by the buildbots, such as llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101237 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8caaba2fef875941dbd8f6f98bc633872c05f0ed
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 05:35:20 2010 +0000

    Don't forget cmake!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101234 91177308-0d34-0410-b5e6-96231b3b80d8

commit a37976fc29b23959dfc50decaeacc00fa8e5ef01
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 05:30:13 2010 +0000

    Turn off RTTI for VMCore. Yay!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101233 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4b5492fe0efb89c89aa621e2f701677dc9e59c3
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 05:03:50 2010 +0000

    I don't know how, but I managed to goof the revert. Remove function that should
    have been removed in r101231.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101232 91177308-0d34-0410-b5e6-96231b3b80d8

commit c557cd85ec0759187521ab97bbbc3824bf58b670
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 04:51:58 2010 +0000

    Revert r101213.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48bee0ac4e28647032f6b7a3e616da21ab3795d1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 04:46:11 2010 +0000

    Remove accidentally committed cruft.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99216dd5763361970990d5803c245da5e89076cb
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 04:40:35 2010 +0000

    Fix 80 column ruler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101229 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3167bdeb4242c30622b1a6218f7cef3de53e0b1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 04:40:31 2010 +0000

    Bugpoint no longer uses exceptions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b6ed67b1bac684f05cc9552b764d6080ab48e2a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 14 04:40:28 2010 +0000

    implement mc asmparser support for '.', which gets the
    current PC.  rdar://7834775

    We now produce an identical .o file compared to the cctools
    assembler for something like this:

    _f0:
    L0:
            jmp L1
            .long . - L0
    L1:
            jmp A
            .long . - L1

            .zerofill __DATA,_bss,A,0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f81c6070b755354bda127bb16f5d82fd2f2b9a6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 04:19:05 2010 +0000

    Remove tab.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101223 91177308-0d34-0410-b5e6-96231b3b80d8

commit bda0fe415f29f4930cbbdb1affe7a69e777a1fbf
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 03:46:42 2010 +0000

    Commit testcase for r101213.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101214 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1f005f4920d982006bd6c37a4b26e8dde53046e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Apr 14 03:38:11 2010 +0000

    While DAE can't modify the function signature of an externally visible function,
    it can check whether the visible direct callers are passing in parameters to
    dead arguments and replace those with undef.

    This reinstates r94322 with bugs fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101213 91177308-0d34-0410-b5e6-96231b3b80d8

commit e93fa0444e2299a732f0b5323300aaface9000ed
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 02:33:23 2010 +0000

    Generalize this code to handle Instructions in addition to ConstantExprs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101210 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bb7c451897ece89c6a42abf908519c6896c32c6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 14 02:09:45 2010 +0000

    Reorder the methods of this class to be a little more organized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101206 91177308-0d34-0410-b5e6-96231b3b80d8

commit e807add02775248f4728512703c05263a3e87b26
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 14 02:05:29 2010 +0000

    Fixed another assert exposed by fuzzing.  Now, when an encoding error occurs
    involing getBFCInvMask() where lsb <= msb does not hold true, the disassembler
    just returns false, instead of assert, to indicate disassembly error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697e719429810c94b9002ed66b46b7106d989f13
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Apr 14 01:18:28 2010 +0000

    Clear MachineInstr->MCSymbol maps at the end of a function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c2e48a3345c235aa8ccc7e7982ea3bc9f754ed8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 14 01:17:37 2010 +0000

    Fixed an assert() exposed by fuzzing.  Now, instead of assert when an invalid
    instruction encoding is encountered, we just return a NULL ARMBasicMCBuilder
    instance and the client just returns false to indicate disassembly error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03d2560d0bb645efc34c93df1a5dc9361d1b1a44
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Apr 13 23:34:11 2010 +0000

    Fix -Asserts warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101191 91177308-0d34-0410-b5e6-96231b3b80d8

commit bee9522d2118216632b9180c26389cfe006b08e0
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 13 23:23:09 2010 +0000

    XFAIL this test for powerpc.
    This test relies on iSel lowering dbg_declare intrinsic when CodeGen::OptLevel is None. On PPC side, CodeGen::OptLevel stays to default when -O0 is used on the command line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28d4a3b0250f1e640f34e4ed7ce7a8c3b75bc100
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Apr 13 22:47:43 2010 +0000

    Unbreak CMake build by improving the EnhancedDisassembly makefile a
    bit (we're not trying to build a shared library yet) and generating
    the X86GenEDInfo.inc and ARMGenEDInfo.inc files as necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101188 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccdbc82a6e5b40d6b2858368a4452fda7619ac36
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 22:13:34 2010 +0000

    Fast path implicit_def check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101183 91177308-0d34-0410-b5e6-96231b3b80d8

commit d67f0d77fd8dfd1ed2039ca97412815cef8a92bb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 22:10:03 2010 +0000

    Add test for post-ra machine licm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 109c0b329bdb3d466fe7db17299ebd416be4021c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Apr 13 22:03:22 2010 +0000

    Handle a v2f64 formal parameter that is split between registers and memory
    such that the entire second half is in memory.  Radar 7855014.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84241a85e81b456d8b654cf010d5c9380cf16939
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Apr 13 21:36:35 2010 +0000

    Quick fix for build errors caused by undefined
    NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 636a1390213602bb376cc1336abb5a6d5cc797d9
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Apr 13 21:21:57 2010 +0000

    Fixed a nasty layering violation in the edis source
    code.  It used to #include the enhanced disassembly
    information for the targets it supported straight
    out of lib/Target/{X86,ARM,...} but now it uses a
    new interface provided by MCDisassembler, and (so
    far) implemented by X86 and ARM.

    Also removed hacky #define-controlled initialization
    of targets in edis.  If clients only want edis to
    initialize a limited set of targets, they can set
    --enable-targets on the configure command line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101179 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8daaaac5c4179cc9d076a7ff4753904d3cc74b3
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Apr 13 20:52:50 2010 +0000

    Add CMake support for 'edis'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70269cef85e9ac300131c5ac289aa176aa9969ef
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Apr 13 20:35:16 2010 +0000

    Changed getSOImmValRotate()'s hunt retry logic to ignore the low order 6 bits,
    instead of 7, because we are only looking for even rotate amount.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5994241ca9f6b12d2cd69ec7e43d58f37c1b8ffc
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 13 20:35:04 2010 +0000

    Do not include types without any definition in pubtypes list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d274a007b714c004933a1199f2e901748b656ae
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 20:25:29 2010 +0000

    Avoid variable shadowing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d624f77f9d3032f9efa82814bdff5f4db68a692
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 20:21:05 2010 +0000

    Expand postra machine licm's capability a little more. If an instruction's register operands are all loop invariants, then it's safe to hoist it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 149f2caeb0419a9a723c1408fd6639f2811ac9f4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Apr 13 19:06:14 2010 +0000

    Teach MachineSinking to handle easy critical edges.

    Sometimes it is desirable to sink instructions along a critical edge:

    x = ...
    if (a && b) ...
    else use(x);

    The 'a && b' condition creates a critical edge to the else block, but we still
    want to sink the computation of x into the block. The else block is dominated by
    the parent block, so we are not pushing instructions into new code paths.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101165 91177308-0d34-0410-b5e6-96231b3b80d8

commit cce390e07f293813e61d9a1c5442b7a60123e905
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 18:54:04 2010 +0000

    Fix test on non-x86 hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2956e82a13536811a8c8440179a569f30f17f839
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 18:50:27 2010 +0000

    Re-apply 101075 and fix it properly. Just reuse the debug info of the branch instruction being optimized. There is no need to --I which can deref off start of the BB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4969ea67da91b820aa72cf38a12fbb19f1fd627f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 13 18:41:17 2010 +0000

    Make the disassembler respect the assembler dialect when printing instructions,
    patch by Marius Wachtler!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101160 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2316dcb96e8ef3dac65eb0b8333af04e1dab22b
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Apr 13 18:37:58 2010 +0000

    Temporarily revert r101075, it's causing invalid iterator assertions
    in a nightly tester.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bf3373bbc2de2a1596515413bc4868fe00a9731
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 13 18:16:00 2010 +0000

    Teach postra machine licm to hoist more obvious invariants, e.g. instructions with no source operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101154 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3dab23383d3b1793dcf2bc2777b090a9ff315fc
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 17:07:06 2010 +0000

    Add a few comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101148 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6c93b67d2b66dd503c5102a43ac51173330248b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:57:55 2010 +0000

    Eliminate MachineBasicBlock::const_livein_iterator and make
    MachineBasicBlock::livein_iterator a const_iterator, because
    clients shouldn't ever be using the iterator interface to
    mutate the livein set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c5ac29bd631177741d2a7c4a6a4b7115bd94871
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:56:45 2010 +0000

    Rename MachineFrameInfo variables to MFI, for consistency with
    the rest of CodeGen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0456f1bf26818801683cc492717882c7cd65ac71
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:55:37 2010 +0000

    Move MachineRegisterInfo's isLiveIn and isLiveOut out of line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101145 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1c49c0337575ffa544d8d989fa020a41db2739a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:53:51 2010 +0000

    Use MachineBasicBlock::isLiveIn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b4bc601ae1fd33e81786964bce6c85495a3f1ce
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:51:39 2010 +0000

    Delete an unused member variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101143 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb6d410e42a28462a1dc9e3f57fbced8d7587ddd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:51:03 2010 +0000

    Teach ScalarEvolution to simplify smax and umax when it can prove
    that one operand is always greater than another.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 524cb69747dc1f61552316928fc5bfa598e72fd7
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 16:49:23 2010 +0000

    Minor code micro-optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ce1b50c5e846733824999d63c7b280b9b396893
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Apr 13 16:41:29 2010 +0000

    Actually... return after the check for invalid input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101139 91177308-0d34-0410-b5e6-96231b3b80d8

commit 979dd7bc975a2be66cfe767f25d8160c5ba657c8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Apr 13 16:38:06 2010 +0000

    BumpPtrAllocator::Reset() doesn't need to allocate anything. (Thanks, Jakob)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101138 91177308-0d34-0410-b5e6-96231b3b80d8

commit 297ed2c297668f2332629bc0eaffb520e3b75b47
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Apr 13 15:01:26 2010 +0000

    Update unittest for allocator laziness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0738d3f048580a2079eb62128896dc4716bf6018
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Apr 13 14:41:51 2010 +0000

    Let BumpPtrAllocator lazily allocate the first slab.

    We have some code in llvm and clang where a BumpPtrAllocator is declared in a
    class but never used in the common case. Stop wasting memory there.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 026c6de0927024d9bc6fac1d67045474665cbb57
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Apr 13 08:33:09 2010 +0000

    Remove SCCVN from the CMake build system.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101125 91177308-0d34-0410-b5e6-96231b3b80d8

commit bedf2cb24b2397339b30ae5cff87924c112cc947
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 13 06:37:00 2010 +0000

    checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101118 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d824095acc3ced7d4debf8da3ca37ed2c2d488d
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Apr 13 05:24:08 2010 +0000

    SCCVN, we hardly knew ye!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00247b0b7355a849906e4b797a4a00a53e0483dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 13 04:35:39 2010 +0000

    Fix PR6826: GraphWriter delete the generated file before "dotty" load it,
    patch by 'ether'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101116 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8f6cdf7979dfd8c4d160e2362ffa2c710117582
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Apr 13 02:11:48 2010 +0000

    Replace r101053 with a fix for getSOImmValRotate() so that it will correctly
    recognize all the valid rotated immediates.  This fixes the disassembler
    issue and will also help codegen for some unusual constant values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3820adf9567960f6e939f000dfcfb19d77cf6b08
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 13 01:46:36 2010 +0000

    Teach IndVarSimplify how to eliminate remainder operators where the
    numerator is an induction variable. For example, with code like this:

      for (i=0;i<n;++i)
        x[i%n] = 0;

    IndVarSimplify will now recognize that i is always less than n inside
    the loop, and eliminate the remainder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 254bf80c5ee562bfed65820a0bbd892a599c3001
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Apr 13 01:39:07 2010 +0000

    VMCore: Add Type::getIntN[Ptr]Ty, which are the obvious generic forms of
    Type::getInt{1,8,...}[Ptr]Ty, so code can consistently use the methods on Type
    without occasionally needed to call IntegerType::get.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0135f0f7a66c43377639a8dd61b5bcc5e827bb84
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Apr 13 01:38:57 2010 +0000

    IRBuilder: Add Create{Shl,LShr,And,Or,Xor} methods from uin64_t and APInt constants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101110 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca8bebc7b8644d4409686fd83cf0af538b38b829
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 13 00:36:43 2010 +0000

    add llvm codegen support for -ffunction-sections and -fdata-sections,
    patch by Sylvere Teissier!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9848aacff1a562f973c7dfdd5098f3e2f6299691
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Apr 12 23:55:28 2010 +0000

    Build system fix to make llvm-mc properly build
    after edis.  Really, there ought to be some
    mechanism to ensure that PARALLEL_DIRS get built
    after DIRS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 032aa0e7bf2376d9901703080a952b7d06562594
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 23:08:18 2010 +0000

    Micro-optimize a few hot spots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d9983257429cf99518b9fb6bb88619f5b3e4dbb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 12 23:07:17 2010 +0000

    Use .set expression for x86 pic jump table reference to reduce assembly relocation. rdar://7738756

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65797a785d702b54d2c91171fb3f31e13def0e00
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 23:03:26 2010 +0000

    Add fast paths to ScalarEvolution::getSizeOf and getOffsetOf, as
    they're used a lot by getNodeForGEP, which can be called a lot.
    This speeds up -iv-users by around 15% on several testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101083 91177308-0d34-0410-b5e6-96231b3b80d8

commit d437964a33f205b2c74fa516c72c0eb7754be204
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Apr 12 22:43:21 2010 +0000

    Third time's a charm...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f3ce5b6644017fb3766c139a32d2763c14a362d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Apr 12 22:40:37 2010 +0000

    Genericize the label test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101079 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbe4c4bc6f7bfe4cbf004bfd435187e4d2e84503
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Apr 12 22:25:42 2010 +0000

    Correct test to test what I mean it to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a4d61727e697a9b7fd78c7da06af1019339b66a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Apr 12 22:19:57 2010 +0000

    Micro-optimization:

    If we have this situation:

        jCC  L1
        jmp  L2
    L1:
      ...
    L2:
      ...

    We can get a small performance boost by emitting this instead:

        jnCC L2
    L1:
      ...
    L2:
      ...

    This testcase shows an example of this:

    float func(float x, float y) {
        double product = (double)x * y;
        if (product == 0.0)
            return product;
        return product - 1.0;
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101075 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc848c58e4ad0be63b0b07633ba96e2e94a817e5
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 22:12:29 2010 +0000

    Simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ae43ef69221e33dbf7b0c16b85ea9789180d882
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Apr 12 21:55:49 2010 +0000

    Build system fixes.  llvm-mc depends on
    libEnhancedDisassembly, so we now build the
    static library in all cases (although the shared
    library is only built when requested/possible).

    Also, fixed a bug where edis wasn't properly
    initializing the targets it uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101072 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3fd2ae7975c8ea5790f4d3555cf038d0bc9d888
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 21:13:43 2010 +0000

    Suppress LinearFunctionTestReplace when the computed backedge-taken
    expression is a UDiv and it doesn't appear that the UDiv came from
    the user's source.

    ScalarEvolution has recently figured out how to compute a tripcount
    expression for the inner loop in
    SingleSource/Benchmarks/Shootout/sieve.c, using a udiv. Emitting a
    udiv instruction dramatically slows down the enclosing loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b1156823b54c3d5aa0a65c0f952019f064c4ab9
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Apr 12 20:23:08 2010 +0000

    Bug fix: made the enhanced disassembler's link
    flags work properly when EDIS_VERSION is defined

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32908d6da0d50c9c92f7da03b7d8b2e6ceab2373
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Apr 12 20:21:56 2010 +0000

    Bug fix: included System/Types.h instead of
    inttypes.h to allow building on Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101062 91177308-0d34-0410-b5e6-96231b3b80d8

commit d76cf5a86ef75e1df7931daf02cefa238d0a890a
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Apr 12 19:43:00 2010 +0000

    Second try at integrating the edis tester.  This
    time I use the LIBS variable, which is not subject
    to a %.a -> -l% transformation, to link llvm-mc
    against libEnhancedDisassembly.

    llvm-mc -edis works the same as llvm-mc
    -disassemble, but outputs tokens and operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27d3ecbfe2dc3048fe5fb8abf9d4cdd95b5cefd6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 12 18:46:53 2010 +0000

    Fixed a crasher in arm disassembler within ARMInstPrinter.cpp after calling
    ARM_AM::getSoImmVal(V) with a legitimate so_imm value: #245 rotate right by 2.
    Introduce ARM_AM::getSOImmValOneOrNoRotate(unsigned Arg) which is called from
    ARMInstPrinter.cpp's printSOImm() function, replacing ARM_AM::getSOImmVal(V).

    [12:44:43] johnny:/Volumes/data/llvm/git/trunk (local-trunk) $ gdb Debug/bin/llvm-mc
    GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009)
    Copyright 2004 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ... done

    (gdb) set args  -triple=arm-apple-darwin9 -debug-only=arm-disassembler --disassemble
    (gdb) r
    Starting program: /Volumes/data/llvm/git/trunk/Debug/bin/llvm-mc -triple=arm-apple-darwin9 -debug-only=arm-disassembler --disassemble
    Reading symbols for shared libraries ++. done
    0xf5 0x71 0xf0 0x53
    Opcode=201 Name=MVNi Format=ARM_FORMAT_DPFRM(4)
     31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
    -------------------------------------------------------------------------------------------------
    | 0: 1: 0: 1| 0: 0: 1: 1| 1: 1: 1: 1| 0: 0: 0: 0| 0: 1: 1: 1| 0: 0: 0: 1| 1: 1: 1: 1| 0: 1: 0: 1|
    -------------------------------------------------------------------------------------------------

    	mvnpls	r7, Assertion failed: (V != -1 && "Not a valid so_imm value!"), function printSOImm, file ARMInstPrinter.cpp, line 229.

    Program received signal SIGABRT, Aborted.
    0x00007fff88c65886 in __kill ()
    (gdb) bt
    #0  0x00007fff88c65886 in __kill ()
    #1  0x00007fff88d05eae in abort ()
    #2  0x00007fff88cf2ef0 in __assert_rtn ()
    #3  0x000000010020e422 in printSOImm (O=@0x1010bdf80, V=-1, VerboseAsm=false, MAI=0x1020106d0) at ARMInstPrinter.cpp:229
    #4  0x000000010020e5fe in llvm::ARMInstPrinter::printSOImmOperand (this=0x1020107e0, MI=0x7fff5fbfee70, OpNum=1, O=@0x1010bdf80) at ARMInstPrinter.cpp:254
    #5  0x00000001001ffbc0 in llvm::ARMInstPrinter::printInstruction (this=0x1020107e0, MI=0x7fff5fbfee70, O=@0x1010bdf80) at ARMGenAsmWriter.inc:3236
    #6  0x000000010020c27c in llvm::ARMInstPrinter::printInst (this=0x1020107e0, MI=0x7fff5fbfee70, O=@0x1010bdf80) at ARMInstPrinter.cpp:182
    #7  0x000000010003cbff in PrintInsts (DisAsm=@0x10200f4e0, Printer=@0x1020107e0, Bytes=@0x7fff5fbff060, SM=@0x7fff5fbff078) at Disassembler.cpp:65
    #8  0x000000010003c8b4 in llvm::Disassembler::disassemble (T=@0x1010c13c0, Triple=@0x1010b6798, Buffer=@0x102010690) at Disassembler.cpp:153
    #9  0x000000010004095c in DisassembleInput (ProgName=0x7fff5fbff3f0 "/Volumes/data/llvm/git/trunk/Debug/bin/llvm-mc") at llvm-mc.cpp:347
    #10 0x000000010003eefb in main (argc=4, argv=0x7fff5fbff298) at llvm-mc.cpp:374
    (gdb) q
    The program is running.  Exit anyway? (y or n) y
    [13:36:26] johnny:/Volumes/data/llvm/git/trunk (local-trunk) $

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101053 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4872465f8ce39a6a944f593da154c4be583a708
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 16:26:03 2010 +0000

    Remove a #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c0ab6b7c3484d52a2f374fa953b8c174a4a281
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Apr 12 15:32:55 2010 +0000

    Remove unneeded debug in PostDominator runOnFunction()

    The information is already available with "opt -analyze". The DominatorTree
    does also not have this in its runOnFunction. So they behave now
    more consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14789f955dd54cb7d82e9de631a5349dc9a19bb3
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Apr 12 15:02:19 2010 +0000

    Remove dead code in the dotty dominance tree printer.

    This template is not needed anymore as it was replaced by the
    DOTGraphTraitsViewer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101036 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb2a11f67892dedbee017045bfbf9b784e536aac
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Apr 12 12:22:19 2010 +0000

    Boolify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101035 91177308-0d34-0410-b5e6-96231b3b80d8

commit be928c1dbabb75204cdea8b7ccedfffef9b37a81
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Apr 12 11:38:35 2010 +0000

    Plug trivial leak.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4313424a2fa147a9b5614423d36adf5e41b520bb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 08:00:22 2010 +0000

    Delete this code, which is no longer needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101033 91177308-0d34-0410-b5e6-96231b3b80d8

commit d77f6efb19c01428ad7a1d51f08934718c7a34fb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 07:56:56 2010 +0000

    Move the EliminateIVUsers call back out to its original location. Now that
    a ScalarEvolution bug with overflow handling is fixed, the normal analysis
    code will automatically decline to operate on the icmp instructions which
    are responsible for the loop exit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c37818eefa8d94ece1b6db3d30306105c76735e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 07:49:36 2010 +0000

    Generalize ScalarEvolution's PHI analysis to handle loops that don't
    have preheaders or dedicated exit blocks, as clients may not otherwise
    need to run LoopSimplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101030 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3ae169bb85f6232fbde0e34c64a595c487be948
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 07:39:33 2010 +0000

    Rewrite the overflow checking in the get{Signed,Unsigned}Range code for
    AddRecs so that it checks for overflow in the computation that it is
    performing, rather than just checking hasNo{Signed,Unsigned}Wrap, since
    those flags are for a different computation. This fixes a bug that
    impacts an upcoming change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71f7047fa3592617b500c5976c6408b24a45473a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 07:29:15 2010 +0000

    Use RecursivelyDeleteTriviallyDeadInstructions in EliminateIVComparisons,
    instead of deleting just the user. This makes it more consistent with
    other code in IndVarSimplify, and theoretically can eliminate more users
    earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101027 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9336a0d9e9a959faa3c40b76592c638e238656c9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 12 06:25:28 2010 +0000

    Enable post regalloc machine licm by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101023 91177308-0d34-0410-b5e6-96231b3b80d8

commit e83e7444bffb8d6f03d36d4d3157edf737b050bd
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Apr 12 05:08:25 2010 +0000

    Remove use of exceptions from bugpoint. No deliberate functionality change!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101013 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7cb1ed74ae8e33d5478d7cd8ea9cb0640454b3a
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Apr 12 04:48:00 2010 +0000

    Verify function prototypes before trying to optimize functions. We also
    need TargetData, just return false if we don't have it.

    Update testcases accordingly.

    Fixes PR6807.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7de9a16236dfb149345d0ece589326b75a94b6a8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 02:24:01 2010 +0000

    Remove unnecessary parens.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101010 91177308-0d34-0410-b5e6-96231b3b80d8

commit e803446b845bdbf33979c6b0b8f50c542de1f11a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 02:22:30 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d2b9b7024a0ccb2765f5b4ec5ae22acaccfa26a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 02:21:50 2010 +0000

    Re-apply r101000, with a fix: Don't eliminate an icmp which is part of
    the loop exit test. This usually doesn't come up for a variety of
    reasons, but it isn't impossible, so make IndVarSimplify handle it
    conservatively.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101008 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2720bd5b9654b34e30d4f59f21ad607e980c4e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 12 02:21:38 2010 +0000

    whether we enable dylibs or not depends on the host, not the target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101007 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc2014e7dc74d4cf7a0876485f1bb64b1eba1663
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 12 00:17:10 2010 +0000

    Revert 101000, which is breaking self-host builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 697908d2e5ce0ffd18441e97ed6941dbe9e5ffeb
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 23:44:58 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 158fd937a063a6b252073c72172218e9e7bcdf5f
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 23:10:12 2010 +0000

    Teach IndVarSimplify how to eliminate comparisons involving induction
    variables. For example, with code like this:

      for (i=0;i<n;++i)
        if (i<n)
          x[i] = 0;

    IndVarSimplify will now recognize that i is always less than n inside
    the loop, and eliminate the if.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101000 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4cadedbfc579aa707f87951ed30ab52c82c7d9e
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 22:16:48 2010 +0000

    Enhance ScalarEvolution::isKnownPredicate with support for
    loop conditions which are invariants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3975584c191a08b4c841aacb11e69915d73980b2
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 22:13:11 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85300d54c13316ab6bfa912dc4729499a91f0d13
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 22:12:18 2010 +0000

    When creating a ConstantRange for [n,UINT_MAX], special case n == 0, because
    ConstantRange(0, 0) creates an empty range rather than a full one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100993 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2475557e0b6eac8a0c729c7d2814a0eac0f035c
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 22:07:56 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02f82eb0a979e52213ff5c9c61a8d2657aae7ac8
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 19:30:19 2010 +0000

    Add a cast to void to show that the return value is being
    intentionally ignored.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a4e5adb1e11b53d55ed72e7cf14e449fa95b25
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 19:29:41 2010 +0000

    Delete a dead check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f644179949f053575f3b27531d37857653386ff
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 19:28:47 2010 +0000

    Delete dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 513ebe517974c749a439e65a86e6e50b0a74f9ab
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 19:27:52 2010 +0000

    Fix a #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40bf21300d3b867522517195e22650de13b793dc
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Apr 11 19:27:13 2010 +0000

    Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise
    that it's only testing for the entry condition, not full loop-invariant
    conditions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100979 91177308-0d34-0410-b5e6-96231b3b80d8

commit b740328bc5865384c1c927234fed319e5c33e414
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Apr 11 19:00:03 2010 +0000

    utostr isn't going away too soon, try to make it slightly smaller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d2d5e553ac3d3cc0cc895084653c27208a77b86
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Apr 10 23:18:13 2010 +0000

    Remove dead argument and clean whitespace. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100954 91177308-0d34-0410-b5e6-96231b3b80d8

commit ede999bf7db756f3d35f6ddccf9c29e5d5e364b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 19:12:44 2010 +0000

    Implement support for varargs functions without any fixed
    parameters in the CBE by implicitly adding a fixed argument.
    This allows eliminating a work-around from DAE.  Patch by
    Sylvere Teissier!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100944 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9224066121bd949881f29012eee0cbd9c86ba8f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Apr 10 18:56:24 2010 +0000

    configure: Fix default value for optimize_option, I messed up the test condition
    in r86005 and unintentionally changed the default from -O3 to -O2.

     - It's odd the things automated perf testing turns up! :)

     - Also, the configure diff is messed up slightly. It looks like someone either
       didn't regenerate configure correctly (or I didn't), or autoconf has some
       funnyness in it. Eric, any ideas?

    This has been at -O2 for so long, that I am slightly nervous that this change
    will uncover miscompiles of LLVM on other systems. If that is the case, I think
    we should just set the default universally at -O3, and let developers/vendors
    use -O3 if they want it and have tested it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100941 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac7795827fe570a8ed081ad0743b13e5a8b61c04
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 18:26:57 2010 +0000

    fix PR6743, a case where we'd delete an instruction before using it
    in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100937 91177308-0d34-0410-b5e6-96231b3b80d8

commit 784766a58196c65650dee39cd3c8c39a19791043
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 18:19:22 2010 +0000

    fix PR6760, a missing check in heap SRoA.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15debb0b829cb3c7c8053abc564ac4a819026a26
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 18:01:25 2010 +0000

    turn an assert into a proper check, fixing crash on invalid here:

    $ llvm-as t.ll
    llvm-as: t.ll:1:6: error: expected 'type' after '='
    %0 = = type { i32, float, float, double }
         ^

    PR6810.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55a5f2e2a393617ae349704eb40a4d9e3b8ebd2f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 17:54:51 2010 +0000

    improve haiku portability, patch by Paul Davey.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 427a5edc6c92618fcd5b789232f3bebf91c8363e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 10 17:52:58 2010 +0000

    add attributes and module level asm to the ocaml bindings,
    patch by Patrick Walton!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b98806980933b475899e1854efa97d9c319ee58
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Apr 10 00:48:10 2010 +0000

    Updated the edis build mechanism to allow for builds
    that do not build some (or all) of the targets that
    edis supports.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23c914a65b4b2b9d0328409d2e1557cdae8ec420
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 22:47:25 2010 +0000

    Fix a typo and some indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 356b52027b6af1b140d4bfe03b7a2fe482088554
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 22:07:05 2010 +0000

    When determining a canonical insert position, don't climb deeper
    into adjacent loops. Also, ensure that the insert position is
    dominated by the loop latch of any loop in the post-inc set which
    has a latch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0aee1dca66e06462e22c79ea528ce76161cefd3c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 21:38:26 2010 +0000

    Tidy whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d0b24a3394471600d13e7da0155d61440989ff1
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 9 21:01:02 2010 +0000

    If all the bit positions are not specified; do not decode the instructions.
    We are bound to fail!  For proper disassembly, the well-known encoding bits
    of the instruction must be fully specified.

    This also removes pseudo instructions from considerations of disassembly,
    which is a better design and less fragile than the name matchings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100899 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2710c90f432378008d0922ce24dc96c154679433
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 20:51:47 2010 +0000

    suck the propagating "has dynamic libs" check into a single makefile
    variable TARGET_HAS_DYNAMIC_LIBS

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 862257507b344844ed60d845bff8d83013c4af26
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 20:45:04 2010 +0000

    add minix support, patch by Kees van Reeuwijk!  PR6797

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17ea1f789f4fbf06a5ee14ebf8300488f6698d6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 20:43:54 2010 +0000

    clean this up, fix std::min ambiguity on some platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100894 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1d9a40df03deff059dbbf07b1af3e3ece1ce398
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Fri Apr 9 20:43:20 2010 +0000

    Adding IPSCCP and Internalize passes to the C-bindings

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100893 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae474b95c6df9e03ccaeefd24309f3e40c8f879a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 20:41:18 2010 +0000

    Provide versions of the ARM eh_sjlj_setjmp instructions for non-VFP subtargets
    such that the non-VFP versions have no implicit defs of VFP registers.
    If any callee-saved VFP registers are marked as having been defined, the
    prologue/epilogue code will try to save and restore them.
    Radar 7770432.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100892 91177308-0d34-0410-b5e6-96231b3b80d8

commit a74ef0f5d7b925d87525539e3eb8d0a3f964e75f
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Apr 9 20:25:54 2010 +0000

    Move 'Optional' class from Clang to LLVM/ADT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100889 91177308-0d34-0410-b5e6-96231b3b80d8

commit e20498388dea36ad87d8e752266c6a4c9c17b387
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 9 19:31:33 2010 +0000

    ARM decoder emitter should print out useful information unconditionally when it
    encounters decoding conflicts, instead of wrapping it inside the DEBUG() macro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100886 91177308-0d34-0410-b5e6-96231b3b80d8

commit e84d134cf412b34bff50bbeeb68304f7309718bf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 19:14:31 2010 +0000

    When emitting code for an add, don't force a SCEVUnknown wrapper around
    a hoisted intermediate result if the intermediate result isn't an
    Instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100884 91177308-0d34-0410-b5e6-96231b3b80d8

commit c784c559b7bdf3d8f522cc18875da1a5a6ff62d5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 19:12:34 2010 +0000

    When looking for loop-invariant users, look through no-op instructions,
    so that an unfortunately placed bitcast doesn't pin a value in a
    register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100883 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36119df648911a94aec2f9287cca3630f8803da8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 9 19:03:31 2010 +0000

    Make sure this test tests something.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100879 91177308-0d34-0410-b5e6-96231b3b80d8

commit b943a60a22cafc940f0475bd027017ed65b49be2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 18:39:54 2010 +0000

    Fix a grammaro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100877 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac5b284b719fad00a916df664f3a94ccfbe4ac30
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 18:29:29 2010 +0000

    Add a testcase for svn r100568.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e6621bb9a5d8b705bc5bdf0e9b2456d739e32b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 18:27:03 2010 +0000

    "On SPU, variables in the .bss section that are allocated with the .lcomm directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment.

    this patch disables .lcomm in favour of '.local .comm'

    Patch by Kalle Raisklia!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f01424b345782f65bdea0ebc9a97103da00acdf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 18:20:03 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84f4bd8a2d577984a8f50b35e37805427b0177ea
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 16:24:49 2010 +0000

    Fix up header comments to match the comment fixups I made in r100849.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fb07c495bf88d7d3ec4629cf486320abbe15666
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Apr 9 16:04:20 2010 +0000

    Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ff9615cfc5c0556a815939889c2d92eea9a9b88
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 9 15:18:34 2010 +0000

    performance: cache result of looking up user

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fe48547190cdca4175b53afb299df34517378f0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 15:03:55 2010 +0000

    Merge a few fast-isel tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100860 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0b32d20e4887160ceae22ac53fa9d70ed5d7718
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 14:53:59 2010 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6482cd01148a1953f229aa53b83c178dd5ce6e72
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 14:12:01 2010 +0000

    Delete this obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05a3217271473b3375a6d5765c7164fb90b48696
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 9 10:57:00 2010 +0000

    const-ize a predicate

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100856 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe0b9b22c40523def28526a4bdc47a2435efd1b3
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Fri Apr 9 05:55:25 2010 +0000

    Add a missing dependency to this library when building with CMake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100852 91177308-0d34-0410-b5e6-96231b3b80d8

commit e955ac351fc5b4c2deb2d585f2070956d57aebc9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 04:46:43 2010 +0000

    Use getNumImplicitDefs() and getNumImplicitUses().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14acbb1a698e51883187b3d54f8b87bb51c40abb
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 9 04:34:03 2010 +0000

    Fix up some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100849 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19a4555b7766ef7a6cfc8eb251964e5df8399d68
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 04:24:20 2010 +0000

    revert r100842  which broke several of the build bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100848 91177308-0d34-0410-b5e6-96231b3b80d8

commit d481d112b2f6de6c0c802499e135d1f7a2296673
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Apr 9 02:15:10 2010 +0000

    lit: Add support to OneCommandPerFileTest format to take input directory from input path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c2d049057071d4d49df4a116d191779705729e2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 02:00:38 2010 +0000

    Refactor the code for computing the insertion point for an expression into
    a separate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eb7901d7a86d26fb9685220854c33894c98ed35
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 9 01:43:16 2010 +0000

    Added a tester for the enhanced disassembler,
    integrated into the llvm-mc testing tool.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f6c8961b78dc1e40d05d7dfa52b2b8fb824f30b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 01:39:53 2010 +0000

    Add several more lint checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cea9adfee8c9a149ff2089486562829e50becf3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 01:22:56 2010 +0000

    Fix a bug in IVUsers which was permitting non-affine addrecs to
    be sent to LSR, which it isn't prepared to handle.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100839 91177308-0d34-0410-b5e6-96231b3b80d8

commit db502e217ab32d433915872147b2c8b4c946cd18
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 9 01:19:28 2010 +0000

    Don't use reserved identifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100838 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61d2ac3bec8e496b6e56f8936d272f405864b120
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 9 01:14:31 2010 +0000

    fix a SCCP miscompilation that could happen when a
    forced constant is changed to a constant, we would end
    up adding the instruction to the wrong worklist,
    preventing it from being properly revisited.  This fixes
    rdar://7832370

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100837 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5bf54b6fc2660b6f0d0428acc7d2a67d13793fb
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 9 00:11:15 2010 +0000

    Bugfixes for edis.  Code to initialize instruction
    state was being executed too lazily, and the LLVM
    assembly syntax for the disassembler was not being
    written into the proper disassembler state variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b82e490af94628d55e6d776d671f5f025e716ea
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 23:36:27 2010 +0000

    Avoid allocating a value of zero in a register if the initial formula
    inputs happen to negate each other.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100828 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9c80b808766f6f519a62cf4976a0c52b45bd565
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 23:05:57 2010 +0000

    Add a few more lint checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100825 91177308-0d34-0410-b5e6-96231b3b80d8

commit b49839967641e13a191600ba562b0c2cb29b0326
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 23:03:40 2010 +0000

    Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100824 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc18ebfc60b921a6a252121b5708e19693194cfa
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 21:34:17 2010 +0000

    delete a forwarding function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7496e0744f528194f819e26906c016539dbd192a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 21:26:26 2010 +0000

    move elf section uniquing to MCContext.  Along the way
    merge XCore's section into MCSectionELF

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ad1f741263eb424a0d809731e8018d10ea0a20f
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Apr 8 21:23:54 2010 +0000

    Now that Evan Cheng has fixed the coalescer bug (r100804), the workaround code
    to avoid memcpy() call is no longer necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100811 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8af75615d793697bdd8630bed89203d52ce5cd1
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 20:40:11 2010 +0000

    remove the TargetLoweringObjectFileMachO::getMachoSection
    api and update clients to use MCContext instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100808 91177308-0d34-0410-b5e6-96231b3b80d8

commit 875efd18f591dc875886ff1948b364500546029b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 20:30:37 2010 +0000

    move macho section uniquing from MCParser and TLOF to MCContext where
    the compiler and asmparser now unique to the same sections.  This fixes
    rdar://7835021.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69366b86a880b677527b4d5519e85bb923950c15
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 8 20:02:37 2010 +0000

    Coalescer should not delete copy instructions whose defs are partially dead. e.g.
    %RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27f56a37a4b1950390caa9c37c36c19378d1ceb6
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Apr 8 18:52:18 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100802 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9ca1526cfd5712b6a9e9692c3dc9d46a95b88be
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Apr 8 18:49:30 2010 +0000

    Fix -Wsign-compare warning (issued by clang++).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100799 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5a2502c72993e872be81a67c105f6c904c6f400
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 18:47:09 2010 +0000

    Add a -lint pass which checks for common sources of undefined or likely
    unintended behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2220f81e4ec460eaa7c6f0f83b495a1e7f13357a
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 8 18:43:56 2010 +0000

    Rename a function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20edcfe3f57f4c31efebc6a00adf0577581e75a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 18:20:52 2010 +0000

    implicit defs get added to the end of machine instrs sometimes.  Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31de7af3f1e7f05c7576a8396325330bdb403be5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 18:11:50 2010 +0000

    Pointers to zero-sized objects don't point to overlapping objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100789 91177308-0d34-0410-b5e6-96231b3b80d8

commit d879e28fcf1daaab6642d61eae600cfef7d352c5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 18:03:05 2010 +0000

    Print empty structs as {} rather than { }.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3757ba9ccff689e4f9c48d994cedfadf39e0b52c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 17:41:04 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100783 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00d49a48fc179ead7e874ac5a983335286f088ae
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Apr 8 17:19:20 2010 +0000

    Touch configure so it regenerates Disassemblers.def to include ARM so
    people stop seeing a broken build in EDDisassembler.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100782 91177308-0d34-0410-b5e6-96231b3b80d8

commit da48d628bd6c0d8d8e30878a50f0868b08dfcf59
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 8 16:50:29 2010 +0000

    One instruction may start (or end) multiple lexical scopes.
    There is no need to remember labels identifying regions marked by such instructions in each scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100781 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6e5d55c03eec2ffbd816d078b2ad53f0e5af145
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 8 16:46:24 2010 +0000

    clean up algorithm and remove operand order assumptions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b993cc51f56221214c62f1f0e0a4abc6f486138
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 15:57:10 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9df74d4ca17f3b9b40b3b5428061ce0f10bc6b36
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 8 15:48:02 2010 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100771 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd2311470a91c740ab48bb0d0291e606159fbdda
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 8 15:41:13 2010 +0000

    Delete out of date comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100769 91177308-0d34-0410-b5e6-96231b3b80d8

commit e401127467608507d52e268e2dd1d4b9c64717de
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 8 15:37:09 2010 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768 91177308-0d34-0410-b5e6-96231b3b80d8

commit b320569453708cbe5de19cdd585bded115bcdb43
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 8 15:25:57 2010 +0000

    Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100767 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7fdef24dcdbfa52d79bf2cd85c107f366fc3348
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 8 15:22:35 2010 +0000

    Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
    never be called but msvc complains that they're missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ca5591bb3b08a13a6c03852380c65fe6dadbce2
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 8 13:50:42 2010 +0000

    use abstract interface in two more places

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95f012f9b1dd1a45bd609a63283bbf2f978580ab
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 8 13:08:11 2010 +0000

    fix compile

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100760 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66bd6ef37f1f2dc1e9bc8c54b0e37497cffc847e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 8 12:52:19 2010 +0000

    use abstract interface

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 367ca5a5d88665d8673ca630606d3cd1d85d38d9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 8 10:44:28 2010 +0000

    Use twines to simplify calls to report_fatal_error. For code size and readability.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a6937c133505e4966a896826e0c189bf0284b0e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 8 09:42:29 2010 +0000

    Use errs instead of fprintf.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100754 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0fb6e516e6e7e37b6e37b3c1d49d9c7c2750b21
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 8 07:37:57 2010 +0000

    Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c630f05965b2b4557e1a7ed01c5ebc5b7855350
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 05:58:24 2010 +0000

    Revert this change from a while ago; ScalarEvolution shouldn't analyze
    undef as 0, since it can't force other analyses to intepret the undef
    in the same way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100749 91177308-0d34-0410-b5e6-96231b3b80d8

commit c466ff5ba9755a22db8a8f017d14c1ddfc1b376f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Apr 8 05:57:57 2010 +0000

    When expanding expressions which are using post-inc mode for multiple loops,
    ensure that the expansion is dominated by the increments of those loops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 850ad44e460b79107073db6bb781e00be815001d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 8 01:03:47 2010 +0000

    Make post regalloc machine licm functional. It now passes all of MultiSource.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e1f41b551a21e600f958910ad221e6c4c8ff6ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 00:54:34 2010 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100738 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf35e4e953d00791f1b08a2cf0a4200cc86064da
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 00:53:57 2010 +0000

    document isvolatile etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100737 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdf012fe174da0d937d163555edae7fb2dabb036
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Apr 8 00:52:02 2010 +0000

    mpsadbw is not commutative.

    Fixes PR3440.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100736 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca9c635b77c0f8db957bd361cb91a851cb4981fa
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Apr 8 00:48:21 2010 +0000

    Added support for ARM disassembly to edis.

    I also added a rule to the ARM target's Makefile to
    build the ARM-specific instruction information table
    for the enhanced disassembler.

    I will add the test harness for all this stuff in
    a separate commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cbaef7a88205e4c7585c71098f827304033ff01
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 8 00:09:16 2010 +0000

    convert a report_fatal_error that I was able to trigger into a nice error
    so the user at least knows what inline asm is a problem.  For example:

    error: inline asm not supported yet: don't know how to handle tied indirect register inputs
    pr8788-1.c:14:10: note: generated from here
        asm ("\n" : "+r" (stack->regs)
             ^

    Instead of:
    fatal error: error in backend: Don't know how to handle tied indirect register inputs yet!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100731 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0417d9128a0e146cccc81381df08bec2881836c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 7 23:51:38 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f0a003c4d73a8dab0fd8758620b1c605b09e982
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 23:50:38 2010 +0000

    minor tidying.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a77274c7bf3a4180975ccc5adaf77e75a1f13be
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 23:47:51 2010 +0000

    use assertions instead of unreachable for logic errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100724 91177308-0d34-0410-b5e6-96231b3b80d8

commit b99b4de6d12cdfa20442ccc9e5172f1593a08fa3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 23:40:44 2010 +0000

    introduce a new recoverable error handling API to LLVMContext
    and use it in one place in inline asm handling stuff.  Before
    we'd generate this for an invalid modifier letter:

    $ clang asm.c -c -o t.o
    fatal error: error in backend: Invalid operand found in inline asm: 'abc incl    ${0:Z}'
    INLINEASM <es:abc incl    ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>

    Now we generate this:

    $ clang asm.c -c -o t.o
    error: invalid operand in inline asm: 'incl    ${0:Z}'
    asm.c:3:12: note: generated from here
      __asm__ ("incl    %Z0" : "+r" (X));
               ^
    1 error generated.

    This is much better but still admittedly not great ("why" is the operand
    invalid??), codegen should try harder with its diagnostics :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8

commit aab27ddc36abfba92a1b46698b818e8cb2f1f4ec
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 7 23:22:42 2010 +0000

    Say bitcast instead of bitconvert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cbb0e5b0c1402a5635dbe347465ed6d6c8eeb09
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 7 23:19:41 2010 +0000

    Add svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100719 91177308-0d34-0410-b5e6-96231b3b80d8

commit 816aa36d0171d2548cfd1129bb966d187e6e3d8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 23:12:29 2010 +0000

    rename llvm_install_error_handler -> install_fatal_error_handler
    and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100717 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca9edc105ead0461310f77f48623e3b85ede44ee
Author: Ted Kremenek <kremenek@apple.com>
Date:   Wed Apr 7 23:05:23 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100714 91177308-0d34-0410-b5e6-96231b3b80d8

commit f14866092ec4bdb45f3b2e626ce54f1f75af05bd
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Apr 7 23:01:37 2010 +0000

    Update cmake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100713 91177308-0d34-0410-b5e6-96231b3b80d8

commit e805f543f8ed9d4c70315b9cf04a3ee248fd6f4c
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Apr 7 23:00:07 2010 +0000

    Add support for stpncpy_chk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100710 91177308-0d34-0410-b5e6-96231b3b80d8

commit b668eca36afff11f3d8d11c0876e6e64995025cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:58:41 2010 +0000

    rename llvm::llvm_report_error -> llvm::report_fatal_error

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c9243bf848d4aeb496df9ab5f3df7f6b7549070
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:54:55 2010 +0000

    add newlines at end of files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ed0900400ace7ca7745689bdd8113a7efe918b8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:53:17 2010 +0000

    add newlines at the end of files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32978d6b3ebb5ba1f0b0004a46eae7e54424a34e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:44:07 2010 +0000

    remove some unneeded errorhandling stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 819f9f982a11f4c533a60b2838816a2eb07ebaa9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:41:29 2010 +0000

    minor tidying up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100702 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffb8f3f4ddac6f16890ff9ca21f9c8a297512492
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 22:29:10 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100700 91177308-0d34-0410-b5e6-96231b3b80d8

commit becedf6330883fc05fad88ba95fca8e466742397
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Apr 7 22:27:08 2010 +0000

    Generalize IVUsers to track arbitrary expressions rather than expressions
    explicitly split into stride-and-offset pairs. Also, add the
    ability to track multiple post-increment loops on the same expression.

    This refines the concept of "normalizing" SCEV expressions used for
    to post-increment uses, and introduces a dedicated utility routine for
    normalizing and denormalizing expressions.

    This fixes the expansion of expressions which are post-increment users
    of more than one loop at a time. More broadly, this takes LSR another
    step closer to being able to reason about more than one loop at a time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4269a8e71ae6c722262b1748ef7d3e117ab3c95
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 7 22:21:03 2010 +0000

    Missed this one line for the previous checkin to fix build warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 950c864b2c89c338fb0a7a896f2a022e89b67754
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 7 22:03:27 2010 +0000

    Fixed warnings pointed out by clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5027828cc6d637a955988f0614dbdddcee3e3a96
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 7 21:52:48 2010 +0000

    Fixed warnings pointed out by clang.
    Next to work on is ARMDisassemblerCore.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ab9e01b43c0e4ec7da880384e77b29996d786e5
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Apr 7 21:42:19 2010 +0000

    Fixed a bug where the disassembler would allow an immediate
    argument that had to be between 0 and 7 to have any value,
    firing an assert later in the AsmPrinter.  Now, the
    disassembler rejects instructions with out-of-range values
    for that immediate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 763ea5d0700fcf947c79feee24b992b368d80e01
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 7 21:23:48 2010 +0000

    Fixed 3 warnings pointed out by clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fa5717ee93357da4d4b9c338cd0900456ecd692
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Apr 7 21:19:41 2010 +0000

    unXFAIL, arm disassembler was reenabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fb42fcde248adab3211e2d3254ad6d64787039d
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Apr 7 20:58:16 2010 +0000

    Fix typo and correct comment somewhat.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4afd8b3992d261b8b9b5a1ba3d3d3033f5c42d20
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Apr 7 20:53:12 2010 +0000

    Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
    ARMDecoderEmitter.cpp, with FIXME comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68a53c8f92562c5f9143a2ffa1e720d2047038e8
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 7 20:43:35 2010 +0000

    Split big test into multiple directories to cater to
    those who don't build all targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100688 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5edf06b44c25fa2d2abf64583d0495520d924db
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Apr 7 20:29:34 2010 +0000

    Added an AsmLexer for the ARM target, which uses
    a simple mapping of register names to IDs to
    identify register tokens.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ded6d93c94d399fd76197ca7c2be4502be86015
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 7 20:01:24 2010 +0000

    Test that DEBUG_VALUE comments come out on a variety of targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20c72e07d83b40c260edc7a5a0fab3be8f16215c
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 7 19:51:44 2010 +0000

    Educate GetInstrSizeInBytes implementations that
    DBG_VALUE does not generate code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100681 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d5b91402698bdbe5c455529aa86efc5e78724d7
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Apr 7 18:59:26 2010 +0000

    fix 80-col violations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a04b9f8d9507029dd13149b5395b447635b25ba
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:23:27 2010 +0000

    Remove late ARM codegen optimization pass committed by accident.
    It is not ready for public yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100673 91177308-0d34-0410-b5e6-96231b3b80d8

commit be3a8986e80c1f7cde4673c28184f7bb375493cf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:22:11 2010 +0000

    Split A8/A9 itins - they already were too big.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100672 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdfa59873bc9f19b177518f0b174471d7c5fc6a7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:22:03 2010 +0000

    Add some crude itin approximation for VFP load / stores on A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b2322df5e6abbfd542b47cb4caeaa70085575ea
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:58 2010 +0000

    Add some crude approximation for neon load/store instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100670 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e2cafdf86b1c35c76b21174d83fdda26c895be
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:52 2010 +0000

    Add some A8-based approximation for instructions with unknown cycle times

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100669 91177308-0d34-0410-b5e6-96231b3b80d8

commit b22c06637b99c8cd4dfafd2f3a9ae3a2ac865f01
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:46 2010 +0000

    Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100668 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7e5fbf7dd083f9567c371e1a74116958ac964f2
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:41 2010 +0000

    Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100667 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4ce857e16628408a0c4ccc56a3b21e66c376209
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:33 2010 +0000

    Fix A8 FP NEON MAC itins

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6dbae9f18dbcc1bcc703958d25c3281a91fdb9f6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:27 2010 +0000

    A9 NEON FP itins

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58c8a54546773cf83d7906fc5e03069e7542676b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:22 2010 +0000

    Some permute goodness for A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 300e6d3d520ee8bcd4836ed70cbf641dad09d341
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:16 2010 +0000

    More shift itins for A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b1ad99e3645371a93053c308919862aad30bf74
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:10 2010 +0000

    More fixes for itins

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 778852318175615a6c79dadf4915dd2018329b17
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:21:04 2010 +0000

    Fix invalid itins for 32-bit varians of VMLAL and friends

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100661 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6a63cce6123e547672e5a3cdcbc2e50f46258b5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:58 2010 +0000

    Add MAC stuff for A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69bd2ccf272eb346e546488cd30fb290b57de844
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:53 2010 +0000

    Fix invalid NEON MAC itins on A8

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100659 91177308-0d34-0410-b5e6-96231b3b80d8

commit c87dfe77008881bc858371889242bbae65c868ee
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:47 2010 +0000

    Fix itins for VPAL

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100658 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a181c92ca7e4ff90eb9108a56950647e6b24fbf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:42 2010 +0000

    Fix itins for VABA

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cda5f1cd9dc005b38584a80b39b85110ef2a5e0
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:36 2010 +0000

    Correct VMVN itinerary: operand is read in the second cycle, not in the first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24dcb7080f33062e183e2e602f4e92d2e4736966
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:29 2010 +0000

    More A9 itineraries

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100655 91177308-0d34-0410-b5e6-96231b3b80d8

commit b557bbcf7a5eee57a0c458b6143c801f7d902a34
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:24 2010 +0000

    Correct itinerary class for VPADD

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39e69fb7ac656f4bd01f056f2911df789d8b2b4d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:18 2010 +0000

    VP{MAX, MIN} are of IIC_VSUBi4D itin class as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b0ef908d3217b3951e2e434c3b9fd3d16ab5f42
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:13 2010 +0000

    VHADD differs from VHSUB at least on A9 - the former reads both operands in the second cycle, while the latter reads second operand in first cycle. Introduce new itin classes to catch this behavior. Whether this is true for A8 as well is WIP.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100652 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9c079cc7889e547469bcf37cf1c917fed7078af
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:07 2010 +0000

    Some easy NEON scheduling goodness for A9

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100651 91177308-0d34-0410-b5e6-96231b3b80d8

commit efcc37b6690148cd65a751a7792f0d6a066c7b8e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:20:02 2010 +0000

    Define new itin classes for ARM <-> VFP reg moves to distinguish from NEON ops. Define proper scheduling itinerary for them on A9. A8 TRM does not specify latency for them at all :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100650 91177308-0d34-0410-b5e6-96231b3b80d8

commit eabed6aeab4ea9e00dfd9f419c0c7e7dec9a1a92
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:56 2010 +0000

    FCONST{S,D} behaves the same way as FP unary instructions. This is true for both A8 and A9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02a312f16766fcdadc4cb515523b3cfc4c5f6fa0
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:51 2010 +0000

    Proper cycle times for locks, since wbck latency can be larger than fwd latency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100648 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd36e6b2b79a330947e9998de4089167618ffed7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:46 2010 +0000

    Add new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b19253d92da293192d07ad653c22a55de97bc4e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:40 2010 +0000

    Make use of new reserved/required scheduling stuff: introduce VFP and NEON locks to model domain cross stalls precisly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100646 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbb99a1bae2e58a0be2688d3f6c122dbc7e5fc2d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:32 2010 +0000

    Initial support for different kinds of FU reservation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100645 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d0d3cb2edec6b05a30ad0f37a4b7ebb333cf4ce
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:24 2010 +0000

    Factor out scoreboard into separate class. This way we might have several different score boards.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100644 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecc063f6c401aa463c545eb48e9b212bfb54a37a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:18 2010 +0000

    Some bits of A9 scheduling: VFP

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100643 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f708c3e6e1b3dc324872c94c6117553496a45e9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:13 2010 +0000

    Separate const from non-const stuff during mergeing

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100642 91177308-0d34-0410-b5e6-96231b3b80d8

commit b78701b37152c1f011ee372d2071d5b9eee0c391
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:19:07 2010 +0000

    Some initial version of global merger

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100641 91177308-0d34-0410-b5e6-96231b3b80d8

commit caa8a6dbf000477bf0a73a8a76f474fc8cc023e4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Apr 7 18:18:42 2010 +0000

    Add hook to insert late LLVM=>LLVM passes just before isel

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8623dcf2df609558b53a0af0727f23e0e466e295
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 18:13:33 2010 +0000

    fix 80 col violation, patch by Alastair Lynn

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100639 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1c036aef085104852fad8d03ef81615a2cdbd47
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 18:10:38 2010 +0000

    add a comment line that got dropped

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fed2b9d5485f47ce5d5b49c75dc0ec47415b8cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 18:04:56 2010 +0000

    this has a pr!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4073130033e1be2cf4540b29cf50d4273d3b15f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 18:03:19 2010 +0000

    fix a latent bug my inline asm stuff exposed:
    MachineOperand::isIdenticalTo wasn't handling metadata operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51e57b6310ee0cd367dfefaf0da0c061a900806d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Apr 7 11:23:46 2010 +0000

    Remove unused method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 216d852ed4e43a3149beef3b36193ba64d364c4e
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Apr 7 10:44:46 2010 +0000

    Workaround the breakage in r100616 by guarding all timers with
    TimePassesIsEnabled. This should allow make check to pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2c8f62e56b2bf1f7e58e3cbdc20a6ed8200fedc
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Apr 7 09:28:04 2010 +0000

    Use the "NamedGroupTimer" class to categorize DWARF emission better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57c934d08ffe6aaee1d861161c1b8cfbf0b0bb4f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Apr 7 09:26:51 2010 +0000

    Use raw_ostream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d3579a4a20ca26cc25b5e20d65ab2cd1e54fd0a
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Apr 7 07:06:48 2010 +0000

    Remove XFAIL for vg_leak as the leaks are fixed by 100601.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f967e9e9dce617f7562ed39642f582b4e63718e
Author: Mon P Wang <wangmp@apple.com>
Date:   Wed Apr 7 06:35:53 2010 +0000

    Update langref for memcpy, memmove, and memset

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100611 91177308-0d34-0410-b5e6-96231b3b80d8

commit af823d5e136ec53b39f17d33738c27988bbf3dfb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 7 06:00:33 2010 +0000

    Add comments for missed opportunities.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a938d197e48ce98abea6c22d13c21540d404227
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 7 05:59:12 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d0493473299863f180672a37e0aa7cb9476594c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 05:38:05 2010 +0000

    Have the inst emitter add the !srcloc mdnode to the machine instr.
    Have the asmprinter use the mdnode to scavenge a source location if
    present.  Document this nonsense in langref.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ddb919e78ca3c1dae36f9b04c4af0a1e3a382db
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 05:27:36 2010 +0000

    remove another magic number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8

commit eeeeee03b7504311567c0e286cea3e6311a4c03c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 05:20:54 2010 +0000

    Three changes:
    1. Introduce some enums and accessors in the InlineAsm class
       that eliminate a ton of magic numbers when handling inline
       asm SDNode.
    2. Add a new MDNodeSDNode selection dag node type that holds
       a MDNode (shocking!)
    3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
       metadata, propagating it to the instruction emitter, which
       drops it.

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34fea60985c2fd96c3085aea12a801390b0e1089
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Apr 7 04:08:57 2010 +0000

    fix a crash on invalid metadata, e.g.:  call i32 @foo(), XXXX

    We would return the error without inserting the new instruction
    into the program, so it wouldn't get deallocated, and an abort
    would trigger when the module was deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100602 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32e1ac3f9026d94c858a1ea7bf384dd193a2ce25
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Apr 7 03:36:01 2010 +0000

    Fix memory leaks for external symbol name strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100601 91177308-0d34-0410-b5e6-96231b3b80d8

commit a31f12e059d7ef313d00dac5181cca8abf119fb4
Author: John McCall <rjmccall@apple.com>
Date:   Wed Apr 7 01:49:15 2010 +0000

    Clean up some signedness oddities in this code noticed by clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100599 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef5d69e921617b1286549326d94b1775efd06da8
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Apr 7 01:15:14 2010 +0000

    Move printing of target-indepedent DEBUG_VALUE comments
    into AsmPrinter.  Target-dependent form is still generated
    by FastISel and still handled in X86 code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100596 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1433aa2e560db7816769c0b84ab8dbc1cc12c51
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Apr 7 00:41:17 2010 +0000

    Post regalloc LICM. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100592 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb9059362aec99afb7f9e24762419ae61d4cede3
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 6 23:53:48 2010 +0000

    Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5570a3b4700fb4e35ba1d0ae973c069090931ae3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Apr 6 23:44:44 2010 +0000

    Let that which does not matter truly slide.

    This test only cares about alignment, so don't test for other cruft.
    An upcoming llvm-gcc patch needs this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ca55ea5b2918bae8a33c2913112fbeb20b56713
Author: John McCall <rjmccall@apple.com>
Date:   Tue Apr 6 23:35:53 2010 +0000

    Fix a number of clang -Wsign-compare warnings that didn't have an obvious
    solution.  The only reason these don't fire with gcc-4.2 is that gcc turns off
    part of -Wsign-compare in C++ on accident.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581 91177308-0d34-0410-b5e6-96231b3b80d8

commit a490250a0f99539c4a0a41fe4130bb711c00f944
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 6 22:45:26 2010 +0000

    Revert 100573, it's causing some testsuite problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100578 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4e4007d5945b010791b005a8beadecb697b4e2f
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 6 22:21:07 2010 +0000

    Move printing of DEBUG_VALUE comments to target-independent place.
    There is probably a more elegant way to do this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c680aea9777958cd0936dff25e905ebc652ad14
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Apr 6 22:02:24 2010 +0000

    Expand SELECT and SELECT_CC for NEON vector types.
    Radar 7770501.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 848e83c8d1ebcd3334b6f9ac063cfa8dfed36ee2
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Apr 6 21:59:56 2010 +0000

    Allow for the possibility that a debug-value points
    to a SDNode that didn't have code generated for it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100566 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdc47b7338a7f7ff814e14cbb62892096a8c9968
Author: Stuart Hastings <stuart@apple.com>
Date:   Tue Apr 6 21:38:29 2010 +0000

    Reverting 100530 & 100531 due to regressions in the GDB test suite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b5cea544da691d6d7aa48b642510c2e62ae94f7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Apr 6 20:26:37 2010 +0000

    Fix PR6696 and PR6663

    When a frame pointer is not otherwise required, and dynamic stack alignment
    is necessary solely due to the spilling of a register with larger alignment
    requirements than the default stack alignment, the frame pointer can be both
    used as a general purpose register and a frame pointer. That goes poorly, for
    obvious reasons. This patch brings back a bit of old logic for identifying
    the use of such registers and conservatively reserves the frame pointer
    during register allocation in such cases.

    For now, implement for X86 only since it's 32-bit linux which is hitting this,
    and we want a targeted fix for 2.7. As a follow-on, this will be expanded
    to handle other targets, as theoretically the problem could arise elsewhere
    as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d3c228b42fbd807870d2bea9afcab621044071f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Apr 6 20:07:21 2010 +0000

    Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06b08b5fee5f9a4ec422e1ceebeee702f026947c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Apr 6 19:48:56 2010 +0000

    Don't try to collapse DomainValues onto an incompatible SSE domain.
    This fixes the Bullet regression on i386/nocona.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 415ce44cbc61cfcb936d7d0a35f79e675f888d21
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 6 19:32:30 2010 +0000

    performance: get rid of repeated dereferencing of use_iterator by caching its result

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100550 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc10e729e6bdcb200700d509a80e50e075145657
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 6 19:24:18 2010 +0000

    make more two predicates constant

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4747ae0f26153b16285faa84dfcee3aa57ada61a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 6 19:14:05 2010 +0000

    performance: get rid of repeated dereferencing of use_iterator by caching its result

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100547 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee7f6f8a7c017a19e7c90b318cce658b328a3b9a
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 6 18:58:22 2010 +0000

    const-ize predicate ValueIsOnlyUsedLocallyOrStoredToOneGlobal

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100546 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0648661cbb08afad6537c89eb6311fcb2665dbb
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Apr 6 18:45:08 2010 +0000

    use CallSite to access calls vs. invokes uniformly
    and remove assumptions about operand order

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 849d3de6f51c10c5fa8f190b3cbe013d70d71c8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 18:37:22 2010 +0000

    this accessor doesn't need to copy the string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46c3d31eaccb649b08d8834b5cb029b4e6499edf
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 18:06:18 2010 +0000

    enhance SMDiagnostic to also maintain a pointer to the SourceMgr.
    Add a simplified constructor for clients that don't have locations
    like "file not found" errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0957ed25a62cf5761e596a6dd632fe28432df01f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Apr 6 17:19:55 2010 +0000

    Code clean up. Move includes from VirtRegRewriter.h to VirtRegRewriter.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c3024226f6eeb9acc503127f759dc0d8f9d28c4
Author: Stuart Hastings <stuart@apple.com>
Date:   Tue Apr 6 17:19:32 2010 +0000

    Revise debug info machinery to digest nested functions and classes.

    A certain GDB testsuite case (local.cc) has a function nested inside a
    class nested inside another function.  GCC presents the innermost
    function to llvm-convert first.  Heretofore, the debug info mistakenly
    placed the inner function at module scope.  This patch walks the GCC
    context links and instantiates the outer class and function so the
    debug info is properly nested.  Radar 7426545.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87ea79548840237839709173ebb969fe5ce4b689
Author: John Criswell <criswell@uiuc.edu>
Date:   Tue Apr 6 14:52:14 2010 +0000

    Adding SAFECode to the list of projects that work with LLVM 2.7.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23c09148a95da700cc523af3cfe4df83227096ae
Author: Mon P Wang <wangmp@apple.com>
Date:   Tue Apr 6 08:27:51 2010 +0000

    Remove assert to treat memmove and memset like memcpy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100521 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa5667eb8d7ce6ee7ad2c5e70c6566e045c9a38e
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Apr 6 04:20:48 2010 +0000

    Use a ManagedCleanup to prevent leaking the PassRegistrar map.  In breaks the
    use case where someone wants to resurrect LLVM after calling llvm_shutdown,
    but I'm not aware of any clients that are affected by this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bd5c14392d73d057a78fb39f5b136a7863a0c2c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Apr 6 03:12:43 2010 +0000

    Avoid overflowing a signed integer which triggers undefined behaviour.
    Overflowing an unsigned integer is fine and behaves as you would expect.
    Also fix a pasto, allowing SignExtend64 to take a 64-bit argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100517 91177308-0d34-0410-b5e6-96231b3b80d8

commit a50bc48d9bd3882390dcfb3127f09bbd93e021b1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Apr 6 01:31:12 2010 +0000

    Add a const qualifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100515 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0317269bb0797c1767b558682d8328320e5645a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:58:50 2010 +0000

    propagate cookie management out one layer of function calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a0cd596f9267329086a284b05fc7df9591c3431
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:55:39 2010 +0000

    report errors through LLVMContext's inline asm handler if available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8976a56d23b900191030044bf2d604399f89b90e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:51:52 2010 +0000

    Give MachineModuleInfo an actual Module*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100508 91177308-0d34-0410-b5e6-96231b3b80d8

commit c17f295bc878a2c619977d72c9ea302f3e623699
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:44:45 2010 +0000

    give LLVMContext an inline asm diagnostic hook member.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100506 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce9e3b0e7feef6e3bc9623aef2535f75950d5e01
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Apr 6 00:38:32 2010 +0000

    Remove unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35153f578cd18af87c9d5ae9ba06df4f6e54ede3
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:33:43 2010 +0000

    give the SourceMgr object a cookie.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100504 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61574f6ad2fed39e0fa9bc6f21dae863b71c15c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Apr 6 00:26:48 2010 +0000

    Give llvm::SourceMgr the ability to have a client-specified
    diagnostic handler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38c0ff396ac79a57b606899ba43db238b764d02f
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Apr 5 23:53:46 2010 +0000

    Remove MaybeOwningPtr. We're going to use reference-counting instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35b9ff38932e15de36983d305e66c9d160eff839
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Apr 5 23:48:02 2010 +0000

    Properly enable load clustering.

    Operand 2 on a load instruction does not have to be a RegisterSDNode for this to
    work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100497 91177308-0d34-0410-b5e6-96231b3b80d8

commit e94587ca86798cbd97f63d39fcccbee20095aa93
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 23:33:29 2010 +0000

    Fix an obvious copy-n-paste bug. It's not known to cause any miscompilation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 640cc8cd4dc00f91cdbe1970f7d509ccb2ea9194
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 23:15:42 2010 +0000

    Give AsmParser an option to control whether it finalizes
    the stream.  New demo:

    $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
    $ otool -tv t.o
    t.o:
    (__TEXT,__text) section
    _foo:
    0000000000000000	subq	$0x08,%rsp
    0000000000000004	movl	%edi,(%rsp)
    0000000000000007	movl	%edi,%eax
    0000000000000009	incl	%eax
    000000000000000b	movl	%eax,(%rsp)
    000000000000000e	movl	%eax,0x04(%rsp)
    0000000000000012	addq	$0x08,%rsp
    0000000000000016	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9d5d1eb396ed80999a30ad5a96ed16bdde322d7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 23:11:24 2010 +0000

    add .o file writing for inline asm in llc.  Here's a silly
    demo:

    $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
    <inline asm>:1:2: error: unrecognized instruction
    	abc incl    %eax
    	^
    LLVM ERROR: Error parsing inline asm

    Only problem seems to be that the parser finalizes OutStreamer
    at the end of the first inline asm, which isn't what we want.
    For example:

    $ cat asm.c
    int foo(int X) {
     __asm__ ("incl    %0" : "+r" (X));
     return X;
    }
    $ clang asm.c -S -o - -emit-llvm | llc
    ...
    	subq	$8, %rsp
    	movl	%edi, (%rsp)
    	movl	%edi, %eax
    	## InlineAsm Start
    	incl    %eax
    	## InlineAsm End
    	movl	%eax, (%rsp)
    	movl	%eax, 4(%rsp)
    	addq	$8, %rsp
    	ret
    $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
    $ otool -tv t.o
    t.o:
    (__TEXT,__text) section
    _foo:
    0000000000000000	subq	$0x08,%rsp
    0000000000000004	movl	%edi,(%rsp)
    0000000000000007	movl	%edi,%eax
    0000000000000009	incl	%eax
    $

    don't stop at inc!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1b3024cb4ef478af937f46c9565e07b74667325
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 23:07:42 2010 +0000

    add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100490 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0a10ddabeb2d952094fc3ca1de9894f792577e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 23:07:18 2010 +0000

    tidy #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bcffe38e7f6e4c82ad27a751676594ce63d2063
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Apr 5 22:59:21 2010 +0000

    Output floating point representations in DWARF format. This is done by outputing
    the FP encoding directly as a hex representation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dcf825d5a0696f062fd593f744497ae45bd15e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 22:49:48 2010 +0000

    update unit test for api change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100486 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0735bb05e7b4196243112b1ee2d63053dacd48b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 22:42:30 2010 +0000

    stringref-ize the MemoryBuffer::get apis.  This requires
    a co-committed clang patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d6d64ce31d3afff059b6ba93b5c692216255242
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 22:30:05 2010 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100482 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5a4f48159a1c1d93292e2b2f23e259429a7ecc5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 22:21:09 2010 +0000

    Fix ADD32rr_alt instruction encoding bug. Patch by Marius Wachtler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100480 91177308-0d34-0410-b5e6-96231b3b80d8

commit be8a1cbca972aa20cf28dae0a1714a2592b99bce
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 22:14:48 2010 +0000

    fix a really nasty bug that Evan was tracking in SCCP.  When resolving
    undefs in branches/switches, we have two cases: a branch on a literal
    undef or a branch on a symbolic value which is undef.  If we have a
    literal undef, the code was correct: forcing it to a constant is the
    right thing to do.

    If we have a branch on a symbolic value that is undef, we should force
    the symbolic value to a constant, which then makes the successor block
    live.  Forcing the condition of the branch to being a constant isn't
    safe if later paths become live and the value becomes overdefined.  This
    is the case that 'forcedconstant' is designed to handle, so just use it.

    This fixes rdar://7765019 but there is no good testcase for this, the
    one I have is too insane to be useful in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100478 91177308-0d34-0410-b5e6-96231b3b80d8

commit cedf290078d95eb54e7a6a00853eceb68d041ca2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 21:18:32 2010 +0000

    some code cleanups, use SwitchInst::findCaseValue, reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06b6b8086f922ce967e1d8e510c18f18ed0de28e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 21:16:25 2010 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100467 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4c1794f249c16436b6b84d3ebba023e78909a8c
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Apr 5 21:14:32 2010 +0000

    Remove FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100466 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ff01584236db6742c34b5c9bd3e1ab9856d772d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Apr 5 21:09:22 2010 +0000

    Introduce MaybeOwningPtr, a smart pointer that may (or may not) have
    ownership over the pointer it contains. Useful when we want to
    communicate ownership while still having several clients holding on to
    the same pointer *without* introducing reference counting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100463 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7b4fea657554cf317c8b3f94c04c8d5c08c6d01
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Apr 5 21:09:12 2010 +0000

    Fix OProfileJITEventListener build for new DebugLoc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3415e9b5639e630126229cf390b1639ba6cda1b4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 5 20:24:08 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100459 91177308-0d34-0410-b5e6-96231b3b80d8

commit e89e17f5e8f7c08863aaf04b45b8aaae3c37eed3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 20:11:45 2010 +0000

    lowering a volatile llvm.memcpy to a libc memcpy is ok.
    PR6779

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0da8d2cd61bc0e0c538034e1f88aa1089dfe8165
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 5 19:17:22 2010 +0000

    Don't do code sinking on unreachable blocks. It's unprofitable and hazardous.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08c393288ee1dcf9e6f5e9b3e962ac1e587ed7c6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Apr 5 19:16:38 2010 +0000

    Add an isReachableFromEntry to MachineDominators, following the one
    in Dominators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 224ca2219a619d76e427aeb85e1620e6c1a099f1
Author: Tanya Lattner <tonic@nondot.org>
Date:   Mon Apr 5 18:35:37 2010 +0000

    Update to note that clang has a baseline now. Dropping x86-32 for MacOS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8678ca0e9031d9e3f2164c5e57569940ff2cac78
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 17:52:31 2010 +0000

    don't use emitlabel in the arm asm printer yet, the order
    isn't well specified.  ARM really needs to have its instprinter
    finished at some point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100439 91177308-0d34-0410-b5e6-96231b3b80d8

commit fde9648434b0e103952008debe896e7889553663
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Apr 5 17:50:20 2010 +0000

    Push const through the regex engine. Fixes some of the warnings in PR6616.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11f452af5358088c2aa202850df4dc5ce6458d4a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 16:32:14 2010 +0000

    fix a couple problems I introduced handling symbols
    with spaces in them.  Sym->getName()  !=   OS << *Sym

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a354e579dc38ec192442cee99eadd99859b4069
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Apr 5 10:17:15 2010 +0000

    Disambiguate else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100423 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0c063f42e0b076999a4ff512fc800eafac1f504
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 06:21:01 2010 +0000

    trim some prototypes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100420 91177308-0d34-0410-b5e6-96231b3b80d8

commit 097e49c881c2bad6cf0d1aa17eabefd179e6e587
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 06:19:28 2010 +0000

    remove the now-redundant MMI pointer in SelectionDAG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3acf80f9faa61476edf3453959dcab2f0a82444c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 06:12:01 2010 +0000

    hopefully sate the clang self host build, which is apparently
    instantiating some folding set stuff that GCC isn't, requiring
    some types to not be incomplete.

    I don't know if clang is right or wrong, but unbreaking the
    bot is goodness.  Here's the broken build:
    http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/1813/steps/compile.llvm.stage2/logs/stdio

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e851e483bdd5e57685a4c902c329c316328fb73
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 06:10:13 2010 +0000

    remove some redundant MMI arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 221d154eda6e3e7e71b08a946fc0c2aeed1271cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 06:05:26 2010 +0000

    unthread MMI from FastISel

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c906748699b24fea0c3159f3a3d8fed4d212877
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:57:52 2010 +0000

    remove the MMI pointer from MachineFrameInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64b7b99a18489c41aafc388ec3ba43b904b2e802
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:49:50 2010 +0000

    enhance MachineFunction to have a MMI pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c59a2f67d467e422f309b2a6a68ae757800a55d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Apr 5 05:48:47 2010 +0000

    Add MC and LTO, two terms I just had to explain on IRC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1936d14bd4fd6db5859c8bcd529e65767724b493
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:48:36 2010 +0000

    simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66dee7467b39d683efc888fb82006f2bee41a3a3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:43:16 2010 +0000

    prune #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 577f414fe6035f9ad9ff077801dc25691f931382
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:32:45 2010 +0000

    privatize more stuff, eliminate vtables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84ce8624b580107b1ce286d4aac4becfefc85ff0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:31:04 2010 +0000

    reprivatize now that DwarfWriter is gone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1748a0b23a373284db6faec0f82e27d127aa8340
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:28:23 2010 +0000

    prune #includes, MMI can never be null

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100408 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3398e65f2568369090f977d3240409fde50a5f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:24:55 2010 +0000

    prune #includes, realize the MMI can never be null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b820840a50f9fe7503b5a81803354738629b0ce
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:12:59 2010 +0000

    finally blast DwarfWriter away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38cdd4c93135562232c04180fb1858a01b561b25
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 05:11:15 2010 +0000

    change AsmPrinter to use DwarfDebug/DwarfException directly
    instead of going through DwarfWriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3da8c20e93d6396e33e1800eaa00b411428f2276
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 5 04:51:50 2010 +0000

    Get rid of traling whitespaces.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66ee0b94760de3e1351b9758937a88d4bb31f08e
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Apr 5 04:46:17 2010 +0000

    The disassembler impl. of MCDisassembler::getInstruction() was using the pattern
      uint32_t insn;
      MemoryObject.readBytes(Address, 4, (uint8_t*)&insn, NULL)

    to read 4 bytes of memory contents into a 32-bit uint variable.  This leaves the
    interpretation of byte order up to the host machine and causes PPC test cases of
    arm-tests, neon-tests, and thumb-tests to fail.  Fixed to use a byte array for
    reading the memory contents and shift the bytes into place for the 32-bit uint
    variable in the ARM case and 16-bit halfword in the Thumb case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01ea7798d10c9ffb7a1ecea685ec1e64090abc3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 04:44:02 2010 +0000

    implement EmitFunctionEntryLabel to emit the .cc_top directive,
    allowing xcore to use the normal runOnMachineFunction
    implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100402 91177308-0d34-0410-b5e6-96231b3b80d8

commit decb09af09312d9835887d31a8387da6bb38a60d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 04:11:11 2010 +0000

    don't reference DwarfWriter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c579ed6ffee8894c1503b43da4ca7ab630087e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 04:09:20 2010 +0000

    trim some spurious references to DwarfWriter.  SDIsel really doesn't
    need it anymore, so don't addRequire it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8

commit abbb77d0fff90d5dd7ef09718c336a7339109940
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 04:04:10 2010 +0000

    prune some #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100399 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8ab8a7370e14d6266001dab6b07c75ac7ca0db9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 03:52:55 2010 +0000

    eliminate DwarfDebug::shouldEmit, which is the same now as MMI::hasDebugInfo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100386 91177308-0d34-0410-b5e6-96231b3b80d8

commit 401b9a2571b95e2a881e41fd93c26b186fde2777
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 03:49:26 2010 +0000

    fix a regression on 2009-08-17-DebugInfo.m

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100385 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3c32087a4c7c888eeba9e207fbfd46351eae6e0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Apr 5 03:10:20 2010 +0000

    Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field.

    When a target instruction wants to set target-specific flags, it should simply
    set bits in the TSFlags bit vector defined in the Instruction TableGen class.

    This works well because TableGen resolves member references late:

    class I : Instruction {
      AddrMode AM = AddrModeNone;
      let TSFlags{3-0} = AM.Value;
    }

    let AM = AddrMode4 in
    def ADD : I;

    TSFlags gets the expected bits from AddrMode4 in this example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 658bed33a2acf5c4e757e04e974d6678ba79cf3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 02:23:33 2010 +0000

    selection dag doesn't need DwarfWriter, remove some tendrils.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100382 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2105a87cac11adb04b72eb3e5903cd4f224643a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 02:19:28 2010 +0000

    fastisel doesn't need DwarfWriter, remove some tendricles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8

commit b38ea79a48666db8162754b84fd137cc9de0084b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 01:57:50 2010 +0000

    Temporarily remove to disable building of ARM disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f108e70151faf070e424e6e492cdbbc8aa8b423
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 01:34:00 2010 +0000

    Re-apply 100265 but instead disable building of ARM disassembly for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ef1d1d917eeef9c9bb6ee39563803beffeb1e25
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Apr 5 01:04:27 2010 +0000

    Reverting 100265 to try to get buildbots green again. Lots of self-hosting buildbots started complaining since this commit. Also xfail ARM disassembly tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100378 91177308-0d34-0410-b5e6-96231b3b80d8

commit f15332a40149b5424430cb9adc0f1d5530f17aa7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:42:55 2010 +0000

    just have all targets create the DwarfWriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49c1d31257c72a714637450ed4ab92612f8d5f55
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:38:44 2010 +0000

    simplify various getAnalysisUsage implementations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100376 91177308-0d34-0410-b5e6-96231b3b80d8

commit f47f881a039f2064e1b48cc017b92f7ff44d6367
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:27:29 2010 +0000

    nuke DwarfPrinter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6092d46a2952540763afff63d8e1820b170f2a19
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:26:50 2010 +0000

    make DwarfException not inherit from DwarfPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100374 91177308-0d34-0410-b5e6-96231b3b80d8

commit d455929feb9425ee253eff19cc7beabc58308883
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:18:22 2010 +0000

    change SizeOf to take AsmPrinter instead of TargetData,
    simplifying a bunch of code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e003ddb79d1d508694fd28fce749fbdbae31cab
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Apr 5 00:13:49 2010 +0000

    1) make DIE take AsmPrinter instead of DwarfPrinter.
    2) change DwarfDebug to not inherit from DwarfPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d7a94f76b47b7f0bcc37b88f7acad53df4e00a9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:41:46 2010 +0000

    Move EmitFrameMoves into AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8539f04d42b7af29a83c01978257b6e1fa0f1bb0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:36:52 2010 +0000

    missed a header :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e37aa00fd4a2d0a2b23c9a4455a058ef0b788db
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:31:58 2010 +0000

    simplify code and reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 613d92ad3700cf789d9dafb05af9ffe3c2193df5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:25:33 2010 +0000

    now that the magic is dispelled, move EmitSectionOffset to AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100368 91177308-0d34-0410-b5e6-96231b3b80d8

commit bec76da01cfef92f59ec675d1b6bd7fda90589ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:22:29 2010 +0000

    eliminate the magic AbsoluteDebugSectionOffsets MAI hook,
    which is really a property of the section being referenced.
    Add a predicate to MCSection to replace it.

    Yay for reduction in magic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e6a5dac8b0583411f01ff3f869300bea6ef8e3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:17:54 2010 +0000

    only emit section labels if we have debug info, fixing a few
    regtest failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7edd715b4fbbca86b99118eb295724af506e173f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:10:38 2010 +0000

    I was wrong, ocaml isn't referencing 'Ldata_begin', so remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 781c04c3a36f5e048f2fb9dcae403ebbf6a62873
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:06:31 2010 +0000

    add some assertions to EmitSectionOffset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100364 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ffef9abd18670f030a6d12e7780c2584e8acd3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 23:02:02 2010 +0000

    stop emitting some dead L labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02bc2f6461e05a373a8264e25e4aa8f4170cddd3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 22:59:04 2010 +0000

    Store an use the symbols emitted at the start of the debug
    sections instead of magically rematerializing them later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100362 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd0d8bc7da0d75a2062d53026ff43a784dab353e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 22:33:59 2010 +0000

    remove the didInitial ivar, rename emitInitial to be more
    descriptive, change EmitSectionOffset back to taking a
    symbol instead of a string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 424162cf4ad1a0f1bf00841236f979f464aab077
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 22:25:14 2010 +0000

    simplify EmitSectionOffset a little bit, improve comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100360 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad5a42da4b3e19c8cfafd65ad8e6b628c191d5fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:49:31 2010 +0000

    revert my patch, need to reconsider this and figure out what is really going on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100358 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4664ee5c82865b4d4bf1839b45c04c774fee11b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:37:20 2010 +0000

    fix pasto, this is the wrong setting for arm elf.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100357 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35989e4fbd1a1594bc3e2d43df40db2b741ffb11
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:34:40 2010 +0000

    The "IsSmall" argument to EmitSectionOffset is always true,
    constant fold it away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5065a48f38dc9603a2037f1f0fa2e0b05b5fbf2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:31:54 2010 +0000

    eliminate the "isEH" argument to EmitSectionOffset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100355 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6bd3a4d9809355dfc3c60434b94aa1bce50f460
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:29:44 2010 +0000

    isAbsoluteEHSectionOffsets always returns false, eliminate it
    and substitute false at the one call site.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100354 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3bf1e4fc2a8d40844d06896ce48c8037308067f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Apr 4 21:27:26 2010 +0000

    Clean up SSEDomainFix pass.

    Restrict bit mask operations to the DomainValue class. Rename methods for
    clarity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bed985168024320be332856dc2b4059def890c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 21:06:50 2010 +0000

    don't reset the default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100352 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6d44f33ea57469991d1e60bd63ce64959e228cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 20:20:50 2010 +0000

    move some more stuff to asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f248b8d73a95d47e9813d4c064efe8cb7a92b95
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 20:10:41 2010 +0000

    simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91a71357698c7fa0be58a3c5c9404b5e9157fbd5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 20:04:21 2010 +0000

    move EmitEncodingByte to AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b1e373f5162bee7d70c5a91266512be39e34a59
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 20:01:25 2010 +0000

    move EmitCFAByte to AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 600f97b1f98da73ce3185f262d33c5d1ff987b5b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 19:58:12 2010 +0000

    inline EmitDifference away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100347 91177308-0d34-0410-b5e6-96231b3b80d8

commit df5a4968daa3eee2e33c69696e86859258c5c91c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 19:28:59 2010 +0000

    resolve a fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87b6801d37411cbb528cec3dacfe1ae90d221bd2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 19:25:43 2010 +0000

    move gettemplabel and getdwlabel to AsmPrinter and rename
    them for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 181e619371d01da074367dcb8cd904d62094eaf4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 19:09:29 2010 +0000

    move uleb/sleb printing into AsmPrinter from DwarfPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8

commit c553579de3b2a36e8f7dcf060e436d96a5ce3f5b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:58:53 2010 +0000

    more interface cleanup make some helpers static functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100343 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc0ffb3339d358e78d69c079baef8fde04c85ad8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:52:31 2010 +0000

    clean up the asmprinter header and privatize some stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100342 91177308-0d34-0410-b5e6-96231b3b80d8

commit aca7362398f335bc5e43e3d614775adb8eb5600c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:42:18 2010 +0000

    use stringref instead of strtol to avoid errno gymnastics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100341 91177308-0d34-0410-b5e6-96231b3b80d8

commit bab1ff91755da67d56e172dc54bb90ac3de2d8d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:34:07 2010 +0000

    split inline asm support out to its own .cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96f70f2f80ef79cbddda774c819622661e711895
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:18:51 2010 +0000

    inline processDebugLoc and simplify it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0f32d556052021a54789ee6d417fac003ae22cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:16:38 2010 +0000

    minor tidying.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100338 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8564bc22ff564f9a37c2fe3df256e3d1ed22a71
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:14:01 2010 +0000

    clean up the asmprinter interface a bit, rename a few
    "Print" methods to "Emit".  Emit is something that goes
    to an mc streamer, Print is something that goes to a
    raw_ostream (for inline asm)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08a1f328f42f30826fd0ef813e3b7db6b78e5366
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 18:06:11 2010 +0000

    remove TargetMachine.h #include, also, TRI isn't used frequently
    enough to warrant caching in AsmPrinter, so remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100336 91177308-0d34-0410-b5e6-96231b3b80d8

commit b90b1779601c738ecffb1ed13e16e4a44b074db0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Apr 4 18:00:21 2010 +0000

    Switch SSEDomainFix to SpecificBumpPtrAllocator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55a6c0facaa5fe0319159ea15dae998faa155e0f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 17:57:56 2010 +0000

    lazily allocate the GCMetadataPrinters map and remove DenseMap
    from the AsmPrinter interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59d06a3a4dd8f19189ece1ad080fd5be220fae04
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Sun Apr 4 10:31:49 2010 +0000

    CurFn is only used for relocations. Use EmissionDetails.MF->getFunction() instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100328 91177308-0d34-0410-b5e6-96231b3b80d8

commit a96f2f80a7435a28681806810341212ebec2d53c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 08:18:47 2010 +0000

    Momentous day: remove the "O" member from AsmPrinter.  Now all
    "asm printering" happens through MCStreamer.  This also
    Streamerizes PIC16 debug info, which escaped my attention.

    This removes a leak from LLVMTargetMachine of the 'legacy'
    output stream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100327 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd7d87165dca8e43074d399c8faebf3bb77fc919
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:50:12 2010 +0000

    now that all operand printing happens to specified streams, we can
    print function level inline asm with EmitInlineAsm instead of writing
    it directly to "O".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8979fd0b0bca06a1324277ee3f57a13a9146d0cd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:48:20 2010 +0000

    remove the raw_ostream from various dwarf printing things.

    The only thing left is LEB printing, which uses EmitRawText
    for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8

commit b988a422ffec19a826b4249a7f69f8528e3c3f3a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:39:04 2010 +0000

    mcize the gc metadata printing stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ab905f89d55f174a4d33f3a3e20c8d0c186b351
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:25:52 2010 +0000

    use EmitRawText instead of O in DwarfPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a7a69bd5a8528173ef72a36317732efb161e5d3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:23:00 2010 +0000

    mc'ize the remaining uses of O.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c8564c141a5b2f76f17d9c2fa0c76ac00a04acd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:17:25 2010 +0000

    finish eliminating uses of O.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0262f8823cb7a739f3a2184b819579f8c9a906f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:12:28 2010 +0000

    mcize more of ppc stub printing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100320 91177308-0d34-0410-b5e6-96231b3b80d8

commit d073ac291d26d26161738944f97be44db6d82d22
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 07:05:53 2010 +0000

    mcize a bunch more stuff, using EmitRawText for things we
    don't have mcstreamer support for yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13df715c3542c420408b42b377e6c81a299d1016
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 06:12:20 2010 +0000

    convert the non-MCInstPrinter'ized EmitInstruction
    implementations to use EmitRawText instead of writing
    directly to "O".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 349eb87d618378128799c5af697762131bcfe011
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:53:03 2010 +0000

    streamerize the rest of PIC16 asm printer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61dfd0c1466186c44b7df00d0d4400d139502166
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:40:34 2010 +0000

    streamerize printing of dbg_value, the x86 backend is now fully
    streamerized for everything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100316 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2de4c148d3902a64f939fe191f6f663caff84b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:38:19 2010 +0000

    split DEBUG_VALUE printing stuff out to its own method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100315 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ad01e95f20edbab7fe217f18159e3392b348baa
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:35:04 2010 +0000

    mc'ize elf stub printing, convert cygwin stuff to EmitRawText,
    which will abort in .o file writing mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b5a1222e4a37efec8e05e41e79a2dc91a21d8f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:29:35 2010 +0000

    fix PrintAsmOperand and PrintAsmMemoryOperand to pass down
    raw_ostream to print to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c7e39a7bd195badf6631f20c02c00090862b598
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:21:31 2010 +0000

    use predicates in DBG_VALUE printing code to simplify it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100312 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb5a2802cbf8e4ec4833e6fb74d5059857851638
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:19:20 2010 +0000

    remove more implicit uses of "O".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100311 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4a41036c24f38f2edcfaf41cae32cb33dde19bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:09:10 2010 +0000

    change this back too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b053b2fa1f64f942fd743ac3c36e3f83357cfc1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:08:10 2010 +0000

    check in what I tested. :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100309 91177308-0d34-0410-b5e6-96231b3b80d8

commit c05b829c427c3ea3f5fb30d56e4ff5d3bc44b73f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:07:45 2010 +0000

    MMI is always available, rename O -> OS in printInlineAsm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100308 91177308-0d34-0410-b5e6-96231b3b80d8

commit 753857b4cf4a1c3221daa3af826ce17150b4fd5f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 05:04:31 2010 +0000

    fix an ugly wart in the MCInstPrinter api where the
    raw_ostream to print an instruction to had to be specified
    at MCInstPrinter construction time instead of being able
    to pick at each call to printInstruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100307 91177308-0d34-0410-b5e6-96231b3b80d8

commit eecac9a5bfc0fd1203f57825817c03c3b86f7284
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Apr 4 04:47:45 2010 +0000

    change a ton of code to not implicitly use the "O" raw_ostream
    member of AsmPrinter.  Instead, pass it in explicitly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100306 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9190cae5047baa8da80831efa2803299f76d1a6
Author: Mon P Wang <wangmp@apple.com>
Date:   Sun Apr 4 03:10:48 2010 +0000

    Reapply address space patch after fixing an issue in MemCopyOptimizer.
    Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
    e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100304 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8e2b5306d31df546a619f0d03e4352302aa29bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 22:28:33 2010 +0000

    asmstreamerize the .size directive for function bodies, force clients
    of printOffset to pass in a stream to print to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100296 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba2a2583bb3688ca35d21ff175e5e08ebc96eef7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 22:19:41 2010 +0000

    emit the cygwin stub thing through mcstreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35642a4ea13d08bbb7241d0a8b038a0c39ad489f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 22:12:35 2010 +0000

    add a twine form of MCStreamer::EmitRawText, and mc'ize
    a few more things in AsmPrinter.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 264b85495b69901645c5edcff8b0841eeaa7e4c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 22:06:56 2010 +0000

    allow attaching comments to raw text.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 038ae53c0bf9290ef226a6777698cd2be963a9ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 22:01:50 2010 +0000

    start moving towards emitting inline asm statements with
    EmitInlineAsm.  However, this attempt is foiled by operands
    being emitted directly to "O" so I'll have to do some surgery
    and finish MCizing the world.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cee8a7a43f827e878f690a93bfe0280b0d40c6f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 21:48:59 2010 +0000

    add <cstdlib> header for abort() on linux builders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9329f9f8e4e2fe2a81a97267e5f807299a17e32c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 21:35:55 2010 +0000

    add a new EmitInlineAsm function to asmprinter to handle inline asm.
    If we have an MCAsmStreamer, we continue to emit asm textually,
    otherwise we (currently) emit an error to errs and ignore it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100289 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbb7ff00d03c4a4eab3b22fd7d32dc175e64a631
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 21:13:18 2010 +0000

    mc'ize comment printing around file scope inline asm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f7b595b75ca44b46c883fefadd728010f2b91ff
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 21:03:50 2010 +0000

    remove some extraneous casts

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fd045878aef9a7a527a561e57cff0f54cdb20ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 07:21:39 2010 +0000

    require that the branch being controlled by the IV
    exits the loop.  With this information we can guarantee
    the iteration count of the loop is bounded by the
    compare.  I think this xforms is finally safe now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100285 91177308-0d34-0410-b5e6-96231b3b80d8

commit d20adb127cce4fbd4256363a38983fe744b92933
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 07:18:48 2010 +0000

    add integer overflow check for the fp induction variable
    checker.  Amusingly, we already had tests that we should
    have rejects because they would be miscompiled in the
    testsuite.

    The remaining issue with this is that we don't check that
    the branch causes us to exit the loop if it fails, so we
    don't actually know if we remain in bounds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c945a716abe7f6c41807d991dafd69a43595ac2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:41:49 2010 +0000

    add a comment and fix some consistency issues, converting
    to a signed vs unsigned value depending on the sign of the
    constant fp means that we can't distinguish between a
    truly negative number and a positive number so large the
    32nd bit is set.  So, do don't this!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27f8d68bc9d803b736703ef20a9f1841a63cf402
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:30:03 2010 +0000

    fix PR6761, a miscompilation due to the fp->int IV conversion
    stuff.  More bugs remain though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100282 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3f8e6d07d35edde9bb42effd57f2f4354cf6b57
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:27:56 2010 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22a7fa8b214d4a010e011eae5220f291acb7eb58
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:25:21 2010 +0000

    just eliminate the uitofp checks.  This code isn't doing
    the required validity checks in the first place, and supporting
    a condition large enough to require the 32'nd bit isn't worth it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100280 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba3ea5816012a9a4cdd09eb76ed0b32ac4908fd7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:24:28 2010 +0000

    rename feature test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26e87998d0d68fb0f8ba710c3929e2a290f73c76
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:24:03 2010 +0000

    actually just remove this, will move the real feature test here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100278 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4cdf61202fd059b167ac029c6b937762f0eaa20
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:22:52 2010 +0000

    rename test since it is a feature test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100277 91177308-0d34-0410-b5e6-96231b3b80d8

commit 631bf43ef8c6f5a2538bc79560d3323fe53542c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:17:08 2010 +0000

    rename PH -> PN to be consistent with WeakPN and the rest
    of llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b71a8e5ee3a033a10d3cb69a330961406f424c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:16:22 2010 +0000

    improve comment and drop a dead check.  If PH had
    no uses, it would have been deleted by
    RecursivelyDeleteTriviallyDeadInstructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100275 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee8ea1a3ad660741a5608804c9b47a7988fd94ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:13:12 2010 +0000

    strength reduce a ridiculous use of APInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c426ad12b71d4c718f779bb8c209a70aefa56c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:11:07 2010 +0000

    rename stuff improve comment grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100273 91177308-0d34-0410-b5e6-96231b3b80d8

commit d62f4e0498c7da5b84d20ca1ab3e32975eb9111e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:06:59 2010 +0000

    simplify some code and resolve a fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43250b834634a302610edf0f7e57ce17879f0f0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 06:05:10 2010 +0000

    There is no guarantee that the increment and the branch
    are in the same block.  Insert the new increment in the
    correct location.

    Also, more cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 423a7d8a78e3b93ab810cac731a98da27a2597d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 05:54:59 2010 +0000

    first half of a pass through IndVarSimplify::HandleFloatingPointIV,
    this cleans up a bunch of code and also fixes several crashes and
    miscompiles.  More to come unfortunately, this optimization
    is quite broken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100270 91177308-0d34-0410-b5e6-96231b3b80d8

commit c75d38c56a4c27b9f1813e87c0264ea49f4f91f6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 05:24:50 2010 +0000

    don't internalize available_externally functions, they are
    really just declarations.  This is related to PR6524

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100269 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc3d641525f0f884cc0f48e4ea17380b03ac180a
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sat Apr 3 04:45:24 2010 +0000

    Fix a warning in GCC about a pointless typedef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 379a559f25325bda03cf56846b6603627d156c6e
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sat Apr 3 04:36:43 2010 +0000

    Add the new ARMDecodeEmitter to CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43b28faf2defc3c3aefa597669d2f1c4a6318ba6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Apr 3 04:10:56 2010 +0000

    Get rid of the middleman (ARMAlgorithm), which causes more trouble than the
    abstraction it brings.  And also get rid of the atexit() handler, it does not
    belong in the lib directory. :-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100265 91177308-0d34-0410-b5e6-96231b3b80d8

commit f64baccd65e9cf218e0cb20c65b7cbd1e71acc11
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Apr 3 03:50:38 2010 +0000

    Revert all my SSAUpdater patches.  The PHI placement algorithm is not correct
    (what was I thinking?) and there's also a problem with LCSSA.  I'll try again
    later with fixes.

    --- Reverse-merging r100263 into '.':
    U    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100177 into '.':
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100148 into '.':
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100147 into '.':
    U    include/llvm/Transforms/Utils/SSAUpdater.h
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100131 into '.':
    G    include/llvm/Transforms/Utils/SSAUpdater.h
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100130 into '.':
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100126 into '.':
    G    include/llvm/Transforms/Utils/SSAUpdater.h
    G    lib/Transforms/Utils/SSAUpdater.cpp
    --- Reverse-merging r100050 into '.':
    D    test/Transforms/GVN/2010-03-31-RedundantPHIs.ll
    --- Reverse-merging r100047 into '.':
    G    include/llvm/Transforms/Utils/SSAUpdater.h
    G    lib/Transforms/Utils/SSAUpdater.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1caa929620ff1b980c1446cb08dbb9fd333892f1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Apr 3 03:28:44 2010 +0000

    Add a DEBUG_TYPE for the SSAUpdater.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100263 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1408dae65887b4bccfe9bf5747da6b14920db96
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Apr 3 02:23:43 2010 +0000

    Code refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100262 91177308-0d34-0410-b5e6-96231b3b80d8

commit f151fe5110fd148de9c9077c84418ed220d476d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 02:17:50 2010 +0000

    Add special case bitcode support for DebugLoc.  This avoids
    having the bitcode writer materialize mdnodes for all the
    debug location tuples when writing out the bc file and
    stores the information in a more compact form.  For example,
    the -O0 -g bc file for combine.c in 176.gcc shrinks from
    739392 to 512096 bytes.

    This concludes my planned short-term debug info work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100261 91177308-0d34-0410-b5e6-96231b3b80d8

commit e267af292d5b9b3b1b4758207479705f260308eb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Apr 3 02:00:03 2010 +0000

    Pass -shared to the linker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ee5528c5234d12327d446565cad371db28c57d6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Apr 3 01:17:30 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100259 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9515824c6f9df79bded29118060a0d2e3b26f41
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Apr 3 01:09:47 2010 +0000

    Register ARMAlgorithm::DoCleanup() to be called on exit to free the memory
    occuplied by the cached ARMAlgorithm objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53b1a0b90ffb691a41694d3df910c02e76752e91
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Apr 3 01:05:24 2010 +0000

    add a couple missing enum names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 677f815c1d37530fed6e3aaedf515d0587b016a8
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 2 23:48:33 2010 +0000

    Rewrite aesimc handling.  It only takes a single input and has a single
    dest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100252 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbc64295cc72e3a6d555f4b3540dd3100b3ba8b3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 2 23:43:38 2010 +0000

    Fix another build warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fffba4ccc5119c27218d991c6f99d0981542ce8
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 2 23:29:36 2010 +0000

    Fix typo aeskeygenassist -> aeskeygenassist128.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100250 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff128694c9397bcd58c3f6e6d4570ad0ef44ac18
Author: David Greene <greened@obbligato.org>
Date:   Fri Apr 2 23:17:14 2010 +0000

    Ok, third time's the charm.  No changes from last time except the CMake
    source addition.  Apparently the buildbots were wrong about failures.

    ---

    Add some switches helpful for debugging:

    -print-before=<Pass Name>

    Dump IR before running pass <Pass Name>.

    -print-before-all

    Dump IR before running each pass.

    -print-after-all

    Dump IR after running each pass.

    These are helpful when tracking down a miscompilation.  It is easy to
    get IR dumps and do diffs on them, etc.

    To make this work well, add a new getPrinterPass API to Pass so that
    each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
    suitable for dumping out the kind of object the Pass works on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100249 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4293612696357277ea12ff55d735120e890e6a2
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 2 23:13:52 2010 +0000

    Move variable "Bits" declaration/definition into the DEBUG block where its usage
    is expected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c1debea05f17802888be286206c4b4090666ca3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 2 22:51:04 2010 +0000

    Fixed build warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100244 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b2edbdea93d7456b222a0083f18acd2eaff37d3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 2 22:41:06 2010 +0000

    Change from .../Support/DataTypes.h to .../System/DataTypes.h.
    (Fix build failure)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b8b7d66f685b1a3083fdc579fc6f731584fb82b
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Apr 2 22:27:38 2010 +0000

    Second try of initial ARM/Thumb disassembler check-in.  It consists of a tablgen
    backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb,
    and the disassembler core which invokes the decoder function and builds up the
    MCInst based on the decoded Opcode.

    Reviewed by Chris Latter and Bob Wilson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96051c0b43ae509a3e89175b22520d1b47c42e3f
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 2 22:27:05 2010 +0000

    Added support for reporting operand token ranges
    to the ARM AsmParser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100232 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1e70313bcfa30516beca6a542cafa1b68788d5c
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 2 21:54:27 2010 +0000

    Separate out the AES-NI instructions from the SSE4.2 instructions.  Add
    a new subtarget option for AES and check for the support.  Add "westmere"
    line of processors and add AES-NI support to the core i7.

    Add a couple of TODOs for information I couldn't verify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 685982aca46bea75f9847ebaca7c85a8e313f9a5
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Apr 2 21:49:27 2010 +0000

    Skip debug info when looking for existing EH calls at the
    beginning of a block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c5dec507808f9ce8214df607ee412de47982598
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 2 21:23:51 2010 +0000

    Fixes to the X86 disassembler.  The disassembler will now
    return an error status in all failure cases, printing
    messages to debugs() only when debugging is enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34fc05317fa60d35639b7443585eaa1d0726d95b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 2 20:47:05 2010 +0000

    Fix anachronism.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27366d4fd31d34b9335dc3f571f4f9064ede52f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:44:29 2010 +0000

    DebugInfoFinder::processModule was foiling my plot by
    materializing an MDNode for every debugloc.  don't do that! :)

    "clang -g -S t.c" really no longer makes mdnodes for location
    tuples now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0569632693ab77e69b2c6b751b926aea73ea7d41
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:36:25 2010 +0000

    fix the llvm-x86_64-linux buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 533687635b78c5f5018c4134fd357edeb464f528
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:26:36 2010 +0000

    remove empty file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100222 91177308-0d34-0410-b5e6-96231b3b80d8

commit d02728e4a82bbc9018eb88bd60941552b9aab32a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:26:07 2010 +0000

    remove compatibility typedef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100221 91177308-0d34-0410-b5e6-96231b3b80d8

commit db9a67876cb99b2b1d67cb379252cac6d4cace8d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:21:22 2010 +0000

    rename NewDebugLoc -> DebugLoc, prune #includes in DebugLoc.h.

    This keeps around temporary typedef for clang/llvm-gcc so the
    build won't break when I commit this :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100218 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5e88e778d0f5c42977216b08059f7d476e64645
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:20:41 2010 +0000

    remove uses of DebugLoc::getUnknownLoc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100217 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1f4d91ee9d3a67f07d9cb22c788f60c667b111f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:20:04 2010 +0000

    include densemap.h explicitly and rearrange #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 819163a39e9b3922dad79b489db6c6fdfea21b87
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:17:23 2010 +0000

    stop using DebugLoc::getUnknownLoc()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 332764e5e224d6e65dd71a13f97eb6f45a1a2f14
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 20:16:16 2010 +0000

    use DebugLoc default ctor instead of DebugLoc::getUnknownLoc()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100214 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddfae79e0421d079ee616d283ff65e59c581b948
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Apr 2 19:42:39 2010 +0000

    Switch the code generator (except the JIT) onto the new DebugLoc
    representation.  This eliminates the 'DILocation' MDNodes for
    file/line/col tuples from -O0 -g codegen.

    This remove the old DebugLoc class, making it a typedef for DebugLoc,
    I'll rename NewDebugLoc next.

    I didn't update the JIT to use the new apis, so it will continue to
    work, but be as slow as before.  Someone should eventually do this
    or, better yet, rip out the JIT debug info stuff and build the JIT
    on top of MC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6644e742802de990e46411a8bbcf530ec5505333
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 2 19:36:14 2010 +0000

    Correctly lower memset / memcpy of undef. It should be a nop. PR6767.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a07f164871e3a0b26282a299aed1a4d1f7a68b4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 2 19:29:15 2010 +0000

    Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 279912883987e086a30672eb714987ba2de12443
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Apr 2 19:09:51 2010 +0000

    Update CMake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100206 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebb712ee562ceb72e9d5e4522f67bf77df5512f6
Author: David Greene <greened@obbligato.org>
Date:   Fri Apr 2 18:46:26 2010 +0000

    Let's try this again.  Re-apply 100143 including an apparent missing
    <string> include.  For some reason the buildbot choked on this while my
    builds did not.  It's probably due to a difference in system headers.

    ---

    Add some switches helpful for debugging:

    -print-before=<Pass Name>

    Dump IR before running pass <Pass Name>.

    -print-before-all

    Dump IR before running each pass.

    -print-after-all

    Dump IR after running each pass.

    These are helpful when tracking down a miscompilation.  It is easy to
    get IR dumps and do diffs on them, etc.

    To make this work well, add a new getPrinterPass API to Pass so that
    each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
    suitable for dumping out the kind of object the Pass works on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f824ca71706102f8a1834ff7e5a6fb2ed2b6859
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Apr 2 18:43:02 2010 +0000

    Revert r100191 since it breaks objc in clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bc466443249b8fecefa3e50babcf34129208614
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Apr 2 18:04:15 2010 +0000

    Reapply address space patch after fixing an issue in MemCopyOptimizer.
    Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
    e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100191 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb677037b94dbb17456fc5fd092e88bae5739dad
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 14:57:49 2010 +0000

    Add an explicit keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100187 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdbcb478960d1afaf79c8c5af19fecbfb58bc349
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 14:48:31 2010 +0000

    Manually notify ScalarEvolution before making an operand replacement, since
    it can't currently observe such changes automatically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 136d3bf40b529848981ff0eb199df70c42e47e79
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Apr 2 13:20:51 2010 +0000

    Fix SpecificBumpPtrAllocator iteration.

    Need to start from (char*)(Slab+1), and not from (char*)Slab+1.
    This fixes crashes in Win64 debug mode.
    Thanks to Nicolas Capens!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fbd05d72af6dc450dbec94de7750c122ea1a232
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Apr 2 09:23:15 2010 +0000

    Add notes about dragonegg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0580ec6ff7fd3ec21e2a186f4205059039a22dc8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 2 05:09:46 2010 +0000

    Recommit 100158 now that the buildbots are happy again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34e6bca6dcc3dab231eb6a1e4d2f280ce4c0f976
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Apr 2 04:32:37 2010 +0000

    Remove FIXME - if there's a better way to do this it isn't here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 370ca398ded03f9854ddc99278071d12385112f8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 03:04:37 2010 +0000

    Revert the recent alignment changes. They're broken for -Os because,
    in particular, they end up aligning strings at 16-byte boundaries, and
    there's no way for GlobalOpt to check OptForSize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c2a1fbf4ca66b8fba075d18a74401d58bb867c4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Apr 2 02:21:24 2010 +0000

    After trivial coalescing, the MI being visited may have become a copy. Avoid adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted.
    rdar://7819990

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01896c67c15a0c349778ca86ac8b94012f03c709
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Apr 2 01:38:09 2010 +0000

    Teach AnalyzeBranch, RemoveBranch and the branch
    folder to be tolerant of debug info following the
    branch(es) at the end of a block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66f99304a63d49dcbbd9c95e241d476bda4b1bed
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Fri Apr 2 01:31:24 2010 +0000

    Disambiguate conditional expression for newer GCCs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 995d6828ae1ebba3c12a5ca1d8dc0d3fe189afd4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 01:26:13 2010 +0000

    Remove this initializer so that the optimizer doesn't convert
    unaligned loads into aligned loads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100166 91177308-0d34-0410-b5e6-96231b3b80d8

commit be02fea0a40799724d74785e19e3973fbb268461
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 01:24:08 2010 +0000

    Update this test for the new preferred alignment heuristics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100165 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2474112b8070e5f44baf2dd285896745fc19f34b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 2 01:22:49 2010 +0000

    Revert 100158 in case it is causing some of the buildbot problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cd0d290731cd112536fb00bdea48dffb2f4bfee
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Apr 2 00:53:42 2010 +0000

    Updated the install location for EnhancedDisassembly
    on Mac OS X to use @rpath rather than an absolute
    path.  Also allowed the version to be set using an
    environment variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 599d5a99a914b659a222fe2c03819d97a543b534
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 00:46:07 2010 +0000

    Change variables which are exactly 16 bytes to be 16-byte-aligned too.
    This fixes test/Transforms/GlobalOpt/gv-align.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100161 91177308-0d34-0410-b5e6-96231b3b80d8

commit c46aabaadd96ce1c768d88f5c7990b8f479f336f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 00:14:16 2010 +0000

    Make globalopt refine global variable alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100160 91177308-0d34-0410-b5e6-96231b3b80d8

commit addf09d0fa38e556f8410982cdf13b5dde10e303
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Apr 2 00:10:41 2010 +0000

    Check for terminating conditions before adding PHIs to the worklists.
    This is more efficient than adding them to the worklist and then ignoring them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100158 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea17f1981ecdd6bee25fd63cdcb45647402c4c4d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Apr 2 00:08:26 2010 +0000

    remove these merge-tracking properties as they
    might interfere with merges to other branches (as Dan pointed out)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100157 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9ab20b39a423576c35323775c43b9fb59a770a6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Apr 2 00:03:51 2010 +0000

    If the bitcode reader input stream isn't a multiple of 4 bytes, it's more
    likely not a bitcode file at all, rather than being a bitcode file which
    is truncated. Check for this case and issue a more relevant error message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90db96f916ed9eceec4a99717920e2e2cefaa28a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 1 23:06:38 2010 +0000

    Remove trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100148 91177308-0d34-0410-b5e6-96231b3b80d8

commit d03b87e3c34b5e812b5d021ffb6d21965c60da80
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 1 23:05:58 2010 +0000

    Rewrite another SSAUpdater function to avoid recursion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32909df3eca9d0c80467fa73cc0f4209ce6b609d
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Apr 1 22:54:42 2010 +0000

    Revert r100143.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dec59c83819aae026afdad2cd53dc7f51e1909a
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 1 22:47:29 2010 +0000

    Revert r100117.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100145 91177308-0d34-0410-b5e6-96231b3b80d8

commit a29c9c0037826eee67550a9d5bfea064d284b122
Author: David Greene <greened@obbligato.org>
Date:   Thu Apr 1 22:43:57 2010 +0000

    Add some switches helpful for debugging:

    -print-before=<Pass Name>

    Dump IR before running pass <Pass Name>.

    -print-before-all

    Dump IR before running each pass.

    -print-after-all

    Dump IR after running each pass.

    These are helpful when tracking down a miscompilation.  It is easy to
    get IR dumps and do diffs on them, etc.

    To make this work well, add a new getPrinterPass API to Pass so that
    each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
    suitable for dumping out the kind of object the Pass works on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100143 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd6248b319846a9ea56c0bdb7a6b7760f008c5ee
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 20:27:45 2010 +0000

    In 64-bit mode, use i64 to lower memcpy / memset instead of f64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33518be1f318bb2f1d764619998218840c5c257d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 1 20:22:44 2010 +0000

    Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100134 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1882e8dfc72627a1b7b76e209034c4b0cc1be1b8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 20:13:28 2010 +0000

    Skip checking preferred alignment of GVs defined in other translation units all together.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100133 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9555b9450c30d60481a6dda37c1a5188ab67f71
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 20:10:42 2010 +0000

    Add comments about DstAlign and SrcAlign.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b9bf9685a156099a656205ebbbcf6a05d89f568
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 1 20:04:30 2010 +0000

    Change another SSAUpdater function to avoid recursion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c85e7acb5145c75e0147960a7213ab21670e599
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 1 19:53:48 2010 +0000

    Simplify the code to check for existing PHIs, now that it is only used in
    one place.  This removes the template function added in svn 94690.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dee8d0336fd323ef592198afc76750bc91bb4a9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Apr 1 18:46:59 2010 +0000

    The SSAUpdater should avoid recursive traversals of the CFG, since that may
    blow out the stack for really big functions.  Start by fixing an easy case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100126 91177308-0d34-0410-b5e6-96231b3b80d8

commit d393b405a7d45ddd1f7921593ee784820719876d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 18:19:11 2010 +0000

    - Avoid using floating point stores to implement memset unless the value is zero.
    - Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100118 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0b0a23fa59c87348ecc0169f5d6db03949ede66
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 1 17:32:01 2010 +0000

    Skip instructions until new scope is seen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f52c8a68abd98d6172e2c77bed628c00bddfb43
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Apr 1 17:16:48 2010 +0000

    Cosmetic changes.
    Update comment, rename a local variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100116 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc8af06ef002572a15e7566f8dbc5a01e9765cf9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 1 14:39:55 2010 +0000

    Remove accidental include and add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a3b91cb0179559a9a14e77a974eb06c674cbbe8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Apr 1 14:35:22 2010 +0000

    Various improvements to MemoryBuffer::getFile:

    - Use a RAII object to close the FD.
    - Use sys::StrError instead of thread-unsafe strerror calls.
    - Recover gracefully if read returns zero. This works around an issue on
      DragonFlyBSD where /dev/null has an st_size of 136 but we can't read 136 bytes
      from it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f0d44484eee99a4cde5715c50ae43df98a1cf31
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 08:25:26 2010 +0000

    Add -mcpu to memcpy / memset tests to ensure they behave the same on all hosts / targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37942ef7502b5f1eccab52164868b16df962f295
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Apr 1 08:21:08 2010 +0000

    Introduce ImmutableCallSite, useful for contexts where no mutation
    is necessary. Inherits from new templated baseclass CallSiteBase<>
    which is highly customizable. Base CallSite on it too, in a configuration
    that allows full mutation.
    Adapt some call sites in analyses to employ ImmutableCallSite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79dd15b3dd95274b4c3660630cdd94bd47be5501
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Apr 1 07:34:00 2010 +0000

    Clean up this file a little, no functionality change. This is a subset of my
    patch back in r94322.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 088429a660133e7231b5cb04883daa7fba72d01a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 06:31:45 2010 +0000

    switch IRBuilder to use NewDebugLoc for locations instead
    of raw mdnodes.  This allows frontends to specify debug
    locations without ever creating an MDNode for the DILocation.

    This requires a corresponding clang/llvm-gcc change which
    I'll try to commit as simultaneously as possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100095 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc52a05dd9d4341a4692bca575324fe300d6e54b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 06:29:56 2010 +0000

    add comments, don't require inlined-at to be specified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100092 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbc5e8514b08c588e325dd210b42c9dc3eae963c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 06:04:33 2010 +0000

    Fix sdisel memcpy, memset, memmove lowering:
    1. Makes it possible to lower with floating point loads and stores.
    2. Avoid unaligned loads / stores unless it's fast.
    3. Fix some memcpy lowering logic bug related to when to optimize a
       load from constant string into a constant.
    4. Adjust x86 memcpy lowering threshold to make it more sane.
    5. Fix x86 target hook so it uses vector and floating point memory
       ops more effectively.
    rdar://7774704

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100090 91177308-0d34-0410-b5e6-96231b3b80d8

commit b294915298e2cf27adbac0c99f4eac00c2580c17
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Apr 1 05:58:17 2010 +0000

    Nehalem unaligned memory access is fast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100089 91177308-0d34-0410-b5e6-96231b3b80d8

commit f43f8344241a5ab84dc33178e378aad7a05d921b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 05:23:13 2010 +0000

    Switch the representation of the location in instruction from
    being a TrackingVH<MDNode> to a NewDebugLoc, shrinking
    sizeof(Instruction) a lot, and providing clients the ability
    to deal with locations in terms of NewDebugLoc instead of
    having to deal with Metadata.  This is still fully compatible
    with all clients that *do* use MDNodes for everything of
    course.

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100088 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf3f9286cdda989b1f9fbb8def6bde558632825d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 05:20:21 2010 +0000

    include header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 911757689e6a8ed5a86122f55e2dbdd758349d72
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 05:14:45 2010 +0000

    rewrite handling of forward ref'd instruction metadata
    to used deferred resolution instead of creating a temporary
    node + rauw.  There is no reason to create the temporary
    mdnode, then do rauw, then destroy it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52154d28f74b94aa11af9b8d2ea9f40e612b7fcc
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 05:13:10 2010 +0000

    change this from using '!dbg' to using '!dbgx'.  The
    MD used here isn't valid for !dbg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7458e28f82a91ab41c0c65bfa2235f6d9715a852
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 05:12:07 2010 +0000

    fix a bug in DebugRecVH::deleted/allUsesReplacedWith.  If an
    entry in the Scope+InlinedAt drops to a non-canonical form,
    we need to reset the idx member of both VH's to 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100084 91177308-0d34-0410-b5e6-96231b3b80d8

commit 747767670f4ea00f23fadb35814e620052ea74a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 04:53:22 2010 +0000

    no really, we don't need to copy strings around in the accessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 554797a731813b11f13b6e59b6283010b27a00ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 04:51:13 2010 +0000

    eliminate a temporary smallvector

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100082 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7baceb95d42001717942a6c9c07f08e4edbc52d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 03:55:42 2010 +0000

    add a method to decode a DILocation into a NewDebugLoc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e95d80fca45ed8060665750175ed4e857a9c645
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Apr 1 03:05:45 2010 +0000

    Add aeskeygenassist intrinsic and rename all of the aes intrinsics to
    aes instead of sse4.2.  Add a brief todo for a subtarget flag and rework
    the aeskeygenassist instruction to more closely match the docs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ce5d0f0c11ad0fd2e401e6952208a0a7a6bdfee
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Thu Apr 1 01:53:24 2010 +0000

    There are no known O'Caml problems at the moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100076 91177308-0d34-0410-b5e6-96231b3b80d8

commit e47177989b69198c91928d3ad39d27bead24de8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 01:02:19 2010 +0000

    update cmakefile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9473f9b5380c135541fc222208136588e10ea3b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Apr 1 00:37:44 2010 +0000

    Add a new "NewDebugLoc" class which will eventually replace DebugLoc,
    and will replace the 'DbgInfo' member in Instruction.

    The benefit of NewDebugLoc is that it is compact (8 bytes vs 12/24
    bytes for the DbgInfo member in Instruction on a 32/64 bit system),
    it means that we will end up not having to allocate MDNodes to
    represent the "DILocations" in common cases of -O0 -g, and it is
    much more efficient to get things out of than the MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 944c78cef782036bc9184dbdf7a7fd2c83945b82
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Apr 1 00:13:43 2010 +0000

    vml[as] are slow on 1136jf-s also.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100066 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5d36d916c60d7cb4af4e0ac7196904e9de6e278
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Apr 1 00:00:43 2010 +0000

    Reapply r100056. It doesn't look like it's the one that's causing a failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 683999f86073affd5203f090310deaa706abcad8
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Mar 31 23:51:55 2010 +0000

    Pass -m32/-m64 to assembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95d03180248990ff4062a6434145cce1253c647b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Mar 31 23:26:26 2010 +0000

    Revert r100056. It was causing a failure on MSVC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100062 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b879d5fbb63e1be0dccdf29c8791dc60763818
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Mar 31 23:08:46 2010 +0000

    Reverting 100048; it broke two Frontend debug info tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13bf23609c968386e618a35afc4538b647a2bcf4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Mar 31 22:54:38 2010 +0000

    Rewrite CorrectExtraCFGEdges() to make it more understandable.

    * Set the "DestA" and "DestB" according to how they're understood by the
      method. I.e., if one or both of them should point to the "fall through" block,
      then point to the fall through block.

    * Improve the loop that removes superfluous edges to be more understandable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f0c5972ec9712b3b16cb4f7242a445c5d0a392f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 31 21:38:43 2010 +0000

    Add a redundant PHI testcase for SSAUpdater to go with svn r100047.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100050 91177308-0d34-0410-b5e6-96231b3b80d8

commit e437f9eccbd0ac11830960fccebeb275cfbe856e
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Mar 31 21:10:54 2010 +0000

    Debug info can now properly represent functions inside classes inside other functions.  Partial fix for Radar 7424645.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18e73f1826f2aeec0bde8157923ab0ceb0969d7b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 31 20:51:00 2010 +0000

    Rewrite part of the SSAUpdater to be more careful about inserting redundant
    PHIs.  The previous algorithm was unable to reliably detect when existing
    PHIs in a cycle can be reused.  I'm still working on reducing a testcase.
    Radar 7711900.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92a1b313915d4f58ccd403d706cb228be7640986
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 31 20:37:15 2010 +0000

    Fix a nasty dangling-pointer heisenbug that could
    generate wrong code pretty much anywhere AFAICT.
    A case that hits the bug reproducibly is impossible,
    but the situation was like this:
    Addr = ...
    Store -> Addr
    Addr2 = GEP , 0, 0
    Store -> Addr2
    Handling the first store, the code changed replaced Addr
    with a sunkaddr and deleted Addr, but not its table
    entry.  Code in OptimizedBlock replaced Addr2 with a
    bitcast; if that happened to reuse the memory of Addr,
    the old table entry was erroneously found when handling
    the second store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100044 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f4cc4e15a33f1ed46610a2e1928bc68cdbeba14
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 31 20:37:13 2010 +0000

    testcase for r99914, provided by baldrick!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c627d878f2307c0d644522e246e398d6eaac5ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 20:32:51 2010 +0000

    reduce indentation, minor cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100042 91177308-0d34-0410-b5e6-96231b3b80d8

commit f74644ba081af8a38715efcde10dd5985e5b4b18
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 31 20:15:45 2010 +0000

    Reduce string trashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100038 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc8252523414379c7aebd4a5b0c39a8d33b068bb
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Mar 31 20:05:12 2010 +0000

    Use spaces, not tabs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12676af732fc453849292f97ad23b20b80df4a16
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 31 19:34:01 2010 +0000

    DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
    POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
    being the exception).

    ~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48aa743572613eeaa093db76aeefdb904cbd083b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 31 19:14:05 2010 +0000

    Add a FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88607cd357c6412294c2eb454395afe95bef7072
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Mar 31 18:48:58 2010 +0000

    Comment the changes for r98218 and friends inside the source code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100033 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8fd7491c681e5de858dfd2cc2ccd7a1b87e9089
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 31 18:48:43 2010 +0000

    lit: Make sure to close any files we open as part of redirection.

    PR6753.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100032 91177308-0d34-0410-b5e6-96231b3b80d8

commit c24b193c529d23c8b0aa4b9fd2193e4d782461a9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Mar 31 18:47:10 2010 +0000

    Comment the changes for r98218 and friends inside the source code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100031 91177308-0d34-0410-b5e6-96231b3b80d8

commit c344ce3047beb722d36d2250d190fc5ff7f77a3a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Mar 31 17:13:16 2010 +0000

    Fix PR6750. Don't try to merge a DomainValue with itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71d4cbfac79230fd517c04538a3f19b00a842a13
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 31 16:06:22 2010 +0000

    s/getNameStr/getName/

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 769cbbd6f713d838b94e108e2b3f2be5bad09833
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 31 16:04:26 2010 +0000

    Bump SmallString size a bit to avoid malloc trashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9045d0061b4eb6f8294018b14882758313015688
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Mar 31 12:07:16 2010 +0000

    AddSignalHandler was not releasing the critical section on win32.
    Patch from Gianluigi Tiesi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100003 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5f315f9838bc438aa3809d57181e9b58e1c114b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Mar 31 07:50:17 2010 +0000

    Small fixes to this documentation. Remove mention of uint/int type, fix typo
    in 'number'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9018d3db3c63bba355e441eb2d62addcf4c52165
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 06:09:04 2010 +0000

    reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99999 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb06dae02701b5c27dc2011548927712e4310f3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 06:06:37 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99998 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca0260a763f3a00a6cca924772e6f268a8e631c6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 05:53:47 2010 +0000

    microoptimize this hot method, also making it more
    consistent with other similar ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05db3c4dce34795ddd8380318e009c01c61c1b41
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 05:42:48 2010 +0000

    MI != 0 is checked in the assert right above this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d184fbb7d53c6ee104722d7dc0f11f5833e519d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 05:39:57 2010 +0000

    use the isDebugValue() predicate and pop_back_val()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52c42af0977a25efdbcca2004a12fdb5501f6812
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 05:36:29 2010 +0000

    assert is a function-like macro, not a control flow operator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 264373dba95db5bd16c5f445b49a55437794ce56
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Mar 31 05:27:33 2010 +0000

    Correct comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62f06686292f75233931ff9795c7dd18b4addf00
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 05:15:22 2010 +0000

    reduce indentation, fit in 80 cols and various other cosmetic cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c9c34b23f59015a20bf6a5efd79e8bcd85f0186
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 04:26:23 2010 +0000

    fix file header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99987 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4a290049eb2c12c7f8490f70d1e88aee5c5cca2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 04:24:50 2010 +0000

    use the optimized debug info apis in sdisel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99986 91177308-0d34-0410-b5e6-96231b3b80d8

commit eebdeab1b977b8682412605bc7b1aeecda8584b5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 04:09:11 2010 +0000

    make irbuilder use the new optimized debug info accessors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99984 91177308-0d34-0410-b5e6-96231b3b80d8

commit a168485b4b68cb5bb20eac6eeb5ac9e5d5ce0d65
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 31 03:34:40 2010 +0000

    add new apis for getting/setting !dbg metadata on
    instructions.  In addition to being a convenience,
    they are faster than the old apis, particularly when
    not going from an MDKindID like people should be
    doing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 054da5ac3dca3930900b3e1f03731a3a9f8b7f0e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Mar 31 00:40:13 2010 +0000

    Replace V_SET0 with variants for each SSE execution domain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99975 91177308-0d34-0410-b5e6-96231b3b80d8

commit b72f69fcd45806ec4eef0c55a1a837fd048072ee
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Mar 31 00:40:08 2010 +0000

    Fix typo. Thank you, valgrind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67312ac74030ef2f75bcaa3115ebb21cd4dc8d83
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 23:12:48 2010 +0000

    Not all platforms start symbols with _

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99959 91177308-0d34-0410-b5e6-96231b3b80d8

commit da4b08bad20027f4750944858124c8954ca96598
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 23:03:27 2010 +0000

    Fix a major source of compile-time slowness at -O0 -g by optimizing
    the storage of !dbg metadata kinds in the instruction themselves.
    The on-the-side hash table works great for metadata that not-all
    instructions get, or for metadata that only exists when optimizing.
    But when compile-time is everything, it isn't great.

    I'm not super thrilled with the fact that this plops a TrackingVH in
    Instruction, because it grows it by 3 words.  I'm investigating
    alternatives, but this should be a step in the right direction in any
    case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 895bcd24ecccb2c2fe8e0d381ed9249c1b57dd74
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 22:47:00 2010 +0000

    Enable -sse-domain-fix by default. Now with tests!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99954 91177308-0d34-0410-b5e6-96231b3b80d8

commit c221b395652058797aa604f508baf68f14224a30
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 22:46:55 2010 +0000

    V_SETALLONES is an integer instruction.

    Since it is just a pxor in disguise, we should probably expand it to a full
    polymorphic triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99953 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc6ab6a8178acac359bdbfe9df9067b16ff4bfc8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 22:46:53 2010 +0000

    Renumber SSE execution domains for better code size.

    SSEDomainFix will collapse to the domain with the lower number when it has a
    choice. The SSEPackedSingle domain often has smaller instructions, so prefer
    that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ef0fa2d4fa2ca3f99b1e62f4ab6413447d8d4df
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 30 22:27:04 2010 +0000

    Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99948 91177308-0d34-0410-b5e6-96231b3b80d8

commit 986d5dfc4f564938a7a7ad8983c4126fac7150b2
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Mar 30 22:09:52 2010 +0000

    Ignore invalid metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4af0a50ae495afa97810ce7141afb082fd3dd907
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 21:36:32 2010 +0000

    Revert "Enable -sse-domain-fix by default. What could possibly go wrong?"

    Not running 'make check-all' before committing is a bad idea.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45d65191bf67a67f9c3c053c86cd97bae5ce8f72
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 21:09:31 2010 +0000

    Enable -sse-domain-fix by default. What could possibly go wrong?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f3b2d6f9ea3924819e2feae47e600b4dc469d14
Author: Mon P Wang <wangmp@apple.com>
Date:   Tue Mar 30 20:55:56 2010 +0000

    Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
    e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
    A update of langref will occur in a subsequent checkin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12a2e518121494c25c3a4a3b0cb3dc33a7adc832
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 20:48:48 2010 +0000

    move some method definitions to files that make sense.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99927 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d5587fb80fd7c873bb61b4a604f13bec5ea8506
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Mar 30 20:16:45 2010 +0000

    Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows
    only a single type of object to be allocated. Use it to make VNInfo destruction
    typesafe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57ab05dfad9762106ca7a271e801ae88a84867ab
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 20:15:13 2010 +0000

    Typo noticed by Duncan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99918 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc3993655c62586082ef26d35c170d2929febd46
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 30 20:04:57 2010 +0000

    Fix a grammaro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4940d87724b2eca9e4bcaf4036fbd973a743ecd6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 20:04:01 2010 +0000

    Add cross-block inference to SSEDomainFix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99916 91177308-0d34-0410-b5e6-96231b3b80d8

commit c07f14d23f33519ff0bf5711d22f6683d24535b7
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 30 19:56:41 2010 +0000

    Fix llvm-ld to clean up its output files in case of an error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9de90e775580d17f9d6484dd33122d686528433c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 30 19:20:53 2010 +0000

    fix two cases where the arguments were extracted from the wrong range out of the InvokeInst
    spotted by baldrick -- thanks\!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99914 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcaff6a6f7ec2cf8400880f62353aebba9b260a9
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Mar 30 18:49:01 2010 +0000

    Remove the pmulld intrinsic and autoupdate it as a vector multiply.

    Rewrite the pmulld patterns, and make sure that they fold in loads of
    arguments into the instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00b9749bce84104e1b7d1506667786d167965aca
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 18:10:53 2010 +0000

    Rip out the 'is temporary' nonsense from the MCContext interface to
    create symbols.  It is extremely error prone and a source of a lot
    of the remaining integrated assembler bugs on x86-64.

    This fixes rdar://7807601.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8207f3688f2c5cf88d11783f1c46b03e3f24e20e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 30 18:08:53 2010 +0000

    Funky indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a9e90a03dbb68bec2abdd5877ac0a1c1e1e976b
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Mar 30 18:07:00 2010 +0000

    There is no need to fall through after processing DBG_VALUE machine instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99899 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa51c905e0eacfc148f2dfede93c041389b2861e
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Mar 30 18:05:52 2010 +0000

    Switch isa_impl from a function template to a class template with a
    static inline member function doit(). This enables the use of partial
    specialization to override the last stage of the "isa" check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9aa795784880cfe2260800a20cbb2cb1572a35db
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 30 17:57:42 2010 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99895 91177308-0d34-0410-b5e6-96231b3b80d8

commit be6d7fd1e5d594f16de0be1910ace93333911040
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Mar 30 17:32:08 2010 +0000

    Introduce namespace-scope functions to enable LLVM statistics without
    passing the command-line parameter "-stats" and to print the resulting
    statistics without calling llvm_shutdown().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99893 91177308-0d34-0410-b5e6-96231b3b80d8

commit 731162f8722a5adaef871751529a79bf51244b49
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Mar 30 16:20:03 2010 +0000

    Change PointerUnionX::getFromOpaqueValue() to be declared 'static inline' instead of 'static'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99892 91177308-0d34-0410-b5e6-96231b3b80d8

commit abd64aee14af7082079bbaf47c8401736af0253b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Mar 30 14:34:13 2010 +0000

    XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect these
    to be fixed any time soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99888 91177308-0d34-0410-b5e6-96231b3b80d8

commit b36d46d4a7e0711be279702fb574ec6d390feae8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Mar 30 13:28:42 2010 +0000

    PIC16: Plug a leak in PIC16Section by allocating name & address strings in the
    MCContext. There is still one leak left in PIC16Section (the Items vector).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 319195a42043d0bc2a9ae03cf7312299407fb6a7
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 12:52:03 2010 +0000

    Don't overwrite previous value, if it succeeded.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99886 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6e55419221c87ce21b67143651a18a042aa7bf8
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 12:31:58 2010 +0000

    Honour addGlobalMapping() in the interpreter, if it was used to add mappings for
    external Functions (the JIT does honour this).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77c83b5d0cfdfc43e9d0274a903291f4a494864a
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 11:17:48 2010 +0000

    Reapply r99881 with some fixes: only call destructor in releaseMemory!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99883 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca1db5fda2d1db6d4c35c5c89e5e0a87a00441db
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 10:25:08 2010 +0000

    Revert 99881, it brooke smooshlab's llvm-gcc-i386-darwin9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99882 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2e6b79a83de1ace34afc088c18cd622df18cbd8
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Mar 30 10:08:26 2010 +0000

    Introduce another Reset() method in BumpPtrAllocator that calls a destructor
    on all objects it has allocated, if they are all of the same size and alignment.
    Use this to destruct all VNInfos allocated in LiveIntervalAnalysis (PR6653).

    valnos is not reliable for this purpose, as seen in r99400
    (which still leaked, and sometimes caused double frees).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69bb575b5774984867388614b4315fca359e8458
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 30 05:49:07 2010 +0000

    Avoid being influenced by the presence of dbg_value instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d5f9854419bb4e59e42b3e31eb7ce09661e74ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 05:34:02 2010 +0000

    stringref'ize Timer apis

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99877 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6a52518dec73428ccf3a882c2d62b0f1f783569
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 05:27:58 2010 +0000

    finally, maintain a global list of timer groups, allowing us to
    implement TimerGroup::printAll, which prints and resets all active
    timers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e05efdc4bc069372ff0804d546c6d57cdd27ab6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 05:20:02 2010 +0000

    add a new TimerGroup::print method, and refactor away the bogus
    TimerGroup copy ctor and assignment operator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99875 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdee68f874564b59d8d262a358054d29023b76be
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 05:01:08 2010 +0000

    rename GetLibSupportInfoOutputFile -> CreateInfoOutputFile and
    have it always return a new stream to simplify clients.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bb210b7f1587e33186307e8bc5ee8bf62147bdb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 04:58:26 2010 +0000

    if a timergroup is destroyed before its timers, print times.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99873 91177308-0d34-0410-b5e6-96231b3b80d8

commit adde7ef9f4f950c1ed225f8d4441981187c0e11c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 04:40:01 2010 +0000

    change TimerGroup to keep a linked list of active timers
    instead of just a count of them, and refactor the guts of
    report printing out of removeTimer into its own method.
    Refactor addTimerToPrint away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 417aa01aaacc68adcd6d18857d02cc3fbc6cd496
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 04:03:22 2010 +0000

    reapply my timer rewrite with a change for PassManager to store
    timers by pointer instead of by-value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99871 91177308-0d34-0410-b5e6-96231b3b80d8

commit b37a403f1dd119310f550812362548b981e7657e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 03:57:00 2010 +0000

    revert r99862 which is causing FNT failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99870 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6ec789df4c7672534464cc623d89a059b60b9b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 30 02:38:19 2010 +0000

    fairly major rewrite of various timing related stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99862 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6d4ee1fee372b5d621cab890c0f7da8b8a05032
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Mar 30 01:04:59 2010 +0000

    Add FIXME for operand promotion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46bdbddb0846cc857a66e2ad20c8f1f1feeadcfa
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 30 00:09:32 2010 +0000

    Be gentle to MSVC. C++ is hard, after all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99855 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec952a9867d92de2364c5cb2e56c4d95b9958260
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 29 23:56:40 2010 +0000

    MC/Mach-O/x86_64: Support @GOTPCREL on symbols, even for non-PCrel relocations!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99853 91177308-0d34-0410-b5e6-96231b3b80d8

commit b249eb72130db3906b12738b09cd8d3d938aec49
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Mar 29 23:37:07 2010 +0000

    Re-add back in the slow way of determining of a clean-up should become a
    catch-all. The "dominates" way won't catch all of the selectors which must be
    changed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e565aa14666e639dd09b1ea07ea10523cd87235
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Mar 29 23:24:21 2010 +0000

    Basic implementation of SSEDomainFix pass.

    Cross-block inference is primitive and wrong, but the pass is working otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99848 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6eb19bf908cadbc5ff0f125720ffe8d3c323005
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Mar 29 23:02:46 2010 +0000

    A more general (and simpler!) implementation of r99671. It performs a similar
    transform. I.e., if a clean-up eh.selector call dominates the invoke of an
    _Unwind_Resume_or_Rethrow, then we convert the eh.selector into a
    catch-all. This patch, however, uses the DominatorTree information, and doesn't
    go through the whole rigmarole of starting at the eh.exception call, finding the
    corresponding URoR and eh.selector calls, and trying to trace through any number
    of instruction types to get to them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0337831c83a07be580439077fb8fa137ef39bedc
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 29 22:59:58 2010 +0000

    Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 624a9db0b398413e19ad4d871b70e0c6ab1f24cc
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 21:34:06 2010 +0000

    move a function into a more logical place in the file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99842 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9954cade59eaa0bb6a6a00c019ea5ec0fc5808f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 21:28:41 2010 +0000

    remove support for per-time peak memory tracking, this
    isn't used by anyone and is better exposed as a non-per-timer
    thing.  Also, stop including System/Mutex.h in Timer.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b14f816ae36924ddc4badd616612fc90820b66f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 29 21:27:30 2010 +0000

    Fix PR4975. Avoid referencing empty vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99840 91177308-0d34-0410-b5e6-96231b3b80d8

commit de63281a3122eb7cfd76497ab67abda7b79fd549
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 21:24:52 2010 +0000

    various timer fixes: move operator= out of line,
    eliminate the per-timer lock (timers should be
    externally locked if needed), the info-output-stream
    can never be dbgs(), so drop the check.  Make some
    stuff private.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99839 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1adaeecca94ce449b78439a4c5fb03f3a074ad58
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Mar 29 21:13:41 2010 +0000

    Make isInt?? and isUint?? template specializations of the generic versions. This
    makes calls a little bit more consistent and allows easy removal of the
    specializations in the future. Convert all callers to the templated functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99838 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13b82415136683b9f87c194dd26a0f6b7ead9f9f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 29 20:48:30 2010 +0000

    Pool allocate SDDbgValue nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8adb4fbf10aa731af372376ef515ce72845d17d3
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Mar 29 20:41:51 2010 +0000

    We'll never match these as instructions, just as intrinsics so remove
    the SDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75e4d502e62d84749093de2cddd56e9d0d5e2771
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 20:40:19 2010 +0000

    s/.../.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99834 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1c0da9d09e7fd5d9db2c240aba0d4afe079374e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 20:39:38 2010 +0000

    use RAII for ExceptionTimer too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c962f27f797a1479ada95831e2fc13052014659
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 20:38:20 2010 +0000

    fix a variety of issues were we'd start DebugTimer but
    not stop it by using RAII.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99832 91177308-0d34-0410-b5e6-96231b3b80d8

commit cab603243947cd99ce58896993054f9b8fa19380
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 20:35:01 2010 +0000

    move code around and improve indentation, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99831 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4f6803e4dcae4d95ad060176367a2e8a27bd7f7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Mar 29 19:07:58 2010 +0000

    Remove a bunch of integer width predicate functions in favor of MathExtras.
    Most of these were unused, some of them were wrong and unused (isS16Constant<short>,
    isS10Constant<short>).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99827 91177308-0d34-0410-b5e6-96231b3b80d8

commit c42860834f8d55e291b2ca4c76d2d3790a47bde8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 18:42:42 2010 +0000

    some other notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7482dd0fd902de842ea1f91e5504356c5f7b4605
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 18:39:28 2010 +0000

    apparently llvm 2.7 now has great armv4 support, from
    John Tytgat

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13ce5e49a433c015c3d30b9569bb846aabccaced
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 18:34:13 2010 +0000

    update the vmkit blurb

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e4d7e51f367a9d21e33e5faf188aa7d15a7536b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 17:50:39 2010 +0000

    add tce

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99820 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f08ea59b38d44b5dc2df22e204d6d90579d222b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 17:38:47 2010 +0000

    From Kalle Raiskila:

    "the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions:
    -in vararg handling, registers are marked to be live, to not confuse the register scavenger
    -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2362eaa5f71a091c034e2e1eef52492fc04b9d67
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 17:36:02 2010 +0000

    add support for zero initialized unions, patch by Tim Northover!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99818 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8959cbf0022914c3a7c154ea8575ebdfe4a7009
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 29 17:20:31 2010 +0000

    Refactor code to push DILocation prcessing into DwarfDebug.cpp from AsmPrinter.cpp.
    This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d7e9d2f536f0455c860b0632b4a837b86962dea
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 17:02:02 2010 +0000

    add a note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b652a2062baa59803db3cd720ea6645f5b48385
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 02:02:45 2010 +0000

    Switch pattern sorting predicate from stable sort -> sort, it
    doesn't need to be stable because the patterns are fully ordered.

    Add a first level sort predicate that orders patterns in this
    order:  1) scalar integer operations 2) scalar floating point
    3) vector int 4) vector float.  This is a trivial sort on their
    top level pattern type so it is nice and transitive.  The
    benefit of doing this is that simple integer operations are
    much more common than insane vector things and isel was trying
    to match the big complex vector patterns before the simple
    ones because the complexity of the vector operations was much
    higher.  Since they can't both match, it is best (for compile
    time) to try the simple integer ones first.

    This cuts down the # failed match attempts on real code by
    quite a bit, for example, this reduces backtracks on crafty
    (as a random example) from 228285 -> 188369.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94ad4fca2856174f1920828488854c7d4fea5aaf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 01:58:15 2010 +0000

    revert 99795, as mentioned, it is disabled anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2437091c0b589dbb9c817965f9b2a1c8dd8020a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 01:56:19 2010 +0000

    Check in a (disabled) failed attempt to improve the ordering of
    patterns within the generated matcher.  This works great except
    that the sort fails because the relation defined isn't
    transitive.  I have a much simpler solution coming next, but want
    to archive the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 260c25c4980c054c53f543f68f7b58197d17ebe5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 29 01:40:38 2010 +0000

    print the complexity of the pattern being matched in the
    comment in the generated table.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a2669e477b2fe256f427d26817cdc248f880d72
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Mar 29 01:14:22 2010 +0000

    Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions.
    These instructions use byte index in a control vector (M:Vm) to lookup byte
    values in a table and generate a new vector (D:Vd).  The table is specified via
    a list of vectors, which can be:

    {Dn}
    {Dn D<n+1>}
    {Dn D<n+1> D<n+2>}
    {Dn D<n+1> D<n+2> D<n+3>}

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44ce1b9de72e7f7ae44456f9a4b5094f6caab306
Author: Devang Patel <dpatel@apple.com>
Date:   Sun Mar 28 21:23:37 2010 +0000

    Revert 99772.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99778 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc2a34262adef1a9ca505db869cc3a16b072e392
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 19:46:56 2010 +0000

    add a statistic for the # times isel has to backtrack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00e8481017e5ec390545a82fc4725b19b37928ba
Author: Devang Patel <dpatel@apple.com>
Date:   Sun Mar 28 18:57:09 2010 +0000

    Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99772 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cf50770a201ed643826bf29a52c45c63bad11e4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 18:52:28 2010 +0000

    zap an extra line that Eli noticed!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99770 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd5311fa618c744937a1a6adce25964ad414fdc3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 28 15:07:02 2010 +0000

    Properly quote the quotes :) during cmdline construction on Windows.
    Otherwise, e.g. in the invocation like clang -DFOO=\"bar\" FOO macro
    got the bar value, not "bar".

    Patch by Alexander Esilevich!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99763 91177308-0d34-0410-b5e6-96231b3b80d8

commit c57faa6760151c274cd84fbfef53a661756b6bd5
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Mar 28 11:07:36 2010 +0000

    Fix use-of-uninitialized value when RWX memory can't be allocated (PR6701).

    SELinux doesn't allow 'execmem', returning MAP_FAILED and 'Permission denied'
    for mmap or RWX memory. In this case AllocateRWX was returning a MemoryBlock
    with uninitialized fields, which sometimes caused crashes.

    This patch initializes MemoryBlock fields to 0, so that the RWX-failure check
    works.
    It doesn't fix the SELinux 'execmem' issues though (the JIT will not work when
    SELinux is in enforcing mode).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 822a2d18f0c2ee1e1c95cf25bb59767933895e0f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:48:47 2010 +0000

    improve type checking of SDNode operand count.  This rejects all cases
    where an incorrect number of operands is provided to an sdnode instead
    of just a few cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50e337694ba24e9a4a8434bd335c1b08ad6df87f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:47:39 2010 +0000

    fix a type contradition: XCoreISD::RETSP has one argument, not zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99760 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca85c3f03738a451e25eb871183bbac2ae6d5ba3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:43:23 2010 +0000

    finally remove the immAllOnesV_bc/immAllZerosV_bc patterns
    and those derived from them.  These are obnoxious because
    they were written as: PatLeaf<(bitconvert).  Not having an
    argument was foiling adding better type checking for operand
    count matching up with what was required (in this case,
    bitconvert always requires an operand!)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f4bf7131cfa993d43b1509acd519bcd8a4a7881
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:40:48 2010 +0000

    remove a pattern with no testcase that doesn't appear to be
    matchable: it seems like it would always constant fold.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99758 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb9cdea8b8d758ac910e639f5783ef5663185e3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:39:10 2010 +0000

    fix integer negates to use the proper type for the zero vectors,
    this also depends on the new "bitconvert dropping" behavior just
    added to tblgen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6449a475f3fb753286cda99a34c0b737665eb023
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:38:32 2010 +0000

    teach tblgen to allow patterns like (add (i32 (bitconvert (i32 GPR))), 4),
    transforming it into (add (i32 GPR), 4).  This allows us to write type
    generic multi patterns and have tblgen automatically drop the bitconvert
    in the case when the types align.  This allows us to fold an extra load
    in the changed testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99756 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc58dafff42066c73d6f805c98bc78823e319c95
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:36:45 2010 +0000

    fix a typo, bitconvert from node to itself isn't valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99755 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d8a93cbc868a926dfe10d055aecb104b57b194f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:08:07 2010 +0000

    fix vnot matching to explicitly specify the type of the
    input to be v8i8 or v16i8, which buildvectors get canonicalized to.

    This allows the patterns that were previously using a bare 'vnot' to
    match, before they couldn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c658111c7a6ca842d11bf943370aaba2fea15d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 08:00:23 2010 +0000

    fix up vnot matching, eliminating a dead pattern, correcting a couple of
    patterns that would never match because of bitcast, and eliminating use
    of vnot_conv.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 972bb011789e44e0e9a4ce273c4e9ec3424a2b0c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 07:58:37 2010 +0000

    add some nounwinds

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99752 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc013132b2828558b95f5ceb0875c01e331ba66a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 07:58:09 2010 +0000

    this takes an insane amount of time to run, disable it for now (PR6727)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10dbbb09b54c4d667240a28b631555dab0bee740
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 07:48:17 2010 +0000

    stop using vnot_conv

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0390fdb1427e1437610bc79e69168d5a462d4437
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 07:38:39 2010 +0000

    revert r99743, this is saying that the repmovs instructinos have an
    *input* of other type, which is the VT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99749 91177308-0d34-0410-b5e6-96231b3b80d8

commit a790384480d312ee027ab7e3a56977adff074c9e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 07:38:00 2010 +0000

    remove a bunch of dead patterns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99748 91177308-0d34-0410-b5e6-96231b3b80d8

commit abd0826b0551aebb117478d6f17adb29ad30eb1a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 06:57:56 2010 +0000

    validate that input sdnodes don't exist in an output pattern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f500c064fb68e066dc31c50b7c1592479dd25d1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 06:50:34 2010 +0000

    eliminate a bunch of code duplication in ParseTreePattern
    by rotating it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88aa54a53f8952acca7c3e6febc95109214b57be
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 06:16:41 2010 +0000

    add some node definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e107ee10fc0b1cab963efea8cda9e7e0450288d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 06:04:39 2010 +0000

    SDTCisVT<0, isVoid> is not valid, reject it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99744 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2d15f5f698a93107576b4a864962a9f0962a96a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:57:36 2010 +0000

    claiming to return other is pointless.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99743 91177308-0d34-0410-b5e6-96231b3b80d8

commit f62ce85211f05e6e648c2a54c5d8dee3854cd52d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:55:17 2010 +0000

    comply with the wishes of a fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bf36878796ac2550972c1c871761841853d3010
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:54:03 2010 +0000

    now that (parallel) is gone and a variety of bugs in targets
    are cleaned up, we can remove an old fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99741 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4439a2690676883b7e748951b24ba3366bf72bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:50:16 2010 +0000

    add an optimized form of OPC_EmitMergeInputChains for the 1, 0 and
    1, 1 cases which are by-far the most frequent.  This shrinks the X86
    isel table from 77014 -> 74657 bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99740 91177308-0d34-0410-b5e6-96231b3b80d8

commit b43907420f1bbbf9d4329cff197c45fb558df7ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:28:31 2010 +0000

    don't add nodes to the now-dead nodes list multiple times, this
    can cause a crash on crazy situations in msp430 when morph-node-to
    is disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ae199325b88c1f4fd74473288eb1a2a0590ae3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:21:52 2010 +0000

    Improve systemz to model cmp and ucmp nodes as returning
    their flags correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8de0e741226d124975c5ea057f54db4146fa8bb8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:12:57 2010 +0000

    the FPCmp node returns an i32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05ee1618d052061cb7eb01655b9b40872e689b65
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 05:07:17 2010 +0000

    fix some modelling problems exposed by a patch I'm working on.  bsr/bsf/ptest
    nodes all have an EFLAGS result when made by isel lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99736 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbd06cdb0e15333c9ca6b22f4f1a262f25c54ddf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 28 04:54:33 2010 +0000

    don't add flag nodes with chain results to the NowDeadNodes
    list multiple times when MorphNodeTo can't be applied.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99735 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4516f0bf7c5ac40fee72918f699ec13926a1c26
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 28 01:03:47 2010 +0000

    Oops, r98447 dropped the reference to ForwardType in the wrong place in
    Type::destroy(), so it got skipped for FunctionTypes, StructTypes, and
    UnionTypes.  This fixes the resulting leaks in test/Feature/opaquetypes.ll and
    test/Integer/opaquetypes_bt.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99732 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8760a03feae6eca89f56418afbc85ffc4ec4528f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 20:45:15 2010 +0000

    fix a long standing fixme, which required fixing a bunch of other
    issues to get here.  We now trim the result type list of the
    CompleteMatch or MorphNodeTo operation to be the same size as the
    thing we're matching.  this means that if you match (add GPR, GPR)
    with an instruction that produces a normal result and a flag that
    we now trim the result in tblgen instead of having to do it
    dynamically.  This exposed a bunch of inconsistencies in result
    counting that happened to be getting lucky since the days of the
    old isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99728 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4b7356564d21bb96ef563adcfc71200a25e078c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 20:32:26 2010 +0000

    fix CodeGenTarget::getRegisterVTs to not return the
    same vt multiple times for a register.  For example,
    ECX is in 5 different i32 reg classes, just return
    1 i32 instead of 5.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99727 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbfe3c484c6c1a706fc8c77d7f9275099d1d5c82
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 20:09:24 2010 +0000

    hoist some funky logic into CodeGenInstruction
    from two places in CodeGenDAGPatterns.cpp, and
    use it in DAGISelMatcherGen.cpp instead of using
    an incorrect predicate that happened to get lucky
    on our current targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07a3966f8deb7959e38c4d2a4c8193223e38b791
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 19:15:02 2010 +0000

    continue pushing tblgen's support for nodes with multiple
    results forward.  We can now handle an instruction that
    produces one implicit def and one result instead of one or
    the other when not at the root of the pattern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99725 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa53c01e1930df83557f38b9449382a53e8cdb0f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 18:54:50 2010 +0000

    improve -debug-only=isel comments for cases when we don't enter a
    scope due to obviously false predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 550d4be22184e8439b8868f7874ae032109106bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 18:49:33 2010 +0000

    fix a bug in my recent patch that increased opcode size to 2 bytes:
    the index comments nested under OPC_SwitchOpcode were off by one.
    This fixes the comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99722 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7d1c02af1c107fbe53ade93db18d0256a9c879b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 18:01:10 2010 +0000

    revert r99719 which is breaking the botz.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a5b80d5a38bccb039d0d309db21bf12b54623b5
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 27 16:49:51 2010 +0000

    Make llvm-ld remove its output files in the event of an error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99719 91177308-0d34-0410-b5e6-96231b3b80d8

commit bda9d33cb0fd23b600a25984998d7582936d8abd
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 27 16:39:56 2010 +0000

    Give FileRemover a default constructor to allow FileRemovers to be created
    and initialized separately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b5d603327109cfbfdb9140f7688591b82580450
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 27 16:36:08 2010 +0000

    No need to check the same condition twice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99716 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44b3384c00953d7a6d1004f085736c5ca8b2c16a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 27 16:34:32 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 708ab3522478e743bbc1184d37b2cae9f0bba1f1
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 27 16:33:36 2010 +0000

    Remove an unnecessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 817e5ff4bf960241dbf1856af9bfab81e7c91c3b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 27 09:09:17 2010 +0000

    Remove another memory leak from ABCD by using Edges by value instead of
    pointer.  There was also a SmallPtrSet whose settiness wasn't being used, so I
    changed it to a SmallVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99713 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9373d2025b293474cae6a678c9725742916378f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 27 08:15:46 2010 +0000

    In ABCD, change the non-null Bound*s to Bound&s.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0af4de326ac636474c3f160a61dcd2fe36713624
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 27 08:09:24 2010 +0000

    Fix a memory leak in ABCD by giving ownership of Bound objects to the
    MemoizedResultChart.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 586644f1c602ef3aff6deaa899a08be67e1b3f30
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 27 04:59:47 2010 +0000

    XFAIL a new tblgen test for memory leak checking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bcfd8adb73d94070f180911244a22cd5b6001b4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 27 04:53:56 2010 +0000

    Avoid leaking the memory allocated for GlobalVariables in the interpreter, by
    freeing that memory when the GV is destroyed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99706 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa7c29c6bc0dd906e9a3789934f13041d15a8055
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 27 04:01:23 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99705 91177308-0d34-0410-b5e6-96231b3b80d8

commit e704c182117248eea752329440ca3bec67ecdb08
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 27 03:56:52 2010 +0000

    Add a format argument to the N3V and N3VX classes, removing the N3Vf class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99704 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8c1f395ad2816dd75bfaa304fa00aa74d25e7e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 02:53:27 2010 +0000

    remove parallel support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99703 91177308-0d34-0410-b5e6-96231b3b80d8

commit c47907a1fe7eac6b7bb548112e595b99de9a1707
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 02:47:14 2010 +0000

    eliminate the last of the parallel's!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15868b51251a960b2e18146f8c685c2819a465f6
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Mar 27 01:54:00 2010 +0000

    When we promote a load of an argument make sure to take the alignment
    of the previous load - it's usually important.  For example, we don't want
    to blindly turn an unaligned load into an aligned one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e9f50099a66748618d895aa392c9f429076a82b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Mar 27 01:24:30 2010 +0000

    Forgot the part where we handle the ".llvm.eh.catch.all.value".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 996ca468d0281f5a51a58733844b4d608528cd26
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Mar 27 01:22:38 2010 +0000

    Return if we changed anything or not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99695 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9dc6fdb8e6816d8b4281eb5407a72dd94cd1ec6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Mar 27 01:19:12 2010 +0000

    If a selector has a call to ".llvm.eh.catch.all.value" that we haven't
    converted, then use the initializer, since using the name itself won't work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c796da424a09e6cfe338ae1212c7557ce888e81
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Mar 27 01:03:13 2010 +0000

    Add NVMulSLFrm to represent "3-register multiply with scalar" operations and set
    it as the format for the appropriate N3V*SL*<> classes.  These instructions
    require special handling of the M:Vm field which encodes the restricted Dm and
    the lane index within Dm.

    Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar):

    	vmlal.s32	q3, d2, d10[0]

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 070d238e098a2926ab7ba6bcee2cdf9838df8b2f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 00:45:04 2010 +0000

    eliminate almost all the rest of the x86-32 parallels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ae83f1ff622375cee1115a61c2b33c2fcf05e9e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 27 00:29:41 2010 +0000

    bump FIRST_TARGET_MEMORY_OPCODE back up, there is no reason to make it a tight bound anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99685 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb284ed9a1f0234f6f94d65dba98f7cd8495b14e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Mar 27 00:09:12 2010 +0000

    Thumb2 storeFrom/LoadToStackSlot() need to handle tGPR regs directly, not pass
    through to the generic version. The generic functions use STR/LDR, but T2
    needs the t2STR/t2LDR instead so we get the addressing mode correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99678 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba4acb84847e4326fa0c5f964fa9d4ebaec2be39
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 26 23:54:15 2010 +0000

    improve portability to minix, patch by
    Kees van Reeuwijk for PR6704

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99677 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1a6ce33dbcad31f8f83509e30416604a613b699
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 26 23:49:07 2010 +0000

    Remove the duplicate multiclass N3VSh_QHSD and use N3VInt_QHSD which is modified
    to now take a format argument.  N3VDInt<> and N3VQInt<> are modified to take a
    format argument as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99676 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6af1c62fd86e72457fef68a365bd74846662f8b6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Mar 26 23:41:30 2010 +0000

    If we mark clean-ups as clean-ups, then it could break when inlining through an
    'invoke' instruction. You will get a situation like this:

    bb:
      %ehptr = eh.exception()
      %sel = eh.selector(%ehptr, @per, 0);

    ...

    bb2:
      invoke _Unwind_Resume_or_Rethrow(%ehptr) %normal unwind to %lpad

    lpad:
      ...

    The unwinder will see the %sel call as a clean-up and, if it doesn't have a
    catch further up the call stack, it will skip running it. But there *is* another
    catch up the stack -- the catch for the %lpad. However, we can't see that. This
    is fixed in code-gen, where we detect this situation, and convert the "clean-up"
    selector call into a "catch-all" selector call. This gives us the correct
    semantics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99671 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2a4cff08fee04aa4e2d1a67c953d135673c066b
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 26 22:28:56 2010 +0000

    Add NVExtFrm to represent NEON Vector Extract Instructions, that uses Inst{11-8}
    to encode the byte location of the extracted result in the concatenation of the
    operands, from the least significant end.

    Modify VEXTd and VEXTq classes to use the format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99659 91177308-0d34-0410-b5e6-96231b3b80d8

commit c23c8cf859bd537ad4f4bbbafc43bd018850789a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 26 22:17:24 2010 +0000

    remove a constructor implementation that isn't declared
    in the header.  How can both clang and gcc accept this?

    PR6703

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99658 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8937420ed1621265373b6fbcb3309de88587eed
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Mar 26 21:32:14 2010 +0000

    Add few missed libcalls and correct names for others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76a0abc0942652452464074264d7e0eb88452598
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 26 21:26:28 2010 +0000

    Add N3RegVShFrm to represent 3-Register Vector Shift Instructions, which do not
    follow the N3RegFrm's operand order of D:Vd N:Vn M:Vm.  The operand order of
    N3RegVShFrm is D:Vd M:Vm N:Vn (notice that M:Vm is the first src operand).

    Add a parent class N3Vf which requires passing a Format argument and which the
    N3V class is modified to inherit from.  N3V class represents the "normal"
    3-Register NEON Instructions with N3RegFrm.

    Also add a multiclass N3VSh_QHSD to represent clusters of NEON 3-Register Shift
    Instructions and replace 8 invocations with it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99655 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5c1ff36e8693601508ac19632825729762a12c8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 26 19:59:25 2010 +0000

    fix iterator name

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99646 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8ab1500b7ced28c0103d0e9a762d6db984883a8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Mar 26 19:51:14 2010 +0000

    Minor grammar and html fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fae3d7523e59411a17f31c55fc88303aaee78e8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 26 19:40:38 2010 +0000

    some more tweaks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99643 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7dd5a8e2c3fc48ee93ca6cb0d55a894eb4d45b1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Mar 26 19:39:05 2010 +0000

    Tell "the rest of the story" about LLVM's iterators' implicit conversions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2348fb9ace932c15b6c395489f37ded5616fd0f9
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 26 19:35:48 2010 +0000

    fix formatting and a validation fail

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99640 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc7b8af568105418a8104cb9b2f24e80d2f03045
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 26 19:30:47 2010 +0000

    add a blurb on const versions of chain traversals and a word of caution

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99638 91177308-0d34-0410-b5e6-96231b3b80d8

commit af6a65522bb6a8e7e6601fbea691a82f1533e299
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Mar 26 19:21:26 2010 +0000

    Debug info shouldn't affect kills.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99637 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5b43494d1e4940f090747777a10742a1de06a68
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Mar 26 19:08:36 2010 +0000

    Add a paragram describing how to extract line number information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c22b9047e3182c71385ddf757ae42033ee8e035
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 26 19:04:42 2010 +0000

    http://englishplus.com/grammar/00000296.htm

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99635 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8af17918ae29b773c6d3d08ebc86e5597c2e2ed
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Mar 26 18:53:37 2010 +0000

    Fix SmallVector's insert to handle non-random-access iterators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e1a26e7d8f626aeac41c2be914fe906d6a4e047
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Mar 26 18:41:09 2010 +0000

    vldm/vstm can only do up to 16 double-word registers at a time.
    Radar 7797856

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99630 91177308-0d34-0410-b5e6-96231b3b80d8

commit c55615a7623556e5c4ed19149642ab25d2099e74
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 26 18:32:20 2010 +0000

    Add N3RegFrm to represent "NEON 3 vector register format" instructions.
    Examples are VABA (Vector Absolute Difference and Accumulate), VABAL (Vector
    Absolute Difference and Accumulate Long), and VABD (Vector Absolute Difference).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4163416ded5770d2ba0d3ea61452876543bcf809
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Mar 26 16:26:03 2010 +0000

    Do not sibcall if stack needs to be dynamically aligned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99620 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5616c14dbb3b386d4f795fb2f9714d846fa9048
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Mar 26 02:13:13 2010 +0000

    Allow trivial sibcall of vararg callee when no arguments are being passed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99598 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa67223f35922847bd6ac863ff0df72e3ff09172
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Mar 26 02:12:24 2010 +0000

    LiveVariables should clear kill / dead markers first. This allows us to remove a hack in the scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8add07e8f05505ceca9cc02be03c5f2910ca1a6b
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 26 01:07:59 2010 +0000

    Add N2RegVShLFrm and N2RegVShRFrm formats so that the disassembler can easily
    dispatch to the appropriate routines to handle the different interpretations of
    the shift amount encoded in the imm6 field.  The Vd, Vm fields are interpreted
    the same between the two, though.

    See, for example, A8.6.367 VQSHL, VQSHLU (immediate) for N2RegVShLFrm format and
    A8.6.368 VQSHRN, VQSHRUN for N2RegVShRFrm format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61fca0786e128fe5c70760b39f39d70d61a542a5
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 26 00:59:12 2010 +0000

    Avoid leaking argv and env arrays from lli.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99589 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cc5052bf5667fb6ca54073be89bdb7371e7636a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Mar 26 00:33:27 2010 +0000

    Ignore debug intrinsics in yet more places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 513cbed419b5681e6a55e8d5108558451ed5534d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Mar 26 00:07:25 2010 +0000

    Try trivial remat before the coalescer gives up on a vr / physreg coalescing for fear of tying up a physical register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99575 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2260d52bb598ac3ff1288473aaf7e5eb736a057
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Mar 26 00:02:44 2010 +0000

    Handle DEBUG_VALUE in this pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86c43236809b2fc4125f7acb202eb9b2db4fd88b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Mar 25 23:47:34 2010 +0000

    switch the flag for using NEON for SP floating point to a subtarget 'feature'.

    Re-commit. This time complete with testsuite updates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39fc5e1559ad5ec0ba0b6c71673a92b720d6135b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Mar 25 23:34:05 2010 +0000

    need to fix 'make check' tests first. revert for a moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99569 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ecb0004ac5b1be624344754a2f4a72a316513b5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Mar 25 23:32:19 2010 +0000

    switch the flag for using NEON for SP floating point to a subtarget 'feature'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 499052dd0fb24e99657f610efd3b0299f5d641f5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Mar 25 23:25:28 2010 +0000

    rename pred_const_iterator to const_pred_iterator for consistency's sake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e160dc65ebb7e3e7f9af67ca710fceec6b00416
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 25 23:11:56 2010 +0000

    Removed instruction class NI from ARMInstrFormats.td.
    It doesn't seem to be used anywhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 917139222d61b4302bdcf9df78574582a635d8db
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Mar 25 23:11:16 2010 +0000

    switch the use-vml[as] instructions flag to a subtarget 'feature'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d40c27229383ff2c725c2903501a7d64607c64f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Mar 25 23:06:16 2010 +0000

    rename use_const_iterator to const_use_iterator for consistency's sake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89b81d67520c77b457e63f86e9c9c91588e2c9f3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 22:49:09 2010 +0000

    llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need
    exactly two passes in that case, and don't ever need to recompute any layout,
    so this is a nice baseline for relaxation performance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38909c97af1bc35bd0db930b94d5cfa2912b1203
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 25 21:49:12 2010 +0000

    Add NVDupLnFrm and change NVDupLane class to use that format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99557 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2fecfead19a3cc35308f09d4e8d8c2dfb6c9acc
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Mar 25 20:48:50 2010 +0000

    ARM cortex-a8 doesn't do vmla/vmls well. disable them by default for that cpu

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 980e6de9dfd522b4cdfa5f079a2cad93c0acc783
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 25 20:39:04 2010 +0000

    Add NVCVTFrm (NEON Convert with fractional bits immediate) and modify N2VImm to
    expect a Format arg.  N2VCvtD/N2VCvtQ are modified to use the NVCVTFrm format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a2d2ec41def7813dd39bffc7ba3561815976ea4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 20:01:07 2010 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99546 91177308-0d34-0410-b5e6-96231b3b80d8

commit c89a1051dae6a0fc6accf91b82df413b80857aaa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 19:46:11 2010 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 174c2f94847283559b6aaf2dae426d957ebe3857
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 19:35:56 2010 +0000

    MC: Stop restarting layout on every relaxation.
     - Still O(N^2), just a faster form, and now its the MCAsmLayout's fault.

    On the .s I am tuning against (combine.s from 403.gcc):
    --
    ddunbar@lordcrumb:MC$ diff stats-before.txt stats-after.txt
    5,10c5,10
    <    1728 assembler - Number of assembler layout and relaxation steps
    <    7707 assembler - Number of emitted assembler fragments
    <  120588 assembler - Number of emitted object file bytes
    < 2233448 assembler - Number of evaluated fixups
    <    1727 assembler - Number of relaxed instructions
    < 6723845 mcexpr    - Number of MCExpr evaluations
    ---
    >      3 assembler - Number of assembler layout and relaxation steps
    >   7707 assembler - Number of emitted assembler fragments
    > 120588 assembler - Number of emitted object file bytes
    >  14796 assembler - Number of evaluated fixups
    >   1727 assembler - Number of relaxed instructions
    >  67889 mcexpr    - Number of MCExpr evaluations
    --
    Feel free to LOL at the -before numbers, if you like.

    I am a little surprised we make more than 2 relaxation passes. It's pretty
    trivial for us to do relaxation out-of-order if that would give a speedup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99543 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3801d871910d8087d7c1dde4fcf66abdfa46426c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 19:35:53 2010 +0000

    Fix -Asserts warning, again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fcda8ff07b410f4ab1c8e1a8fb7ee60435a050d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 25 18:52:04 2010 +0000

    Tag SSE2 integer instructions as SSEPackedInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99540 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6bf4f5ac81fb83440dcfa887fd07f2a2038b9e2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 25 18:52:01 2010 +0000

    Teach TableGen to understand X.Y notation in the TSFlagsFields strings.

    Remove much horribleness from X86InstrFormats as a result. Similar
    simplifications are probably possible for other targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 208f29dcd66473b13fe05c39cd934bebc9cbc008
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 18:49:10 2010 +0000

    fix a valgrind error on copy-constructor-synthesis.cpp, which is caused when
    the custom insertion hook deletes the instruction, then we try to set dead
    flags on it.  Neither the code that I added nor the code that was there
    before was safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f2d6f07cb5ffb7c7d693069d60b5e2b90cc7711
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 18:37:23 2010 +0000

    Remove an unused option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99537 91177308-0d34-0410-b5e6-96231b3b80d8

commit e32789f6b899ff021cc5837c3b35ed28f2a357a6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 18:16:42 2010 +0000

    MC: Simplify main section layout process by moving alignment into LayoutSection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99529 91177308-0d34-0410-b5e6-96231b3b80d8

commit ede0548da82d1968fa582bcf4ccc497ae467f5e7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 18:16:38 2010 +0000

    MC: Sink Section address assignment into LayoutSection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99528 91177308-0d34-0410-b5e6-96231b3b80d8

commit de426fd05d30fad84af2e45b2877533795314044
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 25 17:25:00 2010 +0000

    Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.

    On Nehalem and newer CPUs there is a 2 cycle latency penalty on using a register
    in a different domain than where it was defined. Some instructions have
    equvivalents for different domains, like por/orps/orpd.

    The SSEDomainFix pass tries to minimize the number of domain crossings by
    changing between equvivalent opcodes where possible.

    This is a work in progress, in particular the pass doesn't do anything yet. SSE
    instructions are tagged with their execution domain in TableGen using the last
    two bits of TSFlags. Note that not all instructions are tagged correctly. Life
    just isn't that simple.

    The SSE execution domain issue is very similar to the ARM NEON/VFP pipeline
    issue handled by NEONMoveFixPass. This pass may become target independent to
    handle both.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7301e1457a299fe9a6a31842bd0db1c9ce55e255
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 25 17:01:27 2010 +0000

    Added a new instruction class NVDupLane to be inherited by VDUPLND and VDUPLNQ,
    instead of the current N2V.  Format of NVDupLane instances are set to NEONFrm
    currently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58d6cbac33a5a643a6ff722dc6d9e2f19907f631
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 25 16:36:14 2010 +0000

    Reapply Kevin's change 94440, now that Chris has fixed the limitation on
    opcode values fitting in one byte (svn r99494).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99514 91177308-0d34-0410-b5e6-96231b3b80d8

commit d045bd1221c589a389713308a37fa18a64b9e515
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 16:09:18 2010 +0000

    Sketch a few Clang release notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b27323a9d426119a3ce0e862d065c5f7e07d0e1
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 25 15:09:44 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b19734eaf0021546c155d42bfed1b15915fb68b
Author: John Criswell <criswell@uiuc.edu>
Date:   Thu Mar 25 13:59:09 2010 +0000

    Fixed spurious warning problem noticed by Daniel Dunbar.  The configure script
    now configures prerequisite projects individually but also ignores them in the
    big project switch statement to avoid the incorrect warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99506 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9209c578d0e6362b9dd3f3c5b7f2dcbd9618febe
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 08:08:54 2010 +0000

    MC/Mach-O: Switch to MCSectionData::getOrdinal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99504 91177308-0d34-0410-b5e6-96231b3b80d8

commit e38eb174770c7ccb5c4f97487b00be24b55f267c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 07:16:57 2010 +0000

    Scheduler assumes SDDbgValue nodes are in source order. That's true currently. But add an assertion to verify it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99501 91177308-0d34-0410-b5e6-96231b3b80d8

commit f34fdcc5b46f92523c39a45e905ad1a2ae138cdd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 07:10:11 2010 +0000

    MC: Explicity track section and fragment ordinals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c4ceb454713b337ef767f8990d7d51d479de6b8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 07:10:05 2010 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99499 91177308-0d34-0410-b5e6-96231b3b80d8

commit f06cac852dbd53a05448449e4e5bc3cf173e53ed
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 07:10:01 2010 +0000

    lit: Add LitTestCase and lit.load_test_suite, for adapting lit based suites for
    use with Python's unittest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99498 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebd574a04fa8ad3aad0760e6bd548a756f85a2bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 06:33:05 2010 +0000

    Change tblgen to emit FOOISD opcode names as two
    bytes instead of one byte.  This is important because
    we're running up to too many opcodes to fit in a byte
    and it is aggrevated by FIRST_TARGET_MEMORY_OPCODE
    making the numbering sparse.  This just bites the
    bullet and bloats out the table.  In practice, this
    increases the size of the x86 isel table from 74.5K
    to 76K.  I think we'll cope :)

    This fixes rdar://7791648

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38c3df75e87a7baa73343582aea266ff1c22d1a2
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 25 06:26:14 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01601ec4c68589b79fb2df8621239628ba12c119
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 25 06:23:34 2010 +0000

    Fix evil TableGen bug in template parameters with defaults.

    If a TableGen class has an initializer expression containing an X.Y subexpression,
    AND X depends on template parameters,
    AND those template parameters have defaults,
    AND some parameters with defaults are beyond position 1,
    THEN parts of the initializer expression are evaluated prematurely with the default values when the first explicit template parameter is substituted, before the remaining explicit template parameters have been substituted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 746b9265afc9136558c1425fda0c4bf3d0318c65
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 25 06:04:47 2010 +0000

    Include isFunctionLocal while calculating folding node set profile for a MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cc263ee9e6fa10feda466b5f7d10f62cd78a76b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 06:02:53 2010 +0000

    Remove a fixme that doesn't make sense any more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 807e2ca3c426df16ff5b55f4a32140126701202e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 05:58:19 2010 +0000

    fix PR6642, GVN forwarding from memset to load of the base of the memset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d448b77f1484bac4f4da3f4c99aafb2bc6fad88
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 05:50:26 2010 +0000

    Make sure SDDbgValue.Invalid is initialized to false by all the constructors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99487 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc0902a934014b2f4faeb9bd780d978893b52b96
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 05:44:01 2010 +0000

    eliminate a bunch more parallels now that scheduling
    handles dead implicit results more aggressively.  More
    to come, I think this is now just a data entry problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99486 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4d88181b06041f334623e7318c7089aa9340ece
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 05:40:48 2010 +0000

    Make the NDEBUG assertion stronger and more clear what is
    happening.

    Enhance scheduling to set the DEAD flag on implicit defs
    more aggressively.  Before, we'd set an implicit def operand
    to dead if it were present in the SDNode corresponding to
    the machineinstr but had no use.  Now we do it in this case
    AND if the implicit def does not exist in the SDNode at all.

    This exposes a couple of problems: one is the FIXME, which
    causes a live intervals crash on CodeGen/X86/sibcall.ll.
    The second is that it makes machinecse and licm more
    aggressive (which is a good thing) but also exposes a case
    where licm hoists a set0 and then it doesn't get resunk.

    Talking to codegen folks about both these issues, but I need
    this patch in in the meantime.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 902e131f5247e5da6250de00e3a71caad397a333
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 25 05:36:13 2010 +0000

    Include isFunctionLocal while calculating folding node set provide for a MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 549983a2d12da1f126ac210b471ca4bb276694a4
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 25 04:49:10 2010 +0000

    Reapply r99451 with a fix to move the NoInline check to the cost functions
    instead of InlineFunction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 625989070f3c06776bf2cc721ed09d66e7fc408c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 25 04:41:16 2010 +0000

    reapply 99444/99445, which I speculatively reverted in
    r99453.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99482 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd9a833d737c4135e7735a3718e186a3d4a71ee5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 02:00:07 2010 +0000

    MC: Route access to SectionData offset and file size through MCAsmLayout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99474 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2ddd798f7171645e4fd954023184eb96cfcc38f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 02:00:02 2010 +0000

    MC: Route access to Fragment offset and effective size through MCAsmLayout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dfa53e906562b418bb5b84f322eced43c8ba44c
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 25 01:46:07 2010 +0000

    Make sure this runs in 64-bit only, 32-bit won't produce the correct stores.

    Fariborz please review and make sure this is what you meant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99472 91177308-0d34-0410-b5e6-96231b3b80d8

commit 100d4dc73542d31cbbfb9c5641b8781455b9250f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 01:38:16 2010 +0000

    Change how dbg_value sdnodes are converted into machine instructions. Their placement should be determined by the relative order of incoming llvm instructions. The scheduler will now use the SDNode ordering information to determine where to insert them. A dbg_value instruction is inserted after the instruction with the last highest source order and before the instruction with the next highest source order. It will optimize the placement by inserting right after the instruction that produces the value if they have consecutive order numbers.

    Here is a theoretical example that illustrates why the placement is important.

    tmp1 =
    store tmp1 -> x
    ...
    tmp2 = add ...
    ...
    call
    ...
    store tmp2 -> x

    Now mem2reg comes along:

    tmp1 =
    dbg_value (tmp1 -> x)
    ...
    tmp2 = add ...
    ...
    call
    ...
    dbg_value (tmp2 -> x)

    When the debugger examine the value of x after the add instruction but before the call, it should have the value of tmp1.

    Furthermore, for dbg_value's that reference constants, they should not be emitted at the beginning of the block (since they do not have "producers").

    This patch also cleans up how SDISel manages DbgValue nodes. It allow a SDNode to be referenced by multiple SDDbgValue nodes. When a SDNode is deleted, it uses the information to find the SDDbgValues and invalidate them. They are not deleted until the corresponding SelectionDAG is destroyed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99469 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdedc71139d282c879a3751f09537598cfa6f943
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 01:03:24 2010 +0000

    MC: Eliminate MC{Fragment,{Section,Symbol}Data}::getAddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99467 91177308-0d34-0410-b5e6-96231b3b80d8

commit 056c1960a066911110e51b3d074935a2c8a01194
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 25 01:03:17 2010 +0000

    MC: Fix refacto in MCExpr evaluation, I mistakenly replaced a fragment address with a symbol address.
     - This fixes the integrated-as nightly test regressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99466 91177308-0d34-0410-b5e6-96231b3b80d8

commit f65f4a669b0447cbceaa3e03faaa361a01616859
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 01:01:37 2010 +0000

    Avoid being influenced by dbg_value instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99465 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed031d0fed698d1fc83ed12fb808fb6c4ec13ade
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 25 00:59:51 2010 +0000

    Fix unused parameter warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01b9bd7a25d9a68cf2489de7b34631ccd5914f97
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 25 00:10:31 2010 +0000

    Disable folding loads into tail call in 32-bit PIC mode. It can introduce illegal code like this:

            addl    $12, %esp
            popl    %esi
            popl    %edi
            popl    %ebx
            popl    %ebp
            jmpl    *__Block_deallocator-L1$pb(%esi)  # TAILCALL

    The problem is the global base register is assigned GR32 register class. TCRETURNmi needs the registers making up the address mode to have the GR32_TC register class.

    The *proper* fix is for X86DAGToDAGISel::getGlobalBaseReg() to return a copy from the global base register of the machine function rather than returning the register itself. But that has the potential of causing it to be coalesced to a more restrictive register class: GR32_TC. It can introduce additional copies and spills. For something as important the PIC base, it's not worth it especially since this is not an issue on 64-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63fad5a3ec5e657ff80238d5736eafc9ff68d28d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 25 00:03:04 2010 +0000

    Docuemntation corrections from John Myers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94892df1fd55046e8e990772db6a893417cfce9b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 23:41:19 2010 +0000

    revert 99444/99445.  This doesn't cause the failure of
    2006-07-19-stwbrx-crash.ll for me, but it's the only likely
    patch in the blame list of several bots.  Lets see if this
    fixes it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83cc675cb4790f5691878bad318e45ba7ce15d39
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Mar 24 23:35:21 2010 +0000

    Temporarily revert this, it's causing an issue with an internal project.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99451 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0c9e3a6c77899159e6303c4c677d1b47317c4f6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 24 23:26:29 2010 +0000

    Speculatively revert this to see if it fixes buildbot failures.
    --- Reverse-merging r99440 into '.':
    U    test/MC/AsmParser/X86/x86_32-bit_cat.s
    U    test/MC/AsmParser/X86/x86_32-encoding.s
    U    include/llvm/IntrinsicsX86.td
    U    include/llvm/CodeGen/SelectionDAGNodes.h
    U    lib/Target/X86/X86InstrSSE.td
    U    lib/Target/X86/X86ISelLowering.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99450 91177308-0d34-0410-b5e6-96231b3b80d8

commit a845d7a0f527e8bc150e781df7d1ba73b601e476
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 23:07:47 2010 +0000

    add a convenient TargetInstrDesc::getNumImplicitUses/Defs method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99446 91177308-0d34-0410-b5e6-96231b3b80d8

commit a09830f5876e26514322b53bc02a88e5c909de7a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 22:47:12 2010 +0000

    remove dead argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b053c405c82e3e02c49d9549833b9a10fba1097
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 22:45:47 2010 +0000

    split EmitNode in half to reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99444 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcf54cd7f06edfeae6e78d679482e05952656fb8
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Mar 24 22:33:33 2010 +0000

    Added the Advanced Encryption Standard (AES) Instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19262344e454e632a16ec594d4ee333dd8fa4cec
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 24 22:31:46 2010 +0000

    Make the use of the vmla and vmls VFP instructions controllable via cmd line.
    Preliminary testing shows significant performance wins by not using these
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7828f2f337d47fee05c6568488920d163b118f5b
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Mar 24 22:28:42 2010 +0000

    Fixed the SS42AI template for the SSE 4.2 instructions with TA prefix so it does
    not get an "Unknown immediate size" assert failure when used.  All instructions
    of this form have an 8-bit immediate.  Also added a test case of an example
    instruction that is of this form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12ed4a83927b06721bbb0c0db262f0c88e530816
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Mar 24 22:19:06 2010 +0000

    Per chris's request, add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99434 91177308-0d34-0410-b5e6-96231b3b80d8

commit a630da5224e3540e3d773dc23e37e882134acb4c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Mar 24 21:30:35 2010 +0000

    Use SP filename directly instead of SP's context's filename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03b3dbcb5d2dff414bb590691bf793ae2401a584
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 24 21:25:07 2010 +0000

    Trivial formating change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0433aab681912cdf73eb95d8df1436cb752fff3b
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Mar 24 20:49:50 2010 +0000

    BUILD_VECTOR was missing out on some prime opportunities to use SSE 4.1 inserts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99423 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbf0e04746eb6e9ce92e0a69c824d271672cc6b7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 24 20:25:25 2010 +0000

    Revert Edwin's change that is breaking MultiSource/Applications/ClamAV/clamscan.
    --- Reverse-merging r99400 into '.':
    D    test/CodeGen/Generic/2010-03-24-liveintervalleak.ll
    U    lib/CodeGen/LiveIntervalAnalysis.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67ecada73d5f0a3129e336df3dd8d5ce3ad6a23e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 24 20:19:04 2010 +0000

    Move OptChkCall off LibCallOptimization into StrCpyOpt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 889108d53ef3a417b7895dff6bb2136a020b85c5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 19:56:17 2010 +0000

    Trim #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd5cbf8d2d749a955ff3296095b7ecb25c6f2496
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 24 19:47:14 2010 +0000

    Reverted r99326 which added NVdVmVCVTFrm, and later renamed to NVCVTFrm.
    NVCVTFrm will later be used to describe "vcvt with fractional bits".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99415 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8c7c751a6e45ef622b2401d33c0031f8c94ff1b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 19:38:02 2010 +0000

    Fix minor style issues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cf4a80cb785d9edfdfc4731a96137f85979faf0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 19:00:02 2010 +0000

    It's not necessary to call raw_ostream::close explicitly on automatic
    raw_ostream variables immediately before they go out of scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d53ca456f131c514667d29a4ca220216815d769
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Mar 24 18:48:00 2010 +0000

    Do not rely on getCompileUnit() to find source file information for a subprogram.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99410 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1253417e32a440c47cf1bb0c21a8714a4035958
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 24 18:46:34 2010 +0000

    Reverted r99376.  The disassembler will deal with the 2-reg format of these two
    N3VX instructions using special case code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ec6f4c0aea755c6149b42720ccad3dba7d10f6f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 24 16:15:14 2010 +0000

    tweak the arm if conversion heuristic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3efcc8db4a3cd1f63da266d74ff703e8a9a5f358
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Mar 24 13:50:36 2010 +0000

    Fix memory leak in liveintervals: the destructor for VNInfos must be called,
    otherwise the SmallVector it contains doesn't free its memory.
    In most cases LiveIntervalAnalysis could get away by not calling the destructor,
    because VNInfos are bumpptr-allocated, and smallvectors usually don't grow.
    However when the SmallVector does grow it always leaks.

    This is the valgrind shown leak from the original testcase:
    ==8206== 18,304 bytes in 151 blocks are definitely lost in loss record 164 of 164
    ==8206==    at 0x4A079C7: operator new(unsigned long) (vg_replace_malloc.c:220)
    ==8206==    by 0x4DB7A7E: llvm::SmallVectorBase::grow_pod(unsigned long, unsigned long) (in /home/edwin/clam/git/builds/defaul
    t/libclamav/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x4F90382: llvm::VNInfo::addKill(llvm::SlotIndex) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libcl
    amav.so.6.1.0)
    ==8206==    by 0x5126B5C: llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::M
    achineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int, llvm::LiveInterval&) (in /home/edwin/clam/git/builds/defau
    lt/libclamav/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x512725E: llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineI
    nstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav
    .so.6.1.0)
    ==8206==    by 0x51278A8: llvm::LiveIntervals::computeIntervals() (in /home/edwin/clam/git/builds/default/libclamav/.libs/libc
    lamav.so.6.1.0)
    ==8206==    by 0x5127CB4: llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&) (in /home/edwin/clam/git/builds/de
    fault/libclamav/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x4DAE935: llvm::FPPassManager::runOnFunction(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
    v/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x4DAEB10: llvm::FunctionPassManagerImpl::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
    v/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x4DAED3D: llvm::FunctionPassManager::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclamav/.l
    ibs/libclamav.so.6.1.0)
    ==8206==    by 0x4D8BE8E: llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard const&) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)
    ==8206==    by 0x4D8CA72: llvm::JIT::getPointerToFunction(llvm::Function*) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6911ef38ce85171d7ac857ca7874e6beb69b9e86
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 24 13:21:49 2010 +0000

    Finally land the InvokeInst operand reordering.
    I have audited all getOperandNo calls now, fixing
    hidden assumptions. CallSite related uglyness will
    be eliminated successively.

    Note this patch has a long and griveous history,
    for all the back-and-forths have a look at
    CallSite.h's log.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99399 91177308-0d34-0410-b5e6-96231b3b80d8

commit e77a6dee6e5948e871cc53b9b96e014e7a5897aa
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 24 11:58:07 2010 +0000

    tighten a type and remove trailing whitespace, no functional changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99398 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a62795ac2a0e8821ecabca9f83ee2ab9815766
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 24 10:29:52 2010 +0000

    increase const goodness and remove pointless getUser() calls

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99395 91177308-0d34-0410-b5e6-96231b3b80d8

commit db5862e1f468b4435d6210dc6c1fd40fa183c817
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 24 10:12:54 2010 +0000

    cache result of UI.getOperandNo() instead of calling it twice, it is cheaper this way

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11083492c72f01294892a88f2cda7df723ac0a4f
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Mar 24 09:05:14 2010 +0000

    Fix comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99392 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2594c5e0318f11d450d8df739761e8b10ba60ef1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 24 03:43:40 2010 +0000

    MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56db942fbf6c44bf4521764d70b12f5e57e55594
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 24 01:50:28 2010 +0000

    dbg_value may end a block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 873d635ab8f5bc22c4353514a85882993593241f
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 24 01:29:25 2010 +0000

    Mark VMOVDneon and VMOVQ as having the N2RegFrm form to help the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28d2618ce57640a795bc62a49dbbcb24fdf1ce65
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 01:02:12 2010 +0000

    Switch INC8r to defining its pattern in terms of X86inc_flag
    and defining the add pattern with Pat<>, eliminating a use of
    parallel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24deac155e1430c07e463c2b95a7f72252a15238
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 24 00:57:50 2010 +0000

    Renamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm,
    respectively, and add some more comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 306ec9ef5209d2905bc5a1144886360711120c37
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 00:53:38 2010 +0000

    Remove the ConvertActions table and associated code, which is unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99372 91177308-0d34-0410-b5e6-96231b3b80d8

commit a614d3244c08c274c8aa18cfe3d4a44853456440
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:53:27 2010 +0000

    Add a method to get a StringMapEntry from a pointer to the string
    data it contains (similar to GetStringMapEntryFromValue).
    Patch by Greg Clayton!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1976491476940828b23f3320a3a3cff507bf56d7
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:49:29 2010 +0000

    switch SDTBinaryArithWithFlags to be a multiple-result node as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fd5b27f2f0f50358143718f5ff69f54c51c488f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:47:47 2010 +0000

    Switch SDTUnaryArithWithFlags to being modeled as a two-result
    ISD node.  The only change in the generated isel code are comments
    like:

    <                 // Src: (X86dec_flag:i16 GR16:i16:$src)
    ---
    >                 // Src: (X86dec_flag:i16:i32 GR16:i16:$src)

    because now it knows that X86dec_flag returns both an i16 (for the result)
    and an i32 (for EFLAGS) in this case.  Wewt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99369 91177308-0d34-0410-b5e6-96231b3b80d8

commit d391d1f8273b7f6a49e9b92d7c3ab097b812ff97
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:41:19 2010 +0000

    add plumbing for handling multiple result nodes
    in some more places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8532485f469f2a34e6d6f5673058d9cc358beed7
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 00:27:49 2010 +0000

    Fix coding style.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99362 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc8b98175081827c11fdb1bf048b423a7297e413
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 24 00:22:24 2010 +0000

    Generalize findNearestCommonDominator to work on post-dominators,
    based on a suggestion by Jochen Wilhelmy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99361 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8188176af493716b296dbef6f65bfe0c30423ad
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:16:52 2010 +0000

    remove 64-bit or_is_add parallels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99360 91177308-0d34-0410-b5e6-96231b3b80d8

commit adf7ff50a30052cb8250e8084c0603af8426a66a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:15:23 2010 +0000

    remove useless or_is_add parallel's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99359 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdc0f579c83be2b4f5a5a9f4e94bf2b033d4ddbc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:12:57 2010 +0000

    reduce nesting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99358 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5e4525f3ba819bdc3e02257d057db924b290255
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:06:46 2010 +0000

    implement SDTCisVTSmallerThanOp with EnforceSmallerThan
    instead of reimplementing it wrong and poorly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99357 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4d6a69dc9ede4b55fbd4647b30192a9cc23f893
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 24 00:03:13 2010 +0000

    try being more permissive for if-conversion on ARM V7. see what the nightly
    test run permformance numbers say as to whether it helps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99355 91177308-0d34-0410-b5e6-96231b3b80d8

commit f371a0f3025883a93c4420d94ae762946eac14c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 24 00:01:16 2010 +0000

    bring sanity to EnforceVectorEltType

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f36311b7a3dcb323a0bfd8301e7a775127348b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 23:50:31 2010 +0000

    Cleanup getImplicitType

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dd862e970c44c36c0354b1c21d33b4b0c1931d5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 23 23:48:51 2010 +0000

    Revert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings."

    This reverts commit 99345. It was breaking buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c91d2e0e2d7e05bed8b0363f54250d44a02ea23
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 23:47:14 2010 +0000

    MC: Sprinkle in some more interesting statistics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b68972ea8be7c04f7fec30eba17b6962bca3469
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 23:47:12 2010 +0000

    llvm-mc: Support -filetype=null, for timing purposes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99349 91177308-0d34-0410-b5e6-96231b3b80d8

commit f32ad3910853b61b9e0e6db62eed538d32c6fe95
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 23:47:07 2010 +0000

    llvm-mc: Fast path EvaluateAbsolute of constants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95c5cf74f1f8881680b49a4ca54118e2a467b823
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 23:46:27 2010 +0000

    reject void in intrinsic type lists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62271f2b07e7904041b92d5dd7017562192d9e2c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 23:46:07 2010 +0000

    [llvm_void_ty] is no longer needed for result types,
    just use an empty result list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1aca81c9bc9eeaa4cc067283d58c7df76912e3fd
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 23 23:14:44 2010 +0000

    Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.

    This is work in progress. So far, SSE execution domain tables are added to
    X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99345 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0996dd09f62ded2f3976ebb61e4530fe25ba45
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 23:09:14 2010 +0000

    Renamed NVdImmFrm to N1RegModImmFrm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99344 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b103ef05707cc08ecc2152ca803fa33bacaa970
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 23 23:09:03 2010 +0000

    Remove if DISABLED not if not DISABLED...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cd2eec646bd7e9935fc4a3933d3b8eda0571579
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 22:59:07 2010 +0000

    add some accessors to callsite/callinst/invokeinst to check
    for the noinline attribute, and make the inliner refuse to
    inline a call site when the call site is marked noinline even
    if the callee isn't.  This fixes PR6682.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99341 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5b3351982518eb5411912075d1bef98cba55c7b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 23 22:44:42 2010 +0000

    Revert 99335. getTypeToExpandTo's iterative behavior is actually
    needed here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f31143be820cbe57a61b342b8ad1a0b8050c074
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 23 22:15:33 2010 +0000

    Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
    Apple-style builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99336 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5310777be9b03c5705894c7d9e36b9c71d54534
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 23 22:15:31 2010 +0000

    Remove getTypeToExpandTo, since it isn't adding much value
    beyond just calling getTypeToTransformTo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99335 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4af2c53ec5362cdfb32cecaddbdee94fa10af59
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 21:59:43 2010 +0000

    make sure to delete the llvm module before calling llvm_shutdown,
    this fixes crashes in error cases, PR6683

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99334 91177308-0d34-0410-b5e6-96231b3b80d8

commit f011237843078e12b8a7fd97c8d23f95a9b1e4f5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 23 21:53:22 2010 +0000

    Don't back past debug info intrinsics; SCEVExpander's strategy
    for ignoring debug info intrinsics everywhere else is to advance
    past them, and it needs to be consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 275f178d17f333508b55ac3c7519be7347f9ccdf
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 23 21:48:41 2010 +0000

    fix an infinite loop in Module::getEndianness, PR6684
    patch by Alex Mac!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99330 91177308-0d34-0410-b5e6-96231b3b80d8

commit c492bd83e21ed8ff9fa161a1fc43b28bf66b0628
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 21:35:03 2010 +0000

    Fix typo in the comment for N3VX class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99328 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ad1edc3e4fc44e85a1597e7dc00ca40895ff4d6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 21:30:12 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99327 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe9f61bdfbeecfbc66a38e77541c7cd0083640f8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 21:25:38 2010 +0000

    Add New NEON Format NVdVmVCVTFrm.
    Converted some of the NEON vcvt instructions to this format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 285787a2581f91871e7e9ce7a962effe46f1611d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 23 21:15:59 2010 +0000

    Skip debugging intrinsics when sinking unused invariants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 713f6370bc84327cb0e30cfbf8fa42d9519e8352
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 20:40:44 2010 +0000

    Add New NEON Format NVdVmImmFrm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99322 91177308-0d34-0410-b5e6-96231b3b80d8

commit e84fdb032ac5f725905d9b64138200b1574bf459
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 20:36:12 2010 +0000

    Ignore dbg_value's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b7a8612c0b513d635f7e66932d12396c7fe2283
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 20:35:45 2010 +0000

    Teach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::iterator that does this automatically?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99320 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8e67f4bb75fd3117a38b0b8398a5c17154d1827
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 20:33:48 2010 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1837d5010a964a1f9a623f00ea08b558d4748163
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 23 18:54:46 2010 +0000

    Fix VLDMQ and VSTMQ instructions to use the correct encoding and address modes.
    These instructions are only needed for codegen, so I've removed all the
    explicit encoding bits for now; they should be set in the same way as the for
    VLDMD and VSTMD whenever we add encodings for VFP.  The use of addrmode5
    requires that the instructions be custom-selected so that the number of
    registers can be set in the AM5Opc value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 386b167cab4ac08fde567ee4dc525abdcfe4c14c
Author: Stuart Hastings <stuart@apple.com>
Date:   Tue Mar 23 18:39:23 2010 +0000

    Test case for llvm-gcc r99305.  Radar 7659636.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99306 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6b0f2d1a9ca2f1f58f588026e47f23475154296
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 23 17:23:59 2010 +0000

    Fix bad indentation, 80-column violations, and trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99295 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad1287232a55d237e7b8ae6df647d3f400425456
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 23 16:43:47 2010 +0000

    Add New NEON Format NVdImmFrm.
    Ref: A7.4.6 One register and a modified immediate value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99288 91177308-0d34-0410-b5e6-96231b3b80d8

commit d275f1077a70d1758100fe8b167339cfbd833b13
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 15:50:49 2010 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3891874d4646edf472f9f95eb3f8c27ec301db1d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 15:49:37 2010 +0000

    Forgot this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99283 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2380130fcc58a9847e4afb0c81451a1797e4b6d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 15:48:04 2010 +0000

    Teach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizations down stream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99282 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8bb7f06a5dcdbe156ec9dee517ce96026857b6f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 23 14:40:20 2010 +0000

    add assert in argpromotion, which cannot trigger
    if Function::hasAddressTaken works as advertised

    also included some cosmetic cleanups

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99276 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0f273b5a6e8a3cb8a8a48b23f8e84052393da46
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 23 13:45:54 2010 +0000

    word-o

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99275 91177308-0d34-0410-b5e6-96231b3b80d8

commit a180ed5f1f48e09a39f6424e5a4dabdb4268bf40
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 23 06:26:18 2010 +0000

    Rename some instructions to match the corresponding NEON opcode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99266 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a6055ef4b5ba34a87a65f0685a6c625c9de4ab4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 23 06:20:33 2010 +0000

    Change VST1 instructions for loading Q register values to operate on pairs
    of D registers.  Add a separate VST1q instruction with a Q register
    source operand for use by storeRegToStackSlot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99265 91177308-0d34-0410-b5e6-96231b3b80d8

commit 690fd00ecb48070b955fc5977afbe94fb1ec4717
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 23 06:06:09 2010 +0000

    Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99263 91177308-0d34-0410-b5e6-96231b3b80d8

commit b790b3ad04aaba7934c5c1112dbdf1c83e38f9ff
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 23 05:25:43 2010 +0000

    Change VLD1 instructions for loading Q register values to operate on pairs
    of D registers.  Add a separate VLD1q instruction with a Q register
    destination operand for use by loadRegFromStackSlot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99261 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0ed890a8f248050f149ac98522870a849124e67
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 05:09:03 2010 +0000

    MC: Switch to using MCInst fragments to do relaxation.

    Also, both MCMachOStreamer and MCAssembler are now target independent!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 741002c54ebdfca00bb60bdb5ccf1e23b2cf7934
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 03:13:05 2010 +0000

    MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d8101c33f959b2a8246d5a1e09854e3a54deee
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 02:36:58 2010 +0000

    MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9346ea82843349ba29795b4173e0911d2765b6ef
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 01:39:09 2010 +0000

    MC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 075402d0f528ac6ce26a3a53df8caf3906394e3a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 23 01:39:05 2010 +0000

    MC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't need to recompute them during relaxation. I will revisit this once all the other pieces of fast relaxation are in place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99244 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5ada695635bbf34d19cb786ac1bb559432fd61f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 22 23:26:12 2010 +0000

    Put MCSectionCOFF::Name into the MCContext instead of leaking it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 736fca6f04b529477c792d860e6ddd1a01862618
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 23:16:48 2010 +0000

    MC: Add MCInstFragment, not used yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00e93ce7c5993e130ec44ac3251523a55c817217
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 23:16:43 2010 +0000

    Add a FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 942b5ddb52a3a2742eef73df2dba8b4c8e66a8f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 22 23:15:57 2010 +0000

    Fix PR6673: updating the callback should not clear the map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62846cd844c52e2a4d0d8e5d881a8980e427da8f
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 22 23:11:36 2010 +0000

    Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f430b6c16bd577114be9a192ea17ee9017c20bf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 22 22:44:31 2010 +0000

    Fix 80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99224 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b7a0d8538d0287eaa0715824310b45b8d1f82f0
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 22 22:38:48 2010 +0000

    DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9df6d2060c62e8bdcbcc938ec4d97dde4a63392c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 21:49:41 2010 +0000

    MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99218 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7501212668a0c1b49176a169a5cd804a7630ac0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 21:49:38 2010 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99217 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1b8f8f6dbd2b99e568b06a6b2934b2a9f09ffa7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 21:49:34 2010 +0000

    MCInst: Add ::dump_pretty.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 548a9365fe5931d471f3370c2307b9979e350597
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 22 21:24:33 2010 +0000

    Reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99214 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0efe817fab4aef24a03f866795542b503bacc72
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 22 20:56:36 2010 +0000

    Change intrinsic result type for void to store it as an empty list
    instead of as a single element list with VoidTy.  Now with a fix
    for the verifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99206 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfd06a2d695c18fdd3486f21675258a5707a1596
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 20:35:50 2010 +0000

    MC: Change MCObjectWriter::RecordRelocation to take an MCFragment (instead of a MCDataFragment). Object files should only need the generic MCFragment features.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99205 91177308-0d34-0410-b5e6-96231b3b80d8

commit d34b64f03dae31744c3ebceee9f46f7520b89955
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 20:35:46 2010 +0000

    MC/Mach-O: Factor out getOrCreateDataFragment().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36f8b8dd8aa0aad830de4a06cedbaa737a3ff1e7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 20:35:43 2010 +0000

    MC: Eliminate MCFragment::getMaxFileSize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 313facb5d5e5af5b8325c231d3c5fd573dc10907
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 22 20:35:35 2010 +0000

    MC: Share the MCAsmLayout object, although its still not used for anything important.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 037f5661b799e08d803950d92a0d6c4009d60f88
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 22 20:31:39 2010 +0000

    Rename one more NEON instruction that I missed earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d39b943c9a1ea6f753409fa47bb4a5653c9a3dd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 22 18:47:14 2010 +0000

    Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
    it allocates to DwarfDebug::DIEValues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6898511e3be8d0eafcc8467cf442089510352594
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 22 18:40:50 2010 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a11ce53d6c530316fa5807b957622d81926de0e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 22 18:22:06 2010 +0000

    Regroup some instructions.  No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99192 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc9acd985d425bf9af57e72a144adad495054117
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 22 18:13:18 2010 +0000

    Rename some VLD1/VST1 instructions to match the implementation, i.e., the
    corresponding NEON instructions, instead of operation they are currently
    used for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d59706725a97262e42b96ff11304077d3296db8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 22 18:02:38 2010 +0000

    Remove some redundant instruction classes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99187 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd2cb7a999867e415950fdae75f96454b5fa8caa
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Mar 22 16:59:44 2010 +0000

    llc doesn't need LinkAllVMCore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99186 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8b64519e6149a1d6acf8333dd1a27e1fdc7d736
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 22 16:43:10 2010 +0000

    Refactor instruction encoding arguments for VLDnLN/VSTnLN classes to
    specify encoding bits in arguments instead of "let" expressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99185 91177308-0d34-0410-b5e6-96231b3b80d8

commit d96fddd7dd68557795eae1dd3733393c7108a362
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Mar 22 16:30:04 2010 +0000

    Completely remove Blackfin patterns that thought JustCC was i1.

    Thanks, Chris!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99183 91177308-0d34-0410-b5e6-96231b3b80d8

commit f21373d12152a35ff42aaf968075b993fbb9b0ce
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 22 16:13:21 2010 +0000

    Don't leak a MachineInstruction from Thumb1InstrInfo::restoreCalleeSavedRegisters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64ae57c2512b86a973581cd83d142e5a00191345
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 22 15:56:04 2010 +0000

    Avoid leaking the FunctionPassManager from opt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31ff8f40f8b6bc558a4c68bc69b75ba8cddc9ce4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Mar 22 09:11:00 2010 +0000

    backing out r99170 because it still fails on clang-x86_64-darwin10-fnt

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 478001d513fd58879c697cdb9f81bab9ebb3d88e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Mar 22 08:28:00 2010 +0000

    Now that hopefully all direct accesses to InvokeInst operands are fixed
    we can reapply the InvokeInst operand reordering patch. (see r98957).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77e427769a0c1dce88e3cc147aa00b2c0dd7f8dd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 22 05:23:37 2010 +0000

    Free all Constants in ~LLVMConstantImpl.  We avoid assertion failures
    by dropping all references from all constants that can use other
    constants before trying to destroy any of them.

    I also had to free bugpoint's Module in ~BugDriver().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81042fd4dc518a4aec2aa48214244438d1607b3d
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Sun Mar 21 23:15:13 2010 +0000

    Fix the ocaml kaleidoscope tutorial to fix linking external libraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b5d4dac070706a21c259cd22d45f900f635d1a4
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Mar 21 22:23:02 2010 +0000

    modernize the do-all-for-me target to run lit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b20bf7e5e79ec124f03ef11eb88be14b1b69162
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 22:08:41 2010 +0000

    Re-add the Metadata.h include to LLVMContextImpl.h so that MDNode is complete
    where FoldingSet<MDNode> is instantiated.  Clang and MSVC complain; gcc
    doesn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8460da1b03c5138a9d5d4185e005e9da6de2bd47
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 21:17:34 2010 +0000

    Move the LLVMContextImpl implementation into a .cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63a535b8c10001cc189647804f311f413d0d9f29
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 20:37:19 2010 +0000

    Memoize InlineAsms into the LLVMContext and delete them on shutdown.
    Fixes PR803.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02fecdded2e2b292cef5603e24e3d33408eb1095
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 08:12:46 2010 +0000

    XFAIL tests from LLVMC on valgrind or valgrind+leak-checking.  We
    don't care about leaks from tblgen, and I assume we don't care about
    valgrind errors in llvm-gcc/g++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79aeb15ca222e5ba6f503d8011169d9d984f5904
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 01:47:49 2010 +0000

    Free SavedLI even if SimpleRegisterCoalescing::JoinCopy() returns early.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7089e96d6e98a36f663f48cfca444fb147d1afd9
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 21 01:47:33 2010 +0000

    When we don't pass --vg-leak to lit, pass --leak-check=no to valgrind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4510226a613885a3fdb6c1c72e1ce948e286ae3d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Mar 21 01:38:21 2010 +0000

    Fix suggested parentheses warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9821ce5d2fd83a98e18bf03590e523da2e5fb0ff
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 20 23:08:45 2010 +0000

    Add support for XFAILing valgrind runs with memory leak checking independently
    of runs without leak checking.  We add -vg to the triple for non-checked runs,
    or -vg_leak for checked runs.  Also use this to XFAIL the TableGen tests, since
    tablegen leaks like a sieve.  This includes some valgrindArgs refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99103 91177308-0d34-0410-b5e6-96231b3b80d8

commit afa664c88197b2e8195d47993341c065df8fd08b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:38 2010 +0000

    MC/X86: Fix an MCOperand link, when we parsing shrld $1,%eax and friends; I believe this fixes the last memory leaks under test/MC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0db6550e0bb7488e9c757aa6ebbd8763a9a3c830
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:35 2010 +0000

    llvm-mc: Fix MCInstPrinter memory leaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82d38e3c374f2116878ceff71c84a41a0e53f815
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:32 2010 +0000

    MC/Mach-O: Remove Darwin host specific tests, we don't need them anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99100 91177308-0d34-0410-b5e6-96231b3b80d8

commit c69ce47452b468bbbefe0cc05e3674bb7df1aab0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:29 2010 +0000

    MC/Mach-O: Tweak optimal_nop test to be host independent.
     - This also avoids us running valgrind on /usr/bin/as, which has leaks. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99099 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31d1971a5de40cfc4103ade8eb96b71393c22e73
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:25 2010 +0000

    llvm-mc: Fix memory leak of MCAsmInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99098 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef30c5200ad6bcacb538c96ba3ef3ad617175d30
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 22:36:22 2010 +0000

    TargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 828189692f5e890eda4399352559001165c09195
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 22:20:40 2010 +0000

    pr6652: Use LDM to restore PC to the return address on ARMv4.
    Patch by John Tytgat!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e181a3da6944a8aa535e160b6294251ebca53ef
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 22:13:40 2010 +0000

    Re-commit r98683 ("remove redundant writeback flag from ARM address mode 6")
    with changes to add a separate optional register update argument.  Change all
    the NEON instructions with address register writeback to use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12c6215eef8b222c74520d95aa5f435fc5bbe13a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 21:57:36 2010 +0000

    Add instruction variants for VST2, VST3, and VST4 "store-lane" operations with
    address register writeback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99094 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3334f7dd7f69196c530f9750053838e19cac34b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 21:45:18 2010 +0000

    Add variants of VST2, VST3 and VST4 with address register writeback, and
    rewrite the existing VST3 and VST4 instructions to use the same classes as
    the others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 291c8cf1a91cc2162a3a9ab4b57ac28ecb3ff2ff
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 21:15:48 2010 +0000

    Add instructions for double-spaced VST3 and VST4 without address register
    writeback, and refactor the existing double-spaced VST2 instructions.
    These are only for the disassembler since codegen doesn't use them, at
    least for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 635f76e12b280b970fc7749336c1fec1649716c2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 21:12:48 2010 +0000

    tests: Mangle '-vg' onto the end of the triple when running under valgrind, so
    we can use the standard XFAIL and XTARGET to conditional tests based on
    valgrind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 516306f5060541a524beb07f43ad052ce73ba8df
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sat Mar 20 21:00:25 2010 +0000

    Add a setCalledFunction member to InvokeInst (like in CallInst)
    and use this (as well as getCalledValue) to access the callee,
    instead of {g|s}etOperand(0).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99084 91177308-0d34-0410-b5e6-96231b3b80d8

commit c54b0156264a9ab1ca7135529e09cda6a787d664
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 20:54:36 2010 +0000

    Add VST1 instructions with address register writeback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d86d4c98798534fa68b12fd84eeaf3b0e404fa9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 20:47:18 2010 +0000

    Add instruction variants for VLD2, VLD3, and VLD4 "load-lane" operations with
    address register writeback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e21f9c82cdaa53eba9645f46662a6ba00ef2fee
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 20:39:53 2010 +0000

    Tidy some more comments and whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47249df3d75c9093be93087c58e4d9a7649a2384
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 20:10:51 2010 +0000

    Add variants of VLD2, VLD3 and VLD4 with address register writeback, and
    rewrite the existing VLD3 and VLD4 instructions to use the same classes as
    the others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2489f876bba601c28730891b6084d9ac8f54d8ea
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 19:57:03 2010 +0000

    Tidy some comments and whitespace for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cac730877cdfc233cae0d2da6975c6c06559f02
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 18:35:24 2010 +0000

    Rename some instructions for consistency and sanity: use "_UPD" suffix for
    load/stores with address register writeback, and use "odd" suffix to distinguish
    instructions to access odd numbered registers (instead of "a" and "b").
    No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d6725c211c98a4340f2cbe00eebfd828903baf9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 18:14:26 2010 +0000

    Add instructions for double-spaced VLD3 and VLD4 without address register
    writeback, and refactor the existing double-spaced VLD2 instructions.
    These are only for the disassembler since codegen doesn't use them, at
    least for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99065 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac349b8d7a6fcbb80fb2e60cc4712a6a9089c46f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 17:59:03 2010 +0000

    Add VLD1 instructions with address register writeback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99062 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce634263e1b04ec03e9e24d97a0004c8e58e6e4d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Mar 20 17:41:18 2010 +0000

    PIC16: Simplify code by using a std::set<std::string> instead of a sorted & uniqued std::list of leaked char*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99061 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77b06ab306644426c4c841b396ff553fe36e0f81
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 06:34:02 2010 +0000

    Revert the rest of 98679.
    --- Reverse-merging r98679 into 'lib/Target/ARM/ARMInstrVFP.td':
    U    lib/Target/ARM/ARMInstrVFP.td

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8790467552d8fea55c8709b9695a386f6d405ed4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 20 06:05:13 2010 +0000

    Fix a very bad typo.  Since the register number was off by one, the ARM
    load/store optimizer would incorrectly think that registers D26 and D28
    were consecutive and would generate a VLDM instruction to load them.
    The assembler was not convinced.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0acee7273ab9224bc309b4ae2b54d31f3eb99ae6
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Mar 20 03:53:53 2010 +0000

    Clear the SCEVExpander's insertion point after making deletions,
    so that the SCEVExpander doesn't retain a dangling pointer as its
    insert position. The dangling pointer in this case wasn't ever used
    to insert new instructions, but it was causing trouble with
    SCEVExpander's code for automatically advancing its insert position
    past debug intrinsics.

    This fixes use-after-free errors that valgrind noticed in
    test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and
    test/Transforms/IndVarSimplify/exit_value_tests.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e3287c6f922902bdc67c46f942a42290d5e0636
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Mar 20 03:17:05 2010 +0000

    Stupid svn. Add back to the lost sibcall tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b234d161805fd707dcba156120626f362706ccd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Mar 20 02:58:15 2010 +0000

    If call result is in ST0 and it is not being passed to the caller's
    caller, then it is not safe to optimize the call into a sibcall since
    the call result has to be popped off the x87 stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 625f8ac193fb9e1bcebdca4deb770a5283ee75a0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 20 01:58:40 2010 +0000

    Better fix for r98994, MachObjectWriterImpl wasn't intended to be virtual.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99031 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaa58c5b72050ba19fb9e3fa811e63a14c6fca1c
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Mar 20 00:17:00 2010 +0000

    Add NLdStFrm Format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 745e4cb80c4e485b29879623c369563008568874
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 19 23:50:27 2010 +0000

    Revert r98679.  The disassembler will be updated to depend on the existence of
    IndexModeUpd and then populates the Inst{21}=1 while populating the instructions
    for disassembly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cba83a9e74bb859ba5a1c6256e4ea3ce5e2fc52
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Mar 19 23:04:23 2010 +0000

    Revert r99009 temporarily it seems to be breaking the bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e3d0f2762c8bc9334747a0f876540d3dae2a125
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Mar 19 22:51:32 2010 +0000

    Revert this change, since it was causing ARM performance regressions.

    --- Reverse-merging r98889 into '.':
    U    lib/Target/ARM/ARMInstrNEON.td
    U    lib/Target/ARM/ARMISelLowering.h
    U    lib/Target/ARM/ARMInstrInfo.td
    U    lib/Target/ARM/ARMInstrVFP.td
    U    lib/Target/ARM/ARMISelLowering.cpp
    U    lib/Target/ARM/ARMInstrFormats.td

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57fe410320c688809ed90778bbabb430afed2661
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 22:40:56 2010 +0000

    Change intrinsic result type for void to store it as an empty list
    instead of as a single element list with VoidTy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814cf10a8dadaaf0f92c4bf7d1f5451736176898
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 21:56:21 2010 +0000

    make getOperandNum a static function (since it's just used by
    ApplyTypeConstraint) and make it handle multiple result nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70e479ff5535f4f361b6359e791ece4954b273eb
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Mar 19 21:51:03 2010 +0000

    Fix more places to more thoroughly ignore debug intrinsics. This fixes
    use-before-def errors in SCEVExpander-produced code in sqlite3 when debug
    info with optimization is enabled, though the testcases for this are
    dependent on use-list order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65fd2d46665cd39aabd94567acd5d916c4514410
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 21:43:36 2010 +0000

    remove the patterns that I commented out in r98930, Dan verified
    that they are dead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c28ee3f466af3119f7d9063e43c5bb7d19c3b32
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 21:37:09 2010 +0000

    major surgery on tblgen: generalize TreePatternNode
    to maintain a list of types (one for each result of
    the node) instead of a single type.  There are liberal
    hacks added to emulate the old behavior in various
    situations, but they can start disolving now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98999 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2140ff71c546d7108239cc86df01fa1edcfead3
Author: John Criswell <criswell@uiuc.edu>
Date:   Fri Mar 19 21:31:39 2010 +0000

    Force configuration of some projects before others.  In particular, some
    projects rely upon llvm-gcc, the LLVM test suite, and poolalloc.  This ensures
    that the aforementioned projects have their object trees created first so that
    other projects can find their object trees when they themselves are configured.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e2df0cc245e8e498e036efeab9d6a5ecacfc43a
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Mar 19 21:26:46 2010 +0000

    Fix -Wnon-virtual-dtor warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10b320be0d3d5017e624e2944df041e503dfa054
Author: Tanya Lattner <tonic@nondot.org>
Date:   Fri Mar 19 21:22:13 2010 +0000

    Regenerate configure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 907da429985acce392e28d109030e4c92b3e573c
Author: Tanya Lattner <tonic@nondot.org>
Date:   Fri Mar 19 21:19:10 2010 +0000

    Bump version number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99e30587317d62a8aad1e28fad785fba38795c8a
Author: Ben Holt <bjh@apple.com>
Date:   Fri Mar 19 21:12:29 2010 +0000

    Test commit (removed extra blank line)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 720a5bbff2aa41244077d1677c2b10da9413855c
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Mar 19 21:06:24 2010 +0000

    call void @llvm.dbg.declare(metadata !{i32* null}, metadata !1)
    is valid, but not useful, when variable  identified by !1 is optimized away by the optimizer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98986 91177308-0d34-0410-b5e6-96231b3b80d8

commit 326feffafa30502745545275a4b15be5f54e8a02
Author: John Criswell <criswell@uiuc.edu>
Date:   Fri Mar 19 21:04:16 2010 +0000

    Updated copyright year to 2010.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98985 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd6fb6c3a242bac4dfcb37fbe5d22fc10e6a4468
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri Mar 19 20:04:42 2010 +0000

    Fixed the encoding problems of the crc32 instructions. All had the Operand size
    override prefix and only the r/m16 forms should have had that.  Also for variant
    one, the AT&T syntax, added suffixes to all forms.  Also added the missing
    64-bit form for 'CRC32 r64, r/m8'.  Plus added test cases for all forms and
    tweaked one test case to add the needed suffixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98980 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0ed8bcc1cc81de3711ec1ff52cbc81691f8617a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Mar 19 19:05:41 2010 +0000

    Stop trying to merge identical jump tables.  This had been inadvertently
    disabled for several months (since svn r88806) and no one noticed.  My fix
    for pr6543 yesterday reenabled it, but broke the ARM port's code for using
    TBB/TBH.  Rather than adding a target hook to disable merging for Thumb2 only,
    I'm just taking this out.  It is not common to have identical jump tables,
    the code we used to merge them was O(N^2), and it only helps code size, not
    performance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98977 91177308-0d34-0410-b5e6-96231b3b80d8

commit f434892c75290dcc4a804026ec001165f3618f52
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 18:07:55 2010 +0000

    MC/Mach-O/x86_64: Add relocation support.
     - This is "extraordinarily" Darwin 'as' compatible. See the litany of FIXMEs littered about for more information.
     - There are a few cases which seem to clearly be 'as' bugs which I have left unsupported, and there is one cases where we diverge but should fix if it blocks diffing .o files (Darwin 'as' ends up widening a jump unnecessarily).
     - 403.gcc build, runs, and diffs equivalently to the 'as' built version now (using llvm-mc). However, it builds so slowly that I wouldn't recommend trying it quite yet. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f87fc6f183e6820cc1729ea58caa7f688c335ba
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 18:07:50 2010 +0000

    llvm-mc: Fix target selection for --disassemble to use GetTarget.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 959f67b2c8e8fe9fa9a5332baa9514aacaf0fab9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 18:07:48 2010 +0000

    MC/X86: Rename alternate spellings of {ADD64,CMP64} and mark as "code gen only" so they don't get selected by the asm matcher.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 388f045be5dfb7866d2ebdc602669a65b8d4e794
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 18:07:43 2010 +0000

    FileCheck: Don't print "possibly intended match" line if it would match the
    "scanning from here" one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04d7a877e5b14b102629ffa2d1972c91f52e977c
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Mar 19 17:54:21 2010 +0000

    Set numThreads to 1 by default when Python is older than 2.5.2.

    Python 2.4 always hits this bug: http://bugs.python.org/issue1731717
    when running check-lit on multi-core systems.
    Setting numThreads to 1 makes it slower, but at least the results reported are
    correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43da5190607e0109bdc211b272c36c09b1a39f8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 17:41:26 2010 +0000

    make FillWithPossibleTypes take a predicate to filter types so that
    we don't blow the smallvector as often.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dc953d022679e787938dc15d3475f94122bf686
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Mar 19 17:39:00 2010 +0000

    Renumber LdStExFrm from 28 to 11 and shift the existing format values to make
    room for it.  This is in preparation for another patch which is adding NEON
    subformats to facilitate disassembly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98967 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9602e094e9392707d07673b7ff2029dec64027e
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri Mar 19 15:36:58 2010 +0000

    Acccess control is lame

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78abea948dacb71fcf37359f84147c40ab431398
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri Mar 19 15:31:09 2010 +0000

    struct -> class, to silence a Clang warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98961 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5d10a1d5a773d22f0fff792674803ebe0bae1ed
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 19 13:50:02 2010 +0000

    back out r98957, it broke http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 662fc495e89b4f70b222c2fdc5f314064940c024
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Mar 19 11:55:53 2010 +0000

    Recommit r80858 again (which has been backed out in r80871).

    This time I did a self-hosted bootstrap on Linux x86-64,
    with no problems. Let's see how darwin 64-bit self-hosting
    goes. At the first sign of failure I'll back this out.

    Maybe the valgrind bots give me a hint of what may be wrong
    (it at all).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98957 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad365b3ba578cb0e7417665487cd9bf637e6f8bb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 10:43:26 2010 +0000

    MC: Add TargetAsmBackend::createObjectWriter.
     - MCAssembler is now object-file independent, although we will surely need more work to fully support ELF/COFF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98955 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2ff4f3e3019928c062220a60a221873ed548da7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 10:43:23 2010 +0000

    MCCodeEmitter: Add target independent fixup flag for is-pc-relative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98954 91177308-0d34-0410-b5e6-96231b3b80d8

commit b18332dffb1e69b7b3aa4056a2c2e98b50f7582c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 10:43:18 2010 +0000

    MC: Sink code emitter into MCAssembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a8963a33f6af4c2171c966e0e0c9aa6d5e6eed5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 10:43:15 2010 +0000

    MC/Mach-O: Move to MachObjectWriter.{h,cpp}.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4259f216392be9c59f6eab6252d134dcc194d8ac
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 09:29:03 2010 +0000

    MC: Add TargetAsmBackend::isVirtualSection hook.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98950 91177308-0d34-0410-b5e6-96231b3b80d8

commit e29ab668ff8a427f040adf95a9fdbadea8beb089
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 09:28:59 2010 +0000

    MC: Split MCObjectWriter out of MCAssembler.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98949 91177308-0d34-0410-b5e6-96231b3b80d8

commit c650b6dd823a222db68c1f05be9c37c7a3e322c2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 09:28:55 2010 +0000

    MCAssembler: Pull out MCObjectWriter class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98948 91177308-0d34-0410-b5e6-96231b3b80d8

commit adf6ab8e2bc51bd0711376382c0cfaedd7134719
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 09:28:12 2010 +0000

    MCAssembler: Move ApplyFixup to the TargetAsmBackend, this is a target specific not object writer specific task.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98cf02dc1201d1995536b8f474062c9b2ea92be5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 07:09:47 2010 +0000

    MC/Mach-O: Lift the fixup evaluation and application up (to the same place), and eliminate MCAsmFixup::FixedValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98944 91177308-0d34-0410-b5e6-96231b3b80d8

commit 306d566fda007a77244331c1ca0833029bd21880
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 07:09:33 2010 +0000

    MC/Mach-O: Factor out ExecutePostLayoutBinding, to separate the post-layout changes the object writer may need to make to the assembler from the actual .o writing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98943 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bafbab8d61ea5c6acb8de92a62c57a48c9d4f4d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 07:09:18 2010 +0000

    MC/Mach-O: Lift relocation emission logic a bit higher to separate evaluation / relocation handling from the actual .o writing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e23f3f8161302c373180c7dd9b1b34a94d6f83d
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 19 07:06:46 2010 +0000

    Remove a memory leak from the CBackend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81d8026e9fc4d471caf19de802c8e41fa00a285e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 05:48:53 2010 +0000

    fix an MCInstPrinter leak that jyasskin pointed out:
    createAsmStreamer now takes ownership of the instprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 967557ba4952c438edb4a3c03eadf40010e42c1f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 05:34:15 2010 +0000

    resolve fixme: we now infer the instruction-level 'isvariadic' bit
    from the pattern if present, and we use it instead of the bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8affb3a1d037bb538bba56c8a8809d11f2e5ba3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 05:33:51 2010 +0000

    set SDNPVariadic on nodes throughout the rest of the targets that
    need them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98937 91177308-0d34-0410-b5e6-96231b3b80d8

commit b46bc6360c96cf4ad263eac1ead138f38fe9eec0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 19 05:25:28 2010 +0000

    Remove a memory leak from ThumbTargetMachine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98936 91177308-0d34-0410-b5e6-96231b3b80d8

commit b84b2a6cc5b298705f393edcaed01393cc223305
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 05:07:09 2010 +0000

    add a new SDNPVariadic SDNP node flag, and use it in
    dag isel gen instead of instruction properties.  This
    allows the oh-so-useful behavior of matching a variadic
    non-root node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98934 91177308-0d34-0410-b5e6-96231b3b80d8

commit e87dcfbda9cabc1336451330807ef386dc37d177
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 04:54:36 2010 +0000

    rewrite EnforceSmallerThan to be less bone headed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98933 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5e29e84a1cd13aee850cf23e9a756e0d83113fe
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 04:53:47 2010 +0000

    remove some damaged sign extend patterns that can never match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98932 91177308-0d34-0410-b5e6-96231b3b80d8

commit c621978614e5faa520742d397102870a60643f87
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 04:53:21 2010 +0000

    disable some illegal blackfin patterns.  sext from i32 to i32 can never
    match.  Jakob, please take a look when you get a chance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98931 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc646cf823e173e786c3596db4c584cdc886a81d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 04:14:21 2010 +0000

    comment out a bunch of parallel store patterns that apparently
    can't match or just have no testcases.  Will remove after
    confirmation from dan that they really are dead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98930 91177308-0d34-0410-b5e6-96231b3b80d8

commit be5cedfc028b4d46e17d6399b5ebe822c49717ff
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:23 2010 +0000

    Fix -Asserts warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98928 91177308-0d34-0410-b5e6-96231b3b80d8

commit f889d092668836fb9d681ad4f1f656d520659788
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:20 2010 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98927 91177308-0d34-0410-b5e6-96231b3b80d8

commit df1d35d1ec790ff8f425402fc18ee4a11c3b3e7d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:18 2010 +0000

    MC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct algorithm (used on x86_64) for determining whether an evaluated fixup is fully resolved (doesn't need relocation).
     - Test cases will follow, once we have x86_64 relocation support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98926 91177308-0d34-0410-b5e6-96231b3b80d8

commit be67f754ca1f090bd5d7343e796cc79e6bf928a7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:15 2010 +0000

    MC/Mach-O/x86_64: Add getAtom[ForAddress].
     - These find the defining symbol which identifies the containing atom for a symbol or address. They are currently very slow, but will be eliminated eventually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98925 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4399eb738a0780498ac293b176bb6145c51dfe7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:12 2010 +0000

    MC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix some corner cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98924 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9375f390d83055e39b7a7e22d81bba1cebd7c420
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:09 2010 +0000

    MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a made up term to refer to non-temporary labels + temporary labels in sections-which-require symbols. For Darwin, it corresponds to symbols which effectively define an atom.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0879d26f302e1244a817e4b0f53f39e16ce94639
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 03:18:05 2010 +0000

    Drop KLEE blurb, we don't have anything new.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98922 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf7d7eb55ca2a09bbe797154f2e000b31e2c77c9
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Mar 19 01:19:52 2010 +0000

    Fixed a widening bug where we were not using the correct size for the load

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 686227a388531328acf5008a37df0ceaa9d3d925
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 19 01:15:03 2010 +0000

    X86: Fix encoding for TEST64rr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 891f4fc2ffafc86a47836c01d069decc4bfe4932
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 01:14:27 2010 +0000

    eliminate the last use of EEVT::isUnknown

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98918 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a9e88da7961df7f7a816e2f25b26c2f3ff796cc
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 19 01:10:41 2010 +0000

    Remove `ignore` from LLVMC/TestWarnings.td.  This avoids
    https://bugs.kde.org/show_bug.cgi?id=231257 and seems not to have been
    needed in the first place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98bf288aeb9a0cd7e27145dd5ac3cb41eefb4917
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 01:07:44 2010 +0000

    Finally change the instruction looking map to be a densemap from
    record* -> instrinfo instead of std::string -> instrinfo.

    This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug
    build (20%).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98916 91177308-0d34-0410-b5e6-96231b3b80d8

commit be0bde6aa444b35addf9e8988ec4e97678c64e1a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 01:00:55 2010 +0000

    make inst_begin/inst_end iterate over InstructionsByEnumValue.
    Use CodeGenTarget::getInstNamespace in one place and fix it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cd292ea182cc7e91aad4893c4d9eebffa0ba57f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:50:47 2010 +0000

    revert 98912

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98914 91177308-0d34-0410-b5e6-96231b3b80d8

commit f570d419662ebbed6609b94286e5dc4112c1d282
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:40:22 2010 +0000

    make inst_begin/inst_end iterate over InstructionsByEnumValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98912 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee9eac8fbe7646edee13504272ddd93af8879edb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Mar 19 00:36:35 2010 +0000

    FP16 constfolding

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 569146e8dd295da1fdfc1745c5a9243b362bb447
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:34:35 2010 +0000

    change Target.getInstructionsByEnumValue to return a reference
    to a vector that CGT stores instead of synthesizing it on every
    call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7497231a3d7e8c81062999d7526347696c2b4afd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 19 00:32:11 2010 +0000

    Revert r98892. BSD systems may not have bash installed at all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98909 91177308-0d34-0410-b5e6-96231b3b80d8

commit eaf13e218519757ff11cda222e5cf809d81aa631
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:23:20 2010 +0000

    factor copy and paste code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5523d56b8e9d7572b4779c6b8672a8a71b424572
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:18:23 2010 +0000

    don't go through getInstructions().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ffa1a4b1b68e1deff01124ed86be179f83ad67
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 19 00:09:28 2010 +0000

    Bugpoint's default memory limit (100MB) was too low for valgrind, so
    this patch raises the default to 800MB when valgrind's active.  800
    was chosen semi-arbitrarily.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98905 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fd56212fd16b0fb746856a89190ee9269f01d1d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:07:20 2010 +0000

    look up instructions by record, not by name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98904 91177308-0d34-0410-b5e6-96231b3b80d8

commit afdea872062df084f0d4fef4b58b05e60cedf180
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 19 00:01:11 2010 +0000

    Now that tblgen can handle matching implicit defs of instructions
    to input patterns, we can fix X86ISD::CMP and X86ISD::BT as taking
    two inputs (which have to be the same type) and *returning an i32*.
    This is how the SDNodes get made in the graph, but we weren't able
    to model it this way due to deficiencies in the pattern language.

    Now we can change things like this:

     def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP,
    -                  [(X86cmp RFP80:$lhs, RFP80:$rhs),
    -                   (implicit EFLAGS)]>; // CC = ST(0) cmp ST(i)
    +                  [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>;

    and fix terrible crimes like this:

    -def : Pat<(parallel (X86cmp GR8:$src1, 0), (implicit EFLAGS)),
    +def : Pat<(X86cmp GR8:$src1, 0),
               (TEST8rr GR8:$src1, GR8:$src1)>;

    This relies on matching the result of TEST8rr (which is EFLAGS, which is
    an implicit def) to the result of X86cmp, an i32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b3900c18faaed47b9a15be644d9c4e120b4b3d9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 18 23:57:57 2010 +0000

    Update comment to refer to the right filename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b1b32aece2fab51ed4e63ef4bed5f7b454d65b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 23:57:57 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54985d849b61463ec45d0cc4307a081a4279952d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 23:57:40 2010 +0000

    expand tblgen's  support for instructions with implicit defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95623895aa6751144dea2d42e9e2e25f9c829e53
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 23:15:10 2010 +0000

    infer results of a pattern from implicit defs.  This allows you to do something
    like this:

     def : Pat<(add ...),
               (FOOINST)>;

    When fooinst only has a single implicit def (e.g. to R1).  This will be handled
    as if written as (set R1, (FOOINST ...))

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fa0d25aac955076e26264d59f373a2c49c8ad58
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Mar 18 22:56:02 2010 +0000

    Work around a valgrind oddity where it doesn't pass the full path of a
    script to the #! command by using bash instead of /bin/sh.  Bash
    searches $PATH for its script argument, but dash, which /bin/sh
    resolves to on some systems, does not.
    https://bugs.kde.org/show_bug.cgi?id=231257 tracks the valgrind
    problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ee453b1166c15f2779a04ebc3d9d5756daa8a08
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Mar 18 22:35:45 2010 +0000

    Get rid of target-specific fp <-> int nodes when still I'm here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98889 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3386aa9f4fb1e17937d5e1a9ab9d9244ef7794f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Mar 18 22:35:37 2010 +0000

    Get rid of target-specific nodes for fp16 <-> fp32 conversion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98888 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf2c4f5bfa4109c58da90053fa2f55178bcaf27f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Mar 18 22:35:02 2010 +0000

    Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass copies weirdness more straightforward. Also, add GPR <-> SPR copy support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44b33e4e97ae3b982952a751442d6c510dc1175e
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 18 21:58:33 2010 +0000

    Couple of changes that Dan mentioned for llvm.stackprotector fast-isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71afbbbb2d969958e2750ee4f52467c1384a4d28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 21:53:54 2010 +0000

    X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, we
    were missing it on some movq instructions and were not including the appropriate
    PCrel bias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98880 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd1309822617d32ed3b79846e774713466f79717
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 21:42:03 2010 +0000

    capture implicit uses and defs in CodeGenInstruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12e548cdb175ef2ab035b5de50c17efeab2368f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 21:15:05 2010 +0000

    simplify this code, the # of sets in the pattern for an instruction
    shouldn't change this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ee2ed468a0b61e036b039040720834c645ce7bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 21:07:51 2010 +0000

    disallow concatenation of two dags with different operators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98871 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ddba157f9143fa1b600a5e145c828c53e09519b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 21:07:39 2010 +0000

    rewrite this to not artificially force concat the ins/outs list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98870 91177308-0d34-0410-b5e6-96231b3b80d8

commit a127e0085be57cf2bb973bf8f7c311d809a7b42b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 21:06:54 2010 +0000

    fix some buggy ops concatentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9287c94753e3a4af405507cbc8c4296a93c282f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:56:35 2010 +0000

    eliminate support for "ops" in the input/output list of an
    instruction.  Instructions must use 'ins' and 'outs' now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32734ac92e16df86ff73ecae09b06eb3026f7566
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:55:31 2010 +0000

    use ins/outs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3830a67ccd5781092c33016d5596b0dfeeb7974c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:55:18 2010 +0000

    use ins/outs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ced79f95ba0c296d0e6e7ea2c80686f5b4f9708
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:50:52 2010 +0000

    remove some code that was working around old sparc v9 backend bugs.
    Add checking that the input/output operand list in spelled right.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98865 91177308-0d34-0410-b5e6-96231b3b80d8

commit 913b2878a4199ac3d641ecfeb4c8c38a56ca4272
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:50:06 2010 +0000

    outs come before ins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9958a558e1f8c4b46eb158303b7f9c31322d668c
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 18 20:27:26 2010 +0000

    Make fast-isel understand llvm.stackprotector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98862 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0770f3526dbf998ba4989888e5c583c91ee0a51
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 18 20:18:39 2010 +0000

    Refactor NEON ld/st instructions to hardcode class arguments that are constants.
    No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98860 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a4f79cc13aed810e172ac927e6a000d8f71679
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 20:06:05 2010 +0000

    lit: Tweak example tests config.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e7e99f9ac826571024d8b5ddb69117693602015
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 20:06:02 2010 +0000

    MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement a
    temporary workaround for matching inc/dec on x86_64 to the correct instruction.
     - This hack will eventually be replaced with a robust mechanism for handling
       matching instructions based on the available target features.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 247b8af2280b72075bb617477f379128d2d3465f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 20:05:56 2010 +0000

    MC/AsmMatcher: Add support for target specific "instruction cleanup" functions,
    to allow custom post-processing of matched instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 165b0d7bca3a5ce457bee66017a144c6d74517ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 20:04:36 2010 +0000

    fix an x86-64 encoding bug Daniel found.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98855 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d68c8ff9afbd728f794fd32864d43df64d6b85f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 19:37:35 2010 +0000

    offsetof always has type size_t.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98854 91177308-0d34-0410-b5e6-96231b3b80d8

commit b970654407c9b45487255911a4570541e31c7f92
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 19:34:33 2010 +0000

    Simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98853 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7336cd6a13751549a399008e58bc9636cdd90de
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Mar 18 19:34:06 2010 +0000

    Fix a name clash that was breaking MSVC builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98852 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5d8599c056ec98808620dbf21d3ee2930e1f8aa
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 19:01:12 2010 +0000

    Explicitly cast std::min's arguments to avoid type mismatches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d15b61c211dd35ddc73077780cfc361a1731603
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Mar 18 18:59:08 2010 +0000

    another one

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98850 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2b0a86143d6359e90084b5ee31b8e19c09a2d6b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 18:49:47 2010 +0000

    Define placement new wrappers for BumpPtrAllocator and
    RecyclingAllocator to allow client code to be simpler, and
    simplify several clients.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98847 91177308-0d34-0410-b5e6-96231b3b80d8

commit a73a9b4225b6c265e554b1a4408e5cf296928b29
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 18:47:50 2010 +0000

    Make this test more lenient; with SmallVector now using actually
    aligned storage, the capacity may be more than what is explicitly
    requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98846 91177308-0d34-0410-b5e6-96231b3b80d8

commit a445d2c2dbd59dd1944795a31d280313fe396ddf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 18 18:42:41 2010 +0000

    Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to
    always create a new jump table.  The intention was to avoid merging jump
    tables in SelectionDAGBuilder, and to wait for the branch folding pass to
    merge tables.  Unfortunately, the same getJumpTableIndex() method is also
    used to merge tables in branch folding, so as a result of this change
    branch tables are never merged.  Worse, the branch folding code is expecting
    getJumpTableIndex to always return the index of an existing table, but with
    this change, it never does so.  In at least some cases, e.g., pr6543, this
    creates references to non-existent tables.

    I've fixed the problem by adding a new createJumpTableIndex function, which
    will always create a new table, and I've changed getJumpTableIndex to only
    look at existing tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 270f35d4cd9f95f80671372f687253612cff2a9d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 18:40:47 2010 +0000

    Fix a bug found by inspection; in the __GNUC__ code, the alignment
    doesn't apply to the type, only to the variable, so subsequent uses
    of U which expect it to be aligned weren't actually aligned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98843 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbc0a03ae69250ebb97f2f5c3f1d22e7e16eab3d
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date:   Thu Mar 18 18:18:00 2010 +0000

    Nick wants these alphabetized

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98840 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07dc9bf7e011aaf1c39155a26a499b10a1c68638
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 18:10:56 2010 +0000

    add a special relocation type for movq loads for object
    files that produce special relocation types where the
    linker changes movq's into lea's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98839 91177308-0d34-0410-b5e6-96231b3b80d8

commit c82cba3a78d663a8fe4659cffad23f92e5b71091
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 18:07:13 2010 +0000

    Add explicit braces to avoid ambiguous ‘else’.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98838 91177308-0d34-0410-b5e6-96231b3b80d8

commit 741d94196a4ecf75b3b3e8d1fedaae1d5544c2ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 17:52:22 2010 +0000

    callq is pcrelative

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26a8807b18826727e295d0f1e76151d7736aa937
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 18 16:52:15 2010 +0000

    Check if function names start with "llvm." before trying to lookup them up as
    intrinsics.  The intrinsic lookup code assumes that this check has been done
    and assumes the names are at least 6 characters long.  Valgrind complained
    about this.  pr6638.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98831 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef66a9fcc7ce5464fcd6b2960f3af554217d3080
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 18 16:41:16 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68b10232005439c6ec0b8b6318a3553fffb2105f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 16:16:38 2010 +0000

    Add the ability to "intern" FoldingSetNodeID data into a
    BumpPtrAllocator-allocated region to allow it to be stored in a more
    compact form and to avoid the need for a non-trivial destructor call.

    Use this new mechanism in ScalarEvolution instead of
    FastFoldingSetNode to avoid leaking memory in the case where a
    FoldingSetNodeID uses heap storage, and to reduce overall memory
    usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1724e8c0db4da7f5c32543a14b6bf42ebc986ee0
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Thu Mar 18 14:31:30 2010 +0000

    Adding MicroBlaze as an experimental backend in the release notes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46fc2fa52f2414b40ccfe90d7de6469faf94a621
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Mar 18 13:52:05 2010 +0000

    CMake: Add options for using static runtime on MSVC++ build.

    Patch by Victor Zverovich!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34aa35b090704230bd77cff4eb854020a0abc579
Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
Date:   Thu Mar 18 13:16:38 2010 +0000

    Add an extra newline to separate PP directives from the contents

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98820 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c1efa1a8207fd99d26672395d02528f0e8062f2
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Mar 18 12:18:36 2010 +0000

    Try to fix a valgrind error on 32 bit platforms: use %zu instead of %llu to format a size_t.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e1c55abbc3e12834ac3fafb705fa78807bb1c0d
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Mar 18 07:00:12 2010 +0000

    Avoid a problem in libc_freeres() seen on a linux-i686 buildbot when running
    under valgrind:

    ==19577== Invalid free() / delete / delete[]
    ==19577==    at 0x4C9C866: free (vg_replace_malloc.c:325)
    ==19577==    by 0x5121104: ??? (in /lib/libc-2.10.2.so)
    ==19577==    by 0x4C97412: _vgnU_freeres (vg_preloaded.c:62)
    ==19577==    by 0x5041486: __run_exit_handlers (exit.c:93)
    ==19577==    by 0x50414FE: exit (exit.c:100)
    ==19577==    by 0x5028B5C: (below main) (libc-start.c:254)
    ==19577==  Address 0xffffffff is not stack'd, malloc'd or (recently) free'd
    ==19577==

    Apparently this happens under certain versions of glibc, so valgrind provides
    the --run-libc-freeres=no option to avoid calling freeres().  This may increase
    the number of "still reachable" blocks valgrind reports, but we don't care
    about those, while this error breaks the buildbots.

    There are upstream bugs about this at
    http://sourceware.org/bugzilla/show_bug.cgi?id=10610 and
    http://bugs.kde.org/show_bug.cgi?id=167483, but they don't look likely to be
    fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e910a9a69f54a514601e3bde077db61c157fd37
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 18 06:55:42 2010 +0000

    Turning off post-ra scheduling for x86. It isn't a consistent win.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98810 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab344e7e2164ffb4d410d154c96af11ffe939d68
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 18 06:52:15 2010 +0000

    add a couple blurbs back

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98809 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79bf3abfc4605fe3686b11b538f3c6bd948f532f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 18 01:17:13 2010 +0000

    Reapply r98755 with a thinko which miscompiled gengtype fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98793 91177308-0d34-0410-b5e6-96231b3b80d8

commit a20ff3ba564348165e1bb71f5396232c6c6c9fa7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 00:59:10 2010 +0000

    MCValue: Change to holding MCSymbolRefExprs instead of MCSymbols, we will need this for accessing to symbol modifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7733e1afc78598c2357520d34d281745cdcce681
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 00:59:02 2010 +0000

    Add MCSymbol::isInSection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83f31740bb8ef42dec4323efafbd528d5fe1d985
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 18 00:58:53 2010 +0000

    MC/Darwin: Add a new target hook for whether the target uses "reliable" symbol differences, basically whether the assembler should attempt to understand atoms when using scattered symbols.

    Also, avoid some virtual call overhead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98789 91177308-0d34-0410-b5e6-96231b3b80d8

commit da4fc928e041190584ce440d523c9c41fc7a4792
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 18 00:23:47 2010 +0000

    Revert "Change coalescer complexity from N^2 to N logN by changing one letter."

    This reverts commit 98776. It broke the llvm-gcc boot strap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98784 91177308-0d34-0410-b5e6-96231b3b80d8

commit c95665550e3ea04ff0b1c8aa7a74ae699b4449f0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 17 23:58:35 2010 +0000

    X86 address mode matching code MatchAddressRecursively does some aggressive hack which require doing a RAUW. It may end up deleting some SDNode up stream. It should avoid referencing deleted nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98780 91177308-0d34-0410-b5e6-96231b3b80d8

commit b26231b2009f4450a13ec4352a896da77b977729
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Mar 17 23:52:37 2010 +0000

    Debug info intrinsic does not intefer during tail call optimization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98778 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae2b26c4b10d7e3381273c7a0513bedeeea2156
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 17 23:26:50 2010 +0000

    Revert 98745 with respect to the addition of NEONFrm subformats for disassembly.
    There is a better way coming up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98777 91177308-0d34-0410-b5e6-96231b3b80d8

commit d573ab389748590c5cc0d32ae7cf745a4a0c82f1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Mar 17 23:21:58 2010 +0000

    Change coalescer complexity from N^2 to N logN by changing one letter.

    Remove ugly hack that aborted the coalescer before using N^2 time.

    This affects functions with very complicated live intervals for physical
    registers, i.e. functions with thousands of function calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98776 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fd28195eb1f67113a2ddec9ef44f6aa35f9c335
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 17 23:14:23 2010 +0000

    Fixed a bug in the IT mask printing where T means the cond bit in the mask
    matches that of Firstcond[0] and E means otherwise.  The Firstcond[0] is also
    tagged in the Mask to facilitate Asm printing.  The disassembler also depends
    on this arrangement.  This is similar to what's described in A2.5.2 ITSTATE.

    Ran:

    utils/lit/lit.py test/CodeGen/ARM test/CodeGen/Thumb test/CodeGen/Thumb2

    successfully.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98775 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7f89267a78f651caa5245152b165570169d96b8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 17 23:01:59 2010 +0000

    Refines 98745 so that it only contains the patch related to the output of the
    addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>.

    This patch removes the impl of printT2AddrModeImm8s4OffsetOperand() from
    ARMAsmPrinter.cpp.  It is used by disassembler as of now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a2d7de005548b89f0e55c38399abbdcb48b3f31
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Mar 17 22:01:36 2010 +0000

    Changed install_name for libEnhancedDisassembly.dylib on
    Mac OS X to match current install location.  This has no
    effect on other platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a669776961c288a95e08e4c04a125bb70816e90
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 17 21:28:19 2010 +0000

    remove arm mode workaround for ARM host

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98771 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d300f6199c75179cdd582a13979a3f1773fec2f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 17 21:25:13 2010 +0000

    Use llvm-gcc to build ARM when it's available

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eb72fb1ab219ffc5fef3dd7478987160f106ec2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 17 21:16:45 2010 +0000

    Clean up whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6558e378ccdbb3d1f4b7782cefafc93c05d377d6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 17 21:13:43 2010 +0000

    Increase format field from 5 to 6 bits.  ARMII::FormMask was increased to 0x3f
    in svn r74988 but the format field was never widened.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cbcf0c8054ff34b27b7356451383b65c5a7ceef
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 17 19:55:31 2010 +0000

    Initialize Size member to appease valgrind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98763 91177308-0d34-0410-b5e6-96231b3b80d8

commit f950b22ed469bf3fd3725ec059f1c038a4d4a2c8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 17 19:54:53 2010 +0000

    Revert 98755, which may be causing trouble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98762 91177308-0d34-0410-b5e6-96231b3b80d8

commit b96046d0d525cd3565af2de9a93b56a141dac43c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Mar 17 19:27:31 2010 +0000

    feedback from Nick

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7460a402228edbb773380f0fd2257c00a48a74d3
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 17 18:51:01 2010 +0000

    Change SCEVNAryExpr's operand array from a SmallVector to a plain
    pointer and length, and allocate the arrays in ScalarEvolution's
    BumpPtrAllocator, so that they get released when their owning
    SCEV gets released. SCEVs are immutable, so they don't need to worry
    about operand array resizing. This fixes a memory leak reported
    in PR6637.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98755 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9061e86fd2c8451802d821a96fea559e2f6e14d9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 17 18:43:25 2010 +0000

    Remove an unnecessary (and misspelled) typedef.  Tweak whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22d5ca506e1feb1d7f1043164f4dd61462b233dd
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date:   Wed Mar 17 18:33:00 2010 +0000

    missing include

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98752 91177308-0d34-0410-b5e6-96231b3b80d8

commit c616c7c29f7c3c382b9cf59d5b6606477150f641
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 17 18:32:39 2010 +0000

    98745 contains something unrelated to the patch.
    Remove it from ARMAddressingModes.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98751 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8d212294c8d4892b6725a70b4bea48ce09e2157
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 18:15:52 2010 +0000

    notes from evan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78500c2059e8425a27fdfc8992e8d7f10b7dd140
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 17 17:52:21 2010 +0000

    Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
    instructions to help disassembly.

    We also changed the output of the addressing modes to omit the '+' from the
    assembler syntax #+/-<imm> or +/-<Rm>.  See, for example, A8.6.57/58/60.

    And modified test cases to not expect '+' in +reg or #+num.  For example,

    ; CHECK:       ldr.w	r9, [r7, #28]

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98745 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee1cb8dd66d9ba4c47649fa7dc8a4a6ecee584b9
Author: Stuart Hastings <stuart@apple.com>
Date:   Wed Mar 17 17:51:08 2010 +0000

    Testcase for r98728.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dffa0caa72775e62537d74201035b53a25425b3
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Mar 17 17:29:55 2010 +0000

    Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98743 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9ef7fc392211bcd3a434db7affd9aeaf81b8210
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 17:25:49 2010 +0000

    several updates

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28c1c2c1bdf252262e57df750f56b1e5e0adbdc7
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Mar 17 17:04:56 2010 +0000

    Make lit pay attention to --vg for tcl tests too, which makes it work on LLVM's
    non-unit tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21bdd10d31bc4aec953f1693ba4d1391eb4d0f54
Author: John Criswell <criswell@uiuc.edu>
Date:   Wed Mar 17 15:01:50 2010 +0000

    Fixed spelling errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3477009eb2a96b1909cb63f74be4d4dae57a5cf8
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Mar 17 07:08:12 2010 +0000

    Fix a false-positive memory leak in code using RemoveFileOnSignal().  Because
    libstdc++'s std::string class points to the interior of an allocation, valgrind
    reports strings still alive at program termination as possible leaks.  I didn't
    use a ManagedStatic for this because System can't depend on Support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98716 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5815a85392128259350468769042d4970d7d8983
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 06:42:25 2010 +0000

    combiner-aa too, what's its status?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fe3341683613a6779d7b4211ec6fe116f499c4e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 06:41:58 2010 +0000

    more chris scribble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00750f70589920d1b46780ef5f712c2507ab5951
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 05:41:18 2010 +0000

    fix GetOrCreateTemporarySymbol to require a name, clients
    should use CreateTempSymbol() if they don't care about the
    name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 526f2b276a4e672753b5fbc6ac560169090150ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 04:41:49 2010 +0000

    add a bunch of random and unformatted notes as I am reading
    through tons of old commits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49f55c9097d6db58c038ce39e453fabafdfa841e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 04:02:39 2010 +0000

    add logo, comment out project info, they need to send updates
    to get reincluded.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 223b574e4c0cff794c8c24ddf86e001915912a9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 17 01:45:17 2010 +0000

    remove dead variable, patch by Nathan Howell!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95d152e6187143abb6c8eccb82417a0af583c67f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Mar 17 01:18:45 2010 +0000

    Fix death tests in -Asserts builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c72fcabbeeaff1a07c395846958a5fb6086b462
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 23:40:32 2010 +0000

    Remove a check that can no longer be true, after r84803.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23ec0ffebf30581bf493d3c479c87959adfdb7d1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 23:01:13 2010 +0000

    Revert 98683.  It is breaking something in the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5246b2f8b439383df09ab1358074d9980f8a1045
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 16 21:51:27 2010 +0000

    Fix liveintervals handling of dbg_value instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8afc3aa4767286db8a66114a47fd96878819a51a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 21:44:40 2010 +0000

    Remove redundant writeback flag from ARM address mode 6.  Also remove the
    optional register update argument, which is currently unused -- when we add
    support for that, it can just be a separate operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08d4dfc8126f21a1c78f964ba2077c4b2b03f8ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 21:25:55 2010 +0000

    reapply r98656 unmodified, which exposed the asmprinter not
    handling constant unions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4684345381efcefca6270ee198da6218ca139e31
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 16 21:25:05 2010 +0000

    Disambiguate the *_UPD  and * variants by specifying the writeback flag as 1.
    This is for the disassembly work.

    There are cases where this is not possible, for example, A8.6.53 LDM Encoding T1.
    In such case, we'll use an adhoc approach to deduce the Opcode programmatically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 194692f167109fa7da44c98b4d9cb047918f8453
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 21:21:35 2010 +0000

    add asmprinter suport for unions, fixing Feature/unions.ll to actually
    be doing something useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7190a73de30f09be300028f9565f26c8ad46e815
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Mar 16 21:02:07 2010 +0000

    Ignore debug value instructions while analyzing BB for tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98675 91177308-0d34-0410-b5e6-96231b3b80d8

commit b24d3efa05e5bdb1df2cb359ce7919628066f845
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 16 20:52:59 2010 +0000

    Revert r98666 too; it's checkin-without-testing day!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 425a686932868c79b4797a1ba8ac021189b32a29
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Mar 16 20:33:15 2010 +0000

    str[r]chr returns its pointer argument so we cannot mark it as nocapture. Thanks to Duncan for spotting my mistake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82d5da84c4643b779c374c27c138de48896c36b7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 20:08:07 2010 +0000

    temporarily xfail

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2711ac4e228e7047caae8db8d72e85586cac3171
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Mar 16 19:36:43 2010 +0000

    Mark str[r]chr readonly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a69ebf2ea586857473a28c79be3ff47896701d4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 16 19:35:34 2010 +0000

    Revert r98656, its breaking all over the place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98662 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc66902f3cac02c73838185768a42f9e931dcbef
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 19:15:03 2010 +0000

    improve support for uniontype and ConstantUnion, patch by Tim Northover!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7d36f94cac2d3db15fcdd3678db1d666a4c84cb
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 16 19:08:20 2010 +0000

    Add an rdar number to this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00efa17e4a4051147b40654a059f20bf91f99475
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 19:07:05 2010 +0000

    work around an MSVC2010 bug, PR6504

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8de4a2ad5088db458f92db2d5e3dc4474ce9b981
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Mar 16 18:50:54 2010 +0000

    Chris pointed out that producing undef here is wrong in
    general.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97420883bdb4989a742955c72ebc7ae4dfc4642f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 18:38:09 2010 +0000

    Remove redundant writeback flag in ARM addressing mode 5.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34146c4cb183d30d655d520d9b85dadfe0171945
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 17:46:45 2010 +0000

    Remove the writeback flag from ARM's address mode 4.  Now that we have separate
    instructions for ld/st with writeback, the flag is completely redundant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98643 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4ce9a4bbb1302dfb182fc1be3d703e1eb466793
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 17:44:45 2010 +0000

    Fix unused variable warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1edfd696d515d29402ad89c001f62f0431e5c3a0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 16:59:47 2010 +0000

    --- Reverse-merging r98637 into '.':
    U    test/CodeGen/ARM/tls2.ll
    U    test/CodeGen/ARM/arm-negative-stride.ll
    U    test/CodeGen/ARM/2009-10-30.ll
    U    test/CodeGen/ARM/globals.ll
    U    test/CodeGen/ARM/str_pre-2.ll
    U    test/CodeGen/ARM/ldrd.ll
    U    test/CodeGen/ARM/2009-10-27-double-align.ll
    U    test/CodeGen/Thumb2/thumb2-strb.ll
    U    test/CodeGen/Thumb2/ldr-str-imm12.ll
    U    test/CodeGen/Thumb2/thumb2-strh.ll
    U    test/CodeGen/Thumb2/thumb2-ldr.ll
    U    test/CodeGen/Thumb2/thumb2-str_pre.ll
    U    test/CodeGen/Thumb2/thumb2-str.ll
    U    test/CodeGen/Thumb2/thumb2-ldrh.ll
    U    utils/TableGen/TableGen.cpp
    U    utils/TableGen/DisassemblerEmitter.cpp
    D    utils/TableGen/RISCDisassemblerEmitter.h
    D    utils/TableGen/RISCDisassemblerEmitter.cpp
    U    Makefile.rules
    U    lib/Target/ARM/ARMInstrNEON.td
    U    lib/Target/ARM/Makefile
    U    lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
    U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
    U    lib/Target/ARM/AsmPrinter/ARMInstPrinter.h
    D    lib/Target/ARM/Disassembler
    U    lib/Target/ARM/ARMInstrFormats.td
    U    lib/Target/ARM/ARMAddressingModes.h
    U    lib/Target/ARM/Thumb2ITBlockPass.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fe73e8bcefe45fb8a4fbaf37504538e3c212acc
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 16 16:36:54 2010 +0000

    Initial ARM/Thumb disassembler check-in.  It consists of a tablgen backend
    (RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb,
    and the disassembler core which invokes the decoder function and builds up the
    MCInst based on the decoded Opcode.

    Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
    instructions to help disassembly.

    We also changed the output of the addressing modes to omit the '+' from the
    assembler syntax #+/-<imm> or +/-<Rm>.  See, for example, A8.6.57/58/60.

    And modified test cases to not expect '+' in +reg or #+num.  For example,

    ; CHECK:       ldr.w	r9, [r7, #28]

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85f0889c86d795373ae17fdf8e269b6527a78bb7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 16:19:07 2010 +0000

    Stop using the old pre-UAL syntax for LDM/STM instruction suffixes.
    This does not move entirely to UAL syntax, since the default "increment after"
    suffix is empty but we still use "IA" for that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dac209e62fd6160a7366863096933031dd9683b
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 15:53:58 2010 +0000

    more BranchInst tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c954d33e7ba9d4936e84ddd002cf35ede10e2f8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 16 15:53:02 2010 +0000

    NNT: Add -nouname option, so machine uniquing can occur across physical machines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5982adf0fffaf18ff85551e02d11bc6c0f20b025
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 15:26:09 2010 +0000

    add BranchInst tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73d6df4b7bee64a5f0efeaded8887adfb742eeed
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 12:32:03 2010 +0000

    appease valgrind testers

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a56662e8326a696948eb0a24ed0862b6a4f00b7
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Mar 16 11:36:35 2010 +0000

    Check that P is not zero initialized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98627 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9c19bed1e7afe131205ae10f311f26d86c34f68
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 11:24:53 2010 +0000

    add single return tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 019bcaa1de3ec1ec10e8a605ae9373fad2672236
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 10:59:48 2010 +0000

    fix PR6589
    adjusted unittest

    I have added some doxygen to OptionalOperandTraits,
    so hopefully there will be no confusion in the future.

    Incidentally OptionalOperandTraits is not used any more (IIUC),
    but the obvious client would be BranchInstr, and I plan
    to rearrange it that way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98624 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6fc731b1f2d9c46f0444de5993ed73349299262
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Mar 16 09:55:46 2010 +0000

    begin humbly with a repro of PR6589

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6218903786365a05256ac2156c55e72c4879b303
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 06:41:47 2010 +0000

    add support for bugpointing the integrated assembler.  Something like this
    works for me: bugpoint Output/bisort.llvm.bc -run-llc-ia -safe-run-llc

    This uses llc with the integrated assembler as the test compiler and llc
    without it as the safe compiler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 993d1af5d9e7a23c3184c24cfa3f00eb2e644089
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 06:39:08 2010 +0000

    fix the same bug on the x86-64 side of the fence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4435df11b4b82a755a510f70ccf1be5d959221ff
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 06:30:18 2010 +0000

    fix the encoding of TAILJMPd.  This fixes Benchmarks/Olden/bisort
    with the integrated assembler!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f37a2f1b981224d5884d5d1e9ea22a6e7490421
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Mar 16 05:54:54 2010 +0000

    Avoid a memory leak in JITDebugRegisterer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ddaa5988fc7b2f255d7c3e838aa9d0a8aac6c9a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 05:33:29 2010 +0000

    Add a testcase for the change in r98586.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26405add4c9d98bfedb2fec61494e7165198675b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 16 02:01:51 2010 +0000

    Use getFirstTerminator().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98604 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2caef3678c4266e1c5b2ce329a5a932b93620a6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 16 01:54:20 2010 +0000

    Forgot testcase for r98599.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98602 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1a3debe441c1ba5b8bcb58313383005de835254
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 16 01:05:35 2010 +0000

    When checking if something's killed, don't rely simply on whether it's marked as
    "used outside of the block". If the block ends in a return, then it won't be
    used outside of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98599 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a882994f0342f59a988d5b1ebccc79bae0ff99a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 00:35:11 2010 +0000

    don't form a RecordChild or CheckChildType for child #'s over 7, we don't
    have enums for them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0969e1869f23779f7a7dfdfdad2ea55066fadc7b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Mar 16 00:31:15 2010 +0000

    Wrap a long line and add some parens to be consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98596 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff70afe44b62706b70cfe8a3846a66a7dc044c28
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 16 00:29:39 2010 +0000

    Fix the third (and last known) case of code update problems due
    to LLVM IR changes with addr label weirdness.  In the testcase, we
    generate references to the two bb's when codegen'ing the first
    function:

    _test1:                                 ## @test1
    	leaq	Ltmp0(%rip), %rax
    ..
    	leaq	Ltmp1(%rip), %rax

    Then continue to codegen the second function where the blocks
    get merged.  We're now smart enough to emit both labels, producing
    this code:

    _test_fun:                              ## @test_fun
    ## BB#0:                                ## %entry
    Ltmp1:                                  ## Block address taken
    Ltmp0:
    ## BB#1:                                ## %ret
    	movl	$-1, %eax
    	ret

    Rejoice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5da78442d09d743e5f088ec10947d213574b0806
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 15 23:51:06 2010 +0000

    MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr.
     - Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding of the variant if this becomes an issue.
     - This patch also extends llvm-mc to support parsing of the modifiers, as opposed to lumping them in with the symbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98592 91177308-0d34-0410-b5e6-96231b3b80d8

commit a97a0212b7fbe93fe617714b4828ff80a7837af8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Mar 15 23:23:03 2010 +0000

    Recognize code for doing vector gather/scatter index calculations with
    32-bit indices. Instead of shuffling each element out of the index vector,
    when all indices are needed, just store the input vector to the stack and
    load the elements out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98588 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29fabfd8a63bb0fb8d8c987a6e5919c2fcf2fde3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 15 23:09:18 2010 +0000

    Translate "cc" clobber in ARM inline assembly to ARM::CCRRegisterClass.
    Radar 7459078.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bcc1d95b2f011d1d6a03ae8e4df5f722928bd90
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 15 22:23:03 2010 +0000

    Skip debug info intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e59a5c2e96c3b4e16cfb014ba4f6da0024b6faf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 15 21:56:50 2010 +0000

    MC/Mach-O/x86_64: Temporary labels in cstring sections require symbols (and external relocations, but we don't have x86_64 relocations yet).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98583 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75dc5fd43728e0659dc700ab2464b38abe55a5c7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 15 21:56:38 2010 +0000

    MC/Mach-O: Add MCSectionMachO::getType()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19e805dc5368ece646ba3332466b62aea8ac970a
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 15 21:25:29 2010 +0000

    Skip debug info intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98581 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc31bd647b52a86752f7093558b4620da0b42ac5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Mar 15 21:09:38 2010 +0000

    Now that the default for Darwin platforms is to place the LSDA into the TEXT
    section, remove the target-specific code that performs this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83eecad981269251d8b1b658b64a3613b8c30b68
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 20:39:00 2010 +0000

    Implement support for the case when a reference to a addr-of-bb
    label is generated, but then the block is deleted.  Since the
    value is undefined, we just emit the label right after the entry
    label of the function.  It might matter that the label is in the
    same section as the function was afterall.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44941fe100c0f94ad82ee72981618736e46d5b4e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 20:37:57 2010 +0000

    use Mang->getSymbol()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98578 91177308-0d34-0410-b5e6-96231b3b80d8

commit 641e618654ce512da72438f01220bd555015189e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 20:37:38 2010 +0000

    use Mang->getSymbol() more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 464002364a2b2128d43f398d9fc9d7ed16b8b761
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Mar 15 20:32:14 2010 +0000

    Extend MemoryBuffer::getFile() to take an optional "stat" structure
    pointer. If given, the structure will be set with the stat information from
    the file actually read.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10300fb314dd6a9d3f4f4d4df7cad8687c375d22
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 15 19:15:44 2010 +0000

    Create SDDbgValue for dbg_value intrinsics and remember its connections with DAG nodes.
    This is a work in progress. Patch by Dale Johannesen!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d0f859a36fe020e809db5c9e5daa74270dc836c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 19:09:43 2010 +0000

    Fix the case when a reference to an address taken BB is emitted in one
    function, then the BB is RAUW'd before the definition is emitted.  There
    are still two cases not being handled, but this should improve us back to
    the situation before I touched anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98566 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb46db5b9b3ab00675671116dffdd147671807f6
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 15 19:05:46 2010 +0000

    In "empty" bb, the return instruction may not be first instruction, if dbg value intrinsics are present in this bb. Use terminator to find return instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98565 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3f3aeab0ec46627bceb30b8e1e43fdefa1e8a1f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Mar 15 19:04:37 2010 +0000

    Place the LSDA into the TEXT section for x86 Darwin. If the global it's pointing
    to is local to the translation unit, we need to place fill the value of that
    symbol into the non-lazy pointer.

    This should conclude all Darwin changes for placing the LSDA into the TEXT
    section. There is some cleanup to do. I.e., there's no longer a special need for
    target-specific code here. But that can come later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5feacdf31801ca3856a9e7de069077517bd8f358
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 15 18:54:48 2010 +0000

    Avoid sibcall optimization if either caller or callee is using sret semantics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98561 91177308-0d34-0410-b5e6-96231b3b80d8

commit 166c829a384a93c5dcaba8bf282b4b45dc60526e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 18:42:01 2010 +0000

    revert r98550, it isn't necessary or sufficient.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98558 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa472ace725e24e82a0382204957be89216ec707
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 15 18:33:46 2010 +0000

    Emit dwarf variable info communicated by code generator through DBG_VALUE machine instructions.
    This is a work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8

commit b84029ffaf4d4ae7d56e497bf7ad060c57ce5170
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 16:37:42 2010 +0000

    don't eliminate address-taken blocks here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98550 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83b730eca99b28febc146059ad5e59871d382146
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 16:15:56 2010 +0000

    SIGN_EXTEND from the same type as the dest is valid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aaa1a8024b2bb60304f373342f1b7bb9643cfd3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 16:05:15 2010 +0000

    sink the call to VT.getSizeInBits() down into its uses,
    not all unary nodes necessarily have a simple result type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06c0838f23d3cb55711119dcfdb893cf2db64314
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Mar 15 14:01:44 2010 +0000

    Treat copysignl like the other copysign functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4871580a2431e804473984e4f187d23a419439fd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 15 06:59:21 2010 +0000

    Don't save a temporary string into a StringRef field.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fc0a989aaa2fe6b214d602d679b4913923fd499
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 06:23:52 2010 +0000

    fix MCSectionELF to not leak memory, just like I did for MCSymbol.
    MCSectionMachO is already fine (yay for fixed size arrays?),
    MCSectionCOFF still leaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98537 91177308-0d34-0410-b5e6-96231b3b80d8

commit 111901052d478ae9d287485108a08a584e7d6917
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 06:15:35 2010 +0000

    fix a memory leak yjasskin pointed out: MCSymbol is bump pointer
    allocated and thus not freed.  This is cool except that it contains
    and std::string so the string data didn't get freed.  In any case
    there is no reason to redundantly store the string data in the
    MCSymbol anyway, just make the MCSymbol ref the string data in the
    MCContext StringMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98536 91177308-0d34-0410-b5e6-96231b3b80d8

commit 261a3145fb15ac46ee55cdcb3d309e9f8c3224c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 06:03:22 2010 +0000

    eliminate some #if 0 code I added in r96905, type inference
    now enforces that input/output named values have hte same type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98535 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1bcd4082aea88582d15a0e2771bb7d19a7dd5cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 06:00:16 2010 +0000

    Completely rewrite tblgen's type inference mechanism,
    changing the primary datastructure from being a
    "std::vector<unsigned char>" to being a new TypeSet class
    that actually has (gasp) invariants!

    This changes more things than I remember, but one major
    innovation here is that it enforces that named input
    values agree in type with their output values.

    This also eliminates code that transparently assumes (in
    some cases) that SDNodeXForm input/output types are the
    same, because this is wrong in many case.

    This also eliminates a bug which caused a lot of ambiguous
    patterns to go undetected, where a register class would
    sometimes pick the first possible type, causing an
    ambiguous pattern to get arbitrary results.

    With all the recent target changes, this causes no
    functionality change!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98534 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6e03be2d5511d59d9b57286adccc53cd0d2bd12
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 05:55:35 2010 +0000

    MachineMove ctor doesn't need to to mutate input, add 'const'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98533 91177308-0d34-0410-b5e6-96231b3b80d8

commit deadfafe5a8e1bf7809b5b93a3b3bfbe0eea1b4b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 05:53:47 2010 +0000

    do some serious surgery on CellSPU to get it back into a world
    where it uses types consistently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9507c20740611326fce324dc1dde588dccbcee9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 05:53:30 2010 +0000

    fix a few more ambiguous types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d0e94f8038ad39d6e427906ad739a521a21923c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 05:35:37 2010 +0000

    add some missing types

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98530 91177308-0d34-0410-b5e6-96231b3b80d8

commit c834bfba60ad364399e8d954313cc091d123b4b6
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Mar 15 04:57:55 2010 +0000

    Tell Valgrind when we modify already-executed machine code so it knows
    to re-instrument the code.  We depend on the system valgrind.h to
    avoid adding a new license.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dbb559efbcbd722f00c31b41b0e3b56f517a952
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 04:12:21 2010 +0000

    various cleanups from daniel

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7185635ac1491a7c8de4afea98f86e4217f4a96b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 00:52:43 2010 +0000

    fix an ambiguous pattern, contrary to expectations, scalar_to_vector
    doesn't have a type constraint on the scalar because we don't have
    an 'sAny' type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98527 91177308-0d34-0410-b5e6-96231b3b80d8

commit e46ecf062d025232c691f8cc9741235f7290f3f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 15 00:00:42 2010 +0000

    remove dead method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98526 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3797a65747d854835ea11538a8ce5eb5edba390
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 23:16:45 2010 +0000

    don't forget to close a FD on an error condition, found by
    cppcheck, PR6617.  Patch by Ettl Martin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 911a729439f9f209a777523036e55199d93ce458
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 23:03:31 2010 +0000

    tidy up and expound more on how half-float works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 011d4b77d80435b6dbdfd48cdade26a936e6ff9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 22:44:11 2010 +0000

    tidy indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98523 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebc43c18c2a96afdd2305f3f6984c82af304548b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 22:39:35 2010 +0000

    no really, all 64-bit cpu's have cmov support. This should
    fix the rest of the buildbot failures on non-x86 hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5701a2c1320ff40e0bf032be6b8233c874cf2782
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 22:31:16 2010 +0000

    filecheckize a test and mark these wiht a cpu so it passes
    on hosts without cmovs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98521 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee7091a75549e5e51e77d44620aaad44aea6a7cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 22:24:34 2010 +0000

    all 64-bit cpus have cmov, this should fix CodeGen/X86/cmov.ll
    (at least) on non-x86 builders.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fcfc73b86a146707a72765ee222b2a0d92cd0eb
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Mar 14 22:00:28 2010 +0000

    Remove pointless forward declaration, MSVC got confused by this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98519 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce019aa888126346aa66de567fc42cd056918679
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Mar 14 21:08:40 2010 +0000

    Turn calls to copysignl into an FCOPYSIGN node.  Handle FCOPYSIGN nodes
    with ppc_f128 type by having the type legalizer turn these back into a
    call to copysignl.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bf83fd1f6ebe247e7736c63d096c8252db53e27
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Mar 14 19:56:39 2010 +0000

    Rename SDDbgValue.h to SDNodeDbgValue.h for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c49d02ca771e75c05b6aeb3bae1361f64f81922
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 19:46:02 2010 +0000

    fix ShrinkDemandedOps to not leave dead nodes around,
    fixing PR6607

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0be138306d05e589c18508ac54f1b98181a41292
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 19:43:04 2010 +0000

    rewrite ShrinkDemandedOps to be faster and indent less,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3691c5eb834c2094764c7275b951102fd7e2467a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Mar 14 19:28:34 2010 +0000

    Fix jit encoding bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98510 91177308-0d34-0410-b5e6-96231b3b80d8

commit fabb45122db3db4a1657624cd3d05f838fab52dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 19:27:55 2010 +0000

    make -view-isel-dags print after the 'ShrinkDemandedOps' pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ee2c157033051d41575f0e69abd2e539cbf60ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 18:51:18 2010 +0000

    don't have i386-specific tests in CodeGen/Generic, PR6601.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3165e1c5386843fc6aed85d257a00deb4449932e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 18:44:35 2010 +0000

    fix PR6605, X86ISD::CMP always returns i32 (EFLAGS), not
    the operand type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1797b357337e497e7ec759950ebfd5bdfb048fb5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:52 2010 +0000

    Fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98506 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3b8a10114c5ac033f624b2efd0f167e609b86ac
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:47 2010 +0000

    Document fp16 intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69eebea7552eb30d93b5285f95a9e4fd46e81b2d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:43 2010 +0000

    Feature test for half precision FP.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98504 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f331689371b5f262c553b948600baceedf93822
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:38 2010 +0000

    Add substarget feature for FP16

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98503 91177308-0d34-0410-b5e6-96231b3b80d8

commit c29cca0cf505e58a10225be8549dc08413846b8c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:31 2010 +0000

    Add codegen support for FP16 on ARM

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98502 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd6724ba460865c2d083044975f10a0d6a659228
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:24 2010 +0000

    Make default expansion for FP16 <-> FP32 nodes into libcalls

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98501 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca161131ad7531f4f88620ce23c37b879d678ee5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:15 2010 +0000

    Add DAG nodes to represent FP16 <-> FP32 intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b9c187f406191f33874dd7cf18995133b977387
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:08 2010 +0000

    Cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98499 91177308-0d34-0410-b5e6-96231b3b80d8

commit b64a7040d4dcaf4da311bcb330000392bacf39cf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:42:04 2010 +0000

    The fp16 <-> fp32 intrinsics are pure, mark them so they can be CSE'd, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ca76d7945ee222b18e5b0949d9b5fd52e53fcfb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Mar 14 18:41:50 2010 +0000

    Add intrinsics to represent fp16 <-> fp32 conversions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98497 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6b8880da649ee57c78f0f1db3cf9dbb060411a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 18:31:44 2010 +0000

    add support for pentium class CPUs which do not have cmov,
    PR4841.  Patch by Craig Smith!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28a2c5017aa2169426070a3f0eeef6023d5d68f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 17:53:23 2010 +0000

    fix AsmPrinter::GetBlockAddressSymbol to always return a unique
    label instead of trying to form one based on the BB name (which
    causes collisions if the name is empty).  This fixes PR6608

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ab56e7c810e61767a2a544e9c813e20c534029a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 17:10:52 2010 +0000

    comment fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98494 91177308-0d34-0410-b5e6-96231b3b80d8

commit b346da98cfad4094c65dff19b65760d68636f45c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 17:04:18 2010 +0000

    shrink 4-byte branches to 1-byte branches when lowering from
    MachineInstr -> MCInst.  This is what the assembler backend wants,
    it relaxes from smaller to larger things.  This fixes rdar://7750815

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18a47ce27b84b576ea6aae65c414fb065ddbdc9c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Mar 14 10:40:55 2010 +0000

    Skip over debug info when trying to merge two return BBs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98491 91177308-0d34-0410-b5e6-96231b3b80d8

commit 774ee05646ae1bc1a757fd37d59ae97d384a6397
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Mar 14 10:40:28 2010 +0000

    Make returns more consistent with others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 917724ac2052bf5cd8acee8ae99eb5dd00e3f918
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:36:50 2010 +0000

    get MMI out of the label uniquing business, just go to MCContext
    to get unique assembler temporary labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8

commit a410ce86e4a391e22040c8f2dce0252ba0ddf809
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:28:48 2010 +0000

    fix these two get the mcsymbol operand instead of imm operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98487 91177308-0d34-0410-b5e6-96231b3b80d8

commit b17d4f838efd22a2f75723348288ef957b5f337f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:23:30 2010 +0000

    add a new CreateTempSymbol method, the use case for
    CreateTempSymbol vs GetOrCreateTemporarySymbol are
    completely different.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98486 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3717f1d340f52c42cc8c9529c7b3f4ea15676ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:18:13 2010 +0000

    don't use getDWLabel("label" anymore, always go through MMI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f138cff6c8e1fb31d386e72cb6e14641082628f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:17:53 2010 +0000

    remove now-dead code, all labels use MCSymbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03d483eba2dc1ea7c65ff0316c915bad543dadcf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:15:55 2010 +0000

    change SrcLineInfo to contain a label instead of a label ID.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dbd62e9eca40cea4834f25587422e54da77dfa2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 08:12:40 2010 +0000

    Now that DBG_LABEL is updated, we can finally make MachineMove
    contain an MCSymbol instead of a label index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98482 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61c61e12cb4093dadfaa1725b1b5cf1d9a790220
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:56:48 2010 +0000

    change the DBG_LABEL MachineInstr to always be created
    with an MCSymbol instead of an immediate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98481 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6acb5eafa09629ef401310c31c181957d8c53d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:55:34 2010 +0000

    xfail properly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 993a3aae3a0ebe5be63e6458f8ca137799464c03
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:36:49 2010 +0000

    unbreak the build, grr symlinks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 873571e2aff951dfd40d6243557cac62a30b18cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:32:48 2010 +0000

    xfail these tests temporarily to get teh buildbots back to happy land.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98476 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ad2aa896a3eea8dac4e3472fd95c160e1d306ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:29:45 2010 +0000

    Change this code to allocate temporary labels from mccontext,
    not from MMI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98475 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04d61bf6f2851d31c11c5d394e7c97e3de896158
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:27:07 2010 +0000

    switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f2eff6c0857064c294b075ea1df20b0f300e19f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 07:02:50 2010 +0000

    Fix some EH failures on NNT I introduced in r98461

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09917f986bdaf271a054776466e3c589665d2485
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 06:50:56 2010 +0000

    fix a bug I introduced in r98459, causing some NNT failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c51266e32a9712e6c481e088345818b7fa4c394
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Mar 14 05:15:39 2010 +0000

    Check in tablegen changes to fix disassembler related failures caused by r98465.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09f0b5f2ba57818403a257cf7202be6375921922
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Mar 14 03:48:46 2010 +0000

    Do not force indirect tailcall through fixed registers: eax, r11. Add support to allow loads to be folded to tail call instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00a794d42850e8b4200ca70568a721d5eb14a15a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Mar 14 03:10:40 2010 +0000

    MC: Fix a crash on invalid, attempting to evaluate undefined symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98464 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24237b7f0a0ccf357dd0d35b3cba20a7b33d50fa
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 02:33:54 2010 +0000

    change the LabelSDNode to be EHLabelSDNode and make it hold
    an MCSymbol.  Make the EH_LABEL MachineInstr hold its label
    with an MCSymbol instead of ID.  Fix a bug in MMI.cpp which
    would return labels named "Label4" instead of "label4".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98463 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0cfde7c9488a5f83242d3beb9625ada490f280f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 02:24:55 2010 +0000

    eliminate InvalidateLabel and LabelIDList from MMI and replace
    them with a counter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 735ab20106ebbf1da80306f4df879bd943230504
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 02:20:58 2010 +0000

    use Label->isDefined() instead of isLabelDeleted() now that we
    consistently use MCSymbol and only call this predicate after
    they should have been emitted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8

commit a878ca2fbc6b91407ebb229b85787b368a865207
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 01:56:06 2010 +0000

    fix some pointless layering violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98460 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f05d6a8b7b2e5f3e03fadb67f45a1b0c9afa93a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 14 01:41:15 2010 +0000

    change EH related stuff (other than EH_LABEL) to use MCSymbol
    instead of label ID's.  This cleans up and regularizes a bunch
    of code and makes way for future progress.

    Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
    is largely copy and paste from DwarfException/MachineModuleInfo
    and other places.  This is very sad and disturbing. :(

    One major change here is that TidyLandingPads moved from being
    called in DwarfException::BeginFunction to being called in
    DwarfException::EndFunction.  There should not be any
    functionality change from doing this, but I'm not an EH expert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 030c848f93352229babe3fd861eba6788e6a7f1d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 22:57:53 2010 +0000

    X86_64: Fix encoding for the rest of the 64i32 instructions too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98458 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab00a737d643287486df1203f8b9bff08a7db914
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 22:49:39 2010 +0000

    X86: Fix ADD64i32 encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d04ccf3606ee5b39a1300edd6d170f38953675d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 22:49:35 2010 +0000

    MC/X86_64: Symbol support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98456 91177308-0d34-0410-b5e6-96231b3b80d8

commit a47543b05c3274728d3c7a6777f7b8823b4e63c9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 22:10:17 2010 +0000

    MC/Mach-O: Initial x86_64 support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22910288976ee9520e94a24474f743d3b0cbb98b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 22:10:11 2010 +0000

    macho-dump: Basic Mach 64 support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dad1d9ce87c3004a94ddcaada394ff0c49f56ba
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 21:04:28 2010 +0000

    eliminate the now-unneeded context argument of MBB::getSymbol()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98451 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7ee2650d5cfe77aeda2f997af20738abf1b618f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 20:55:24 2010 +0000

    rearrange MCContext ownership.  Before LLVMTargetMachine created it
    and passing off ownership to AsmPrinter.  Now MachineModuleInfo
    creates it and owns it by value.  This allows us to use MCSymbols
    more consistently throughout the rest of the code generator, and
    simplifies a bit of code.  This also allows MachineFunction to
    keep an MCContext reference handy, and cleans up the TargetRegistry
    interfaces for AsmPrinters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e03bc78be918a22fa1e61f83377becf7226c21b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 20:45:41 2010 +0000

    Make lit pay attention to --vg for unittests too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6dd22e9c0e8ba4e34a4a21574d66c03c004831bb
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 20:09:55 2010 +0000

    Allow types that have been forwarded to to be freed.

    Tested: make check-lit && valgrind --dsymutil=yes --leak-check=full unittests/ExecutionEngine/JIT/Debug/JITTests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 237d4a2b89b6c803a45a9be1736cd9302d096dd4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Mar 13 19:58:26 2010 +0000

    Teach this test not to leak. Also, clean up all the cast<BinaryOperator> cruft.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d41f02e85eee3a25ed2963deec4bd7e7f550a05
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 19:31:47 2010 +0000

    llvm-mc: Delete output files on error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80bee7740aaeddaea90f553d29359b9e78233d59
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 19:31:44 2010 +0000

    MC/X86_64: Fix matching of leaq.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09070b17859c49edf1fb3eed8bef7c3dd9fe4f01
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 19:31:38 2010 +0000

    MC/X86_64: Fix matching of callq.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97463fd0f82b3877841221ae89d5a02ef23f740d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 19:25:13 2010 +0000

    add a hack to allow parsing negative minint. rdar://7751341

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98442 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12e0718b692297828252b3a3ecb60b827167b892
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 08:16:25 2010 +0000

    add builder support for mcsymbol operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1be7be6c1f71f2d658ffb92c0deb943111a0975e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 08:14:18 2010 +0000

    add support for MCSymbols as operands to MachineInstrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98433 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8934a18cfd454710bb648bbd8bd821c592d0610d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 08:05:25 2010 +0000

    simplify EmitFrameMoves to take BaseLabel in as a symbol
    instead of as a stem+idx pair, simplify the "is a new
    location" check to use symbol comparison.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07ccdc11230b40e75aee8985a21a84ec1b5c3c94
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 08:04:35 2010 +0000

    simplify some overly general code.  The stack always grows down on x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98431 91177308-0d34-0410-b5e6-96231b3b80d8

commit c057322d627c8da7d70cdcb12786dfa8bc2cff53
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Mar 13 07:50:22 2010 +0000

    Fix another warning. There is a functionality change but I believe it's correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98430 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3887369e727d7f2a2145f1592af921341cf27c0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 07:40:56 2010 +0000

    factor some labels, simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 378e08686d78e8bd1b87780d050554c91837965d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Mar 13 07:40:34 2010 +0000

    Add some parens and silence a warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98428 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9eaa9954d6f6c030d14ba7ee80736a8c6d2a353
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 13 07:34:35 2010 +0000

    Attempt to appease the arm-linux buildbot by fixing the JIT encodings for new
    base register updating load/store-multiple instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98427 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd393b35d54be27aa30c61bd9d7d77bed138b20f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 07:26:18 2010 +0000

    various cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8ba8d830c3ffc8dc51381c35a5e40d16a511d9c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 02:38:00 2010 +0000

    MC/Mach-O: PCrel relocations weren't using the right base address, they are
    relative to the fragment address, not its offset. This was masked by the text
    section normally being at address 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98420 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc4935b045b39acc8446a10365a2b1b44b902bfd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 02:20:57 2010 +0000

    llvm-mc: Support -n, useful for comparing -integrated-as output since the
    compiler may not lead with the text section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c94b704b1a4af476ef5cb470bf0d77abbc8ed42
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 02:20:38 2010 +0000

    llvm-mc: Support -arch as a simplified form of -triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95e151679b1a3a288247377ac0cac95f7aafa83b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Mar 13 02:20:29 2010 +0000

    Fix a typo in ValueTracking that's causing instcombine to delete needed shift instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98416 91177308-0d34-0410-b5e6-96231b3b80d8

commit acc41cb5765998e0b70e34a7b343a7e3a5919c9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 02:17:42 2010 +0000

    reimplement the string pool used for inlined function
    entries to not thrash std::strings and MCSymbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba901e75bb4931207f644a6aba3da26f74f7156c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 02:15:08 2010 +0000

    Remove the last memory leak from the VMCore unit tests.

    Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98414 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca3d965c531e4b48db11f425eaa4905334a33cbf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 13 02:10:00 2010 +0000

    switch to the text section at the start of the .s file for darwin/x86
    targets.  This is a temporary hack for the .o file writer that Daniel
    wants :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98413 91177308-0d34-0410-b5e6-96231b3b80d8

commit f32ef7dea6f49a9f7a2b408f80b9353c7b55cd3b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 01:39:20 2010 +0000

    Remove a memory leak from MetadataTest.

    Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26fbe8a8ef8a146bdb279766799263c22b50093c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 01:34:56 2010 +0000

    Remove a memory leak from VerifierTest.

    Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 700524ca0d62f3c952aaa6834c6a9792076e2dd6
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Mar 13 01:26:15 2010 +0000

    Delete MDNodes when LLVMContext is destroyed.  Previous attempts: r97918, r97788.

    Tested: clang debug bootstrap, llvm-gcc bootstrap, `make check-lit`
    after configuring with --with-llvmgccdir (and this did run the
    FrontendC* tests this time)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98410 91177308-0d34-0410-b5e6-96231b3b80d8

commit afe9201c199378918d071f8194482e7861f974b2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 13 01:08:20 2010 +0000

    Change ARM ld/st multiple instructions to have variant instructions for
    writebacks to the address register.  This gets rid of the hack that the
    first register on the list was the magic writeback register operand.  There
    was an implicit constraint that if that operand was not reg0 it had to match
    the base register operand.  The post-RA scheduler's antidependency breaker
    did not understand that constraint and sometimes changed one without the
    other.  This also fixes Radar 7495976 and should help the verifier work
    better for ARM code.

    There are now new ld/st instructions explicit writeback operands and explicit
    constraints that tie those registers together.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92d8c52fff310667317d5e50cbe1b96d68c5cb57
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Mar 13 01:05:02 2010 +0000

    Do not  ignore arg_size() impact while counting bb instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a6aec01f5b15eb95fa773f5d771610814ca5e6a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 00:47:29 2010 +0000

    MC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testing
    other functionality on 403.gcc compiled at -O0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98405 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd51d92306aef931de7670fed24a84dd7de5c3e6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Mar 13 00:47:25 2010 +0000

    MC/X86: Add an XFAIL test where we aren't matching the correct instruction
    because we don't understand how the specific instruction is doing sign
    extension.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98404 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebebac801e8e572980ba312719f08162f2b5a1c5
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Mar 13 00:45:31 2010 +0000

    Remove extra parameter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 509f31997d4c0ec53964a112081b37bab83c7585
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Mar 13 00:43:32 2010 +0000

    Combine the code to build VLDM and VSTM instructions, since they are
    mostly the same.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79fd53af11db038c31d5edd1b0a62901a2d8bf19
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Mar 13 00:10:20 2010 +0000

    Do not overestimate code size reduction in presense of debug info.
    Use CodeMetrics.analyzeBasicBlock() to estimate BB size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 577ac8bb81353e25a56c984194c89303da041ea3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Mar 12 22:50:09 2010 +0000

    Tidy up.  No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 088f1a0fa029ed4bb801318f857b9f8beded95c1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 12 22:07:14 2010 +0000

    MC/Mach-O: Implement initial support for relaxation.
     - The implementation is currently very brain dead and inefficient, but I have a
       clear plan on how to fix it.

     - The good news is, it works and correctly assembles 403.gcc (when built with
       Clang, at '-Os', '-Os -g', and '-O3'). Even better, at '-Os' and '-Os -g',
       the resulting binary is exactly equivalent to that when built with the system
       assembler. So it probably works! :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44b100915241f47f69f51406ee60a689e05a8828
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Mar 12 22:00:08 2010 +0000

    Remove obsolete comments.  VLDM is implemented in ARMInstrVFP.td.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f7e94e98783f02e8dc921dae23addbc533ea244
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 12 21:42:14 2010 +0000

    Fix LLVM build when the user specifies CPPFLAGS on the make command line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4960fb76e4951daf58faa5d46b84700604f9efe2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:30:49 2010 +0000

    remove gone method, grr symlinks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98392 91177308-0d34-0410-b5e6-96231b3b80d8

commit c653490c6f6aff4d267011bd3734ebe66cc4ec4f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:21:19 2010 +0000

    remove special case code that isn't needed anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98391 91177308-0d34-0410-b5e6-96231b3b80d8

commit b410c4fe76ec084c0a67f8be34ea933784dbd3ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:19:23 2010 +0000

    inline GetGlobalValueSymbol into the rest its callers and
    remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 576568e7a5231ed17df59fe03ee6e47a27ed0357
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:09:07 2010 +0000

    inline the now-trivial implementation of GetGlobalValueSymbol into
    some of its callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46c145d2aee5487b992cb32eca2ce40448927dcd
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:06:41 2010 +0000

    eliminate the X86 version of GetGlobalValueSymbol, allowing
    it to be non-virtual and soon disappear.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98387 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21ca05711c5a11a370d0063c5f9ab1490e97cb7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:04:31 2010 +0000

    prune #includes, this file should be removed pending hte cygwin stub issue being resolved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98386 91177308-0d34-0410-b5e6-96231b3b80d8

commit 279aaf6c46b028f18025d679d9c6fde066a40bb2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 21:03:47 2010 +0000

    move fastcall/stdcall mangling up into Mangler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86c68a875b53c8faa1bd93509b5bc3ef7b94f3b4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 12 21:00:49 2010 +0000

    MC: Factor out MCAssembler::EvaluateFixup, and simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98381 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2eab51ee0ff151b8c16aa348575e36f8f1f7b12
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 12 21:00:45 2010 +0000

    MC: Constify MCAsmLayout argument to MCExpr::EvaluteAs...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98380 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb1ce22751fb48e9a4eea3b77eab093dc0a7ed2f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Mar 12 21:00:38 2010 +0000

    MC: Add MCAssembler::addFixup, which enforces that fixups are added in order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98379 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2c3d2cbdeacd56a7c94cdfec56e726a23741f80
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 20:47:28 2010 +0000

    give Mangler access to TargetData.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c44a8a2b81e3767199599506506eafc2250d8c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 20:43:52 2010 +0000

    make DecorateCygMingName a static method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 136399b5d998d1438741cb90b6e5b1fbd6f7c863
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Mar 12 20:41:29 2010 +0000

    Add a virtual destructor and give vtable a home.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98376 91177308-0d34-0410-b5e6-96231b3b80d8

commit d91cd68722297486b69e8ebcee710a8937b1c0aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 19:48:03 2010 +0000

    minor tidying, only do work if a function is
    actually X86_StdCall or X86_FastCall.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 838baa853d1a785be1a1ab4ae1f423cdece1f221
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 19:42:40 2010 +0000

    eliminate the string form of DecorateCygMingName

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 208064f89bec6e69f1d11d9e9439038f6f952cd6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 19:31:03 2010 +0000

    remove the FnArgWords cache to make way for future changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2591b16cc14b6a5cb3ca1d72cfdc21d62d466363
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Mar 12 19:20:40 2010 +0000

    Add a beta-test for placing the LSDA into the TEXT section on X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 486d9404a0ae9255fa6f6acdfa68b178a7631526
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Mar 12 19:18:30 2010 +0000

    Fix llc crash on invalid input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65a3a80d2e44ff0a231cd197450a4026718dfc81
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 19:14:18 2010 +0000

    Remove some dead code.  This method only gets called on
    definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fd506d04200bb7d6bdff0e89d7f54ae86c9eb31
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 19:04:14 2010 +0000

    use Mang->getSymbol instead of duplicating the logic, reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ef0319b0f6ee4d85dae24699895bbac3006919e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:55:20 2010 +0000

    finally give Mangler a getSymbol method, which returns an MCSymbol
    for a global instead of messing around with string buffers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98366 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff3c55cd4c8c8d24cc64321ad9e738c30a24b0af
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:49:32 2010 +0000

    remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98365 91177308-0d34-0410-b5e6-96231b3b80d8

commit da2530860ec32a065d775f1096ca088b4f1089a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:47:50 2010 +0000

    simplify code to use OutContext.GetOrCreateTemporarySymbol with
    no arguments instead of having to come up with a unique name.
    This also makes the code less fragile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98364 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfcbe376f4a2865f2cff2df5f58cb1ece7096024
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:44:54 2010 +0000

    make the mangler take an MCContext instead of an MAI.
    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0273c250d24467a11644afe60f9cf98094f692c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:28:53 2010 +0000

    remove MAI argument from createAsmStreamer since it
    can get it from the context now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98361 91177308-0d34-0410-b5e6-96231b3b80d8

commit c88fa8293a2020537c90037e963913653a0a5fbd
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 18:10:35 2010 +0000

    fix a bug emitting .secrel32 that I introduced, PR6587, patch
    by A.Mazur!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60f36ee48942ce479d391dc11e681d65253ff59d
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Mar 12 17:55:20 2010 +0000

    When constant folding GEP of GEP, do not crash if an index of
    the inner GEP is not a ConstantInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a861df7e69f7986f96ed7f72d2d6e080645f1be
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Mar 12 17:45:06 2010 +0000

    Free DbgScopes in DwarfDebug::endFunction().  Also increased the const-ness of
    several fields to make it easier to figure out where bugs might be creeping in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19e6754320ab62e75129e78320d6096003593133
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Mar 12 17:41:34 2010 +0000

    Revert turning copysignl into a COPYSIGN node for the moment:
    ppc calls copysignl with a 128 bit ppc long double, resulting
    in a node that the type legalizer doesn't know how to expand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98357 91177308-0d34-0410-b5e6-96231b3b80d8

commit a13544bd99d2214cd56dd8f9d8e7b60e8a62d535
Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
Date:   Fri Mar 12 14:17:24 2010 +0000

    Remove superfluous NULL assignment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98350 91177308-0d34-0410-b5e6-96231b3b80d8

commit cabc1e61b7ed161b2cd20489b8642f1137c2c170
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Mar 12 13:54:59 2010 +0000

    Use StringRef::substr instead of std::string::substr to avoid using a free'd
    string temporary. This should fix PR6590.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98349 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4b164c7cb4a35741e113012abbaa1dd1388a40d
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Mar 12 12:13:59 2010 +0000

    Now that it's supported, turn copysignl into a COPYSIGN node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98348 91177308-0d34-0410-b5e6-96231b3b80d8

commit f34c882a733bd8fd7f926997f03fcaef78c66d53
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Mar 12 11:45:06 2010 +0000

    Fix PR6522: implement copysign expansion for x86 long double
    (it seems that FreeBSD doesn't have copysignl).  Done by
    removing a bunch of assumptions from the code.  This may also
    help with sparc 128 bit floats.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59812870ced7e2a51487b74754aaa4611d1bf0ba
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Mar 12 09:27:41 2010 +0000

    Factor checked library call optimization into a common helper class and use it
    to unify the almost identical code in CodeGenPrepare and InstCombineCalls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98338 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc37b6ec55fab0fe89819e87f6228b0be338cec0
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 07:15:36 2010 +0000

    fix PR6577, a bug in sdbuilder lowering select instructions
    whose true value was not Val#0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fd86658e332ff9a8683b7bc2da556740829d763
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 06:32:12 2010 +0000

    update mkpatch for MC, patch by Aaron Gray

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98334 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18fa3e654b21fc3e5db52eff9905576414dea67d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Mar 12 02:00:43 2010 +0000

    The same situation that effected ARM effects PPC with regards to placing the
    LSDA into the TEXT section. We need to generate non-lazy pointers to it on
    Mach-O. However, the object the NLP points to may be local to the translation
    unit. If so, then the NLP needs to have the value of that object specified
    instead of "0", which the linker interprets as "external".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74c593da88a18cc9f976678c7650d963ebf4f424
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Mar 12 01:56:43 2010 +0000

    make TargetLoweringObjectFile::getExprForDwarfReference
    just make unnamed temp symbols instead of having to come
    up with its own names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9879a75871eff9f7297fb3049fa704d879075e64
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Mar 11 23:44:52 2010 +0000

    There is no need to create specification DIE for definitions at DIFile level.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8

commit c97855f4fbb40dcec8c09f40dce12e31504c7c20
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Mar 11 23:39:44 2010 +0000

    MC-ize PPC's asm printing of stubs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98300 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7f3f628c13b53b8f33c646ab94c9865ff87653c
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Mar 11 23:21:19 2010 +0000

    Whoops this already existed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98297 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9e60fc0047f8d7577994aad6ac6e2bc0373df42
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Mar 11 23:06:07 2010 +0000

    Add a handful of additional useful pass manager things to the C API

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98296 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8819847cb4a22f67fd92fac4057a3bbbb245973
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 11 23:04:34 2010 +0000

    Extract methods from LocalRewriter::RewriteMBB bringing it down to 666 lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98295 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6314f0cf10f22c7d2fcea2d6e42ffc87f1effa6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 22:56:10 2010 +0000

    enhance MCContext::GetOrCreateTemporarySymbol() to create a new symbol
    with an arbitrary unique name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23f188ddf4b1f16d723183dc1d69cf3baa9dce56
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 22:53:35 2010 +0000

    change MCContext to always have an MCAsmInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98293 91177308-0d34-0410-b5e6-96231b3b80d8

commit f11fac45579a35d70ce45359fbc27faf2cba3956
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 21:55:20 2010 +0000

    fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference
    where we used ot create an MCSymbol for ".".  Now emit an assembler
    temporary label and reference it instead of "." textually.

    rdar://7739457

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76cfca0b723d5ca5124fe688725c2e1b1f2d288d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Mar 11 21:39:57 2010 +0000

    Remove getWidenVectorType, which is no longer used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98289 91177308-0d34-0410-b5e6-96231b3b80d8

commit feaf79326bc80fc7d1ce24db9adcf05c8398aa2c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 21:38:58 2010 +0000

    empty symbols aren't possible, the mcsymbol ctor aborts on them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 593f333bd499f8b666418bf048b05a070e13c8e7
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 11 21:02:50 2010 +0000

    Set the (Format)F filed of t2Int_MemBarrierV7 & t2Int_SyncBarrierV7 to ThumbFrm,
    instead of Pseudo, which helps Thumb decoder to recognize them as Thumb instr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98285 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1bec9885da40edd4da6b222e8abf5177db5c506
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Mar 11 20:45:13 2010 +0000

    stpcpy is so similar to strcpy, it doesn't deserve a complete copy of the __strcpy_chk -> strcpy code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b8b65307b613a1fc54b958f507fdd3254718c35
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Mar 11 19:50:31 2010 +0000

    revert r98270.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8518acd31f737e808bb03fd4c6b72cce81af6564
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 19:41:58 2010 +0000

    rename getSymbolForDwarf* to getExprForDwarf* since it returns
    an MCExpr and not an MCSymbol.  Change it to take an MCStreamer,
    which is currently unused.

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b208d6bf6ba0dd8cbde98cc734e092c434a5569
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 11 19:38:18 2010 +0000

    In case of tail call size of Ins and InVals may not match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98277 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce683b8fe0ad0e28d8586c556f83333188d75265
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 11 19:24:34 2010 +0000

    Lower stpcpy_chk when possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b740b0d4e1a73719399526a99c180fbd309962d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 11 18:49:14 2010 +0000

    Bad bad bug. x86 force indirect tail call address into eax when it's meant to force it into a call preserved register instead. Change it to ecx for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cb382d6f93ea13c9338ad47cdefce6d4a99b3aa
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Mar 11 18:38:59 2010 +0000

    Remove dead code. (S|U)MUL_LO is now lowered to LMUL or MACC(S|U)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11bbd43f187e449647fe7fcac0a6c15cecb9b767
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Mar 11 18:29:55 2010 +0000

    Avoid leaking CompileUnits in DwarfDebug.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c0653f3e8819c5aeee6b53bd1db422140d77e60
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 18:22:51 2010 +0000

    MC/Mach-O: Add MCSymbolData::getAddress() utility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98266 91177308-0d34-0410-b5e6-96231b3b80d8

commit 126c2d80e0915f0607432d8a0c86101de3e6806a
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 11 17:45:38 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98260 91177308-0d34-0410-b5e6-96231b3b80d8

commit db3fbb7eea2ac03dfc5508185dd978df02ece75b
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Mar 11 16:26:35 2010 +0000

    Add dag combine to simplify lmul(x, 0, a, b)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78375ae6de28743042dab9877a5435c471e68644
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Mar 11 14:58:56 2010 +0000

    Switch XCore over to using inline jump table entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75e9b828d28437377ce5cc81d74aa31f30341092
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Mar 11 14:58:16 2010 +0000

    Add a new jump table encoding to indicate jump tables entries
    are inside the function by the target at the point of use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cc39094b7d07609dc467f54c4948cadf2783ab6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Mar 11 08:20:21 2010 +0000

    The check for coalescing a virtual register to a physical register, e.g.
    cl = EXTRACT_SUBREG reg1024, 1, is overly conservative. It should check
    for overlaps of vr's live interval with the super registers of the
    physical register (ECX in this case) and let JoinIntervals() handle checking
    the coalescing feasibility against the physical register (cl in this case).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bbefaf003e20fb54e3b1a4761f1b256afa1188b
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Mar 11 07:51:23 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c88358d93d45709559df6484a3a88c929af4145
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 11 06:20:22 2010 +0000

    Have fast-isel understand llvm.objectsize.  Update testcase for slightly
    different codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98244 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6c43c76150d0cd0c5a3ec4104332ca1a0dc4d42
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Mar 11 06:14:32 2010 +0000

    Make clang bootstrap happier on OSX 10.5 by reducing the number of headers
    included when using global symbols to ask the linker for the addresses of
    various functions.  One of the symbols was actually getting declared by a
    header included in DynamicLibrary.cpp, which conflicted with the "extern void*"
    declaration in SearchForAddressOfSpecialSymbol().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2be1b72e535ec91076e574c179d2b8edb531c186
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 05:53:37 2010 +0000

    MC/Mach-O: Implement "absolutizing" semantics of .set, by evaluating the assembly time value of variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98241 91177308-0d34-0410-b5e6-96231b3b80d8

commit d31dd9028de702d6d8465d5adba6564349dc2031
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 05:53:33 2010 +0000

    MC/Mach-O: Start passing in the basic MCAsmLayout object.
     - Also, drop the current location part of AsmLayout, I think I prefer to implement this via explicit symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63786f5b3a767ca04cd91eef4330f9b42f2d4988
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 11 02:41:03 2010 +0000

    Do some final lowering in CodeGenPrepare of _chk calls similar to
    that in InstCombineCalls.

    More call lowering needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 883ed6766f71cb7cf46500c3315d8165ebaa367a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 02:28:59 2010 +0000

    MC: Sketch initial MCAsmLayout class, which encapsulates the current layout of an assembly file. The MCAsmLayout is also available for use by MCExpr::EvaluateAs{Absolute,Relocatable}, to allow target specific hooks and "absolutizing" of symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d750ce5bbbe8f796a979c9469a391b08e765613
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 02:28:52 2010 +0000

    Fix (unused) RegisterAsmBackend template, clang++ isn't happy about this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d0a0e03b2572770b77e880a03cee61c042c0b7a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 02:28:48 2010 +0000

    Remove dead include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0941bad008106b55086d7c14fdd7ab347c0020e3
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Mar 11 02:10:24 2010 +0000

    Fix debug_value handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98224 91177308-0d34-0410-b5e6-96231b3b80d8

commit b99107ffa6a252605fecb59ffe8bf13f3e797e95
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 01:34:27 2010 +0000

    MC: Provide MCAssembler with a TargetAsmBackend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 939995c6268f3b1615c072115966974d9da74d57
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 01:34:21 2010 +0000

    MC: Sketch some TargetAsmBackend hooks we are going to need.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1acef867e200f2a611c20fa09fd5ecaeee5b480c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Mar 11 01:34:16 2010 +0000

    MC: Provide the target triple to AsmBackend constructors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98220 91177308-0d34-0410-b5e6-96231b3b80d8

commit a49b2c4f199c43a38c5331ab12362e6147d1f191
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Mar 11 01:25:07 2010 +0000

    Add strncpy libcall creator.  Use it when it should be used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98219 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a84885059e31059f314ab2690ee3a1f2892f34a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Mar 11 01:18:13 2010 +0000

    When outputing a non-lazy pointer for a stub, we may need to fill in the value
    for the NLP because the object it's pointing to may be internal to the file.

    This seems counter-intuitive, but bear with me. When we place the LSDA into the
    TEXT section, the type info pointers need to be indirect and pc-rel. We
    accomplish this by using NLPs. However, sometimes the types are local to the
    file. GCC gets around this by not using a NLP in this case, but a "regular"
    indirection like this:

    GCC_except_tbl:
      .long Lfoo-.

    __ZTIA:  @ This is local
      ...

    Lfoo:
      .long __ZTIA

    LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to
    use them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98218 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e1504bc859269ddffcae95e7e0d2805feff8e13
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Mar 11 01:13:36 2010 +0000

    Added Thumb2 LDRD/STRD pre/post variants for disassembly only.
    Plus fixed the encoding of t2LDRDpci such that P = 1 and W = 0 (offset mode).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98217 91177308-0d34-0410-b5e6-96231b3b80d8

commit e859c1e822f46b9a6c007d0ed3967b3155678a6e
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Mar 11 00:52:12 2010 +0000

    Make sure HasDebugValue is initialized.  This should fix
    the buildbot running valgrind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 033ec6ec87d7def3112708023414917c5d9fcc82
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 11 00:46:22 2010 +0000

    Fix ARM buildbot breakage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98215 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb6ea41aa30a4fe3a890047d3956bad726940a03
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 00:22:57 2010 +0000

    add support, testcases, and dox for the new GHC calling
    convention.  Patch by David Terei!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a371c95a2275cb0749372bcb6f3a9a34b0d0098
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Mar 11 00:20:49 2010 +0000

    Lower small memcpys to load/stores on Thumb2.
    Radar 7686922.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98210 91177308-0d34-0410-b5e6-96231b3b80d8

commit c79c22674b375d41ff52fd170d16c8520a9ba678
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Mar 11 00:11:33 2010 +0000

    VirtRegRewriter spring cleaning. No functional change.

    Move methods out of line and M-x whitespace-cleanup.
    Promote common method arguments to member variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ceaca9acaa305e020c6ede05b075559cc9c2f61
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Mar 11 00:06:19 2010 +0000

    Work around a bug in the openbsd assembler on i386,
    which doesn't support .quad correctly because it is
    "really really old".  PR6528.

    Yet another reason the mc assembler should take over ;-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98205 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff65b85d89a13c7849588e180e5370897394212b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 23:46:44 2010 +0000

    fix PR6533 by updating the br(xor) code to remember the case
    when it looked past a trunc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63ea0e129c2d7979b5c60820410b3a8122a509e9
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 23:37:24 2010 +0000

    Cosmetic: lengthen names and improve comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4c117b4d1350e7cd628629ec3379c6b6a0d59e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 10 22:38:45 2010 +0000

    Fix an obvious typo in an assert.
    Patch by Sean Callanan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98200 91177308-0d34-0410-b5e6-96231b3b80d8

commit f31b4466946236127a6fd90e759a74ec83656eb4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Mar 10 22:34:10 2010 +0000

    Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that
    indicates that an MCSymbol is external or not. (It's true if it's external.)
    This will be used to specify the correct information to add to non-lazy
    pointers. That will be explained further when this bit is used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98199 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1bcf85dbe05c5bfc1777dd4050d02fc7f03f8d8
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 22:13:47 2010 +0000

    Progress towards shepherding debug info through SelectionDAG.
    No functional effect yet.  This is still evolving and should
    not be viewed as final.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98195 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb4ada4607ce78c91ecc78e5452752a74c97d8ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 21:42:42 2010 +0000

    move PR6576 here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98194 91177308-0d34-0410-b5e6-96231b3b80d8

commit d72a247c40905c5f63c1b7760ea9706eb9711abc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 21:27:53 2010 +0000

    add DESTDIR support for TOOLALIAS, for PR6557, patch by
    Matthias Klose!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98193 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba3f872d6016ac09eeea26e75eaec83559c3a5a7
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 21:04:53 2010 +0000

    Fix another bitwidth calculation to handle vector types; based on a
    patch by Micah Villmow for PR6572.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98188 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e00e2110507e2927ee9decc93fe83cec8407eae
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 20:58:31 2010 +0000

    MC/Mach-O: Use the MCAssembler symbol map instead of reconstructing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98187 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21c7d9acb54d4b0ed339d815f650aa206aeea798
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 20:58:29 2010 +0000

    MC: Move the backend section and symbol data maps to MCAssembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98186 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6bdad5bef07b3e7af9bf2164df46d44f76bad3b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 20:58:25 2010 +0000

    Remove unneeded declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1aa22b2be5513a54c1c64c054733ff49bf6d6206
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 10 20:01:30 2010 +0000

    Make sure the LR gets pushed in functions that use vaargs. This fixes
    400.perlbench for the nightly tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98183 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4e1fb5f7aa98677e8a8f6144309bd998d8d8c1a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 10 19:59:47 2010 +0000

    comment why we use custom epilogue for t1 functions using vaargs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99d80f308132342a7e9aed70603151cdc13b6cd0
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 19:57:56 2010 +0000

    Fix another place where DEBUG_VALUE affected codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82c0a8ec2c85ffe7c19ee4915d9ef3a937502f8c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 19:38:49 2010 +0000

    Add a DominatorTree argument to isLCSSA so that it doesn't have to
    compute a set of reachable blocks for itself each time it is called, which
    is fairly frequently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98179 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee4b7bd3e77ca9c6cb9389a95b77709d9466577b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 19:31:51 2010 +0000

    Constant-fold GEP-of-GEP into a single GEP.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98178 91177308-0d34-0410-b5e6-96231b3b80d8

commit b90edeb9ebcdf879aa12a5656006fa41c923a71b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 19:00:54 2010 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98173 91177308-0d34-0410-b5e6-96231b3b80d8

commit a06adda3136a48b7cad4dc80f154cce3cbb899ce
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Mar 10 18:59:38 2010 +0000

    Factored out the disassembly printing of CPS option, MSR mask, and Negative Zero
    operands into their own PrintMethod, in order not to pollute the printOperand()
    impl with disassembly only Imm modifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98172 91177308-0d34-0410-b5e6-96231b3b80d8

commit e88c5b516ed423b7bb4f5738fce84302a8f0ce9b
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Wed Mar 10 18:41:59 2010 +0000

    Fix make check with cmake/lit

    PR6540: Set the newly introduced variables ENABLE_SHARED and
    SHLIBPATH_VAR in lit.site.cfg not only in the autoconf build, but also
    in a cmake one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60b0225cc769f79c23f7075eb27c6fb4e3a3b4f5
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 18:14:47 2010 +0000

    The backend now makes a reasonable job of targeting lmul / macc

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98169 91177308-0d34-0410-b5e6-96231b3b80d8

commit eefa1b07983745b4051c54d96904d3ef88d2e77a
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 18:12:27 2010 +0000

    Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bit
    expression add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if all
    operands are zero extended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98168 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6e5d688c819b1a7dce5b09ee1b9412952860333
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 17:56:05 2010 +0000

    Remove unneeded includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58d0b3aa00df84fbe85560a40f6078caadbf1198
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Mar 10 17:54:11 2010 +0000

    Testcase for pr6552.  I changed the code to use "ip" instead of "fp" because
    the "fp" register name is not valid on Darwin, and the "ip" register name was
    broken for all ARM targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98166 91177308-0d34-0410-b5e6-96231b3b80d8

commit 930997ec2ca8749806bb6e79338b72ffbd968038
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 17:16:29 2010 +0000

    Fix checking of intermediates having one use in isADDADDMUL

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00f900caac55cfe5f59a4698a54b49200f1427c6
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 17:10:35 2010 +0000

    Extract recognition of patterns such as add(add(mul(x,y),a),b)
    into a seperate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98162 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0dd2a2dd36df38e79fae7c7efb57be2d9fadbf
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 16:27:11 2010 +0000

    Fix thinko.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41fe1a22639ffd737a9b322871e07c6443987897
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 16:19:31 2010 +0000

    Fold add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if the intermediate
    results are unused elsewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98157 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa7282bef1ab2013e619c9d345118f126f1d637f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Mar 10 16:04:20 2010 +0000

    Remove duplicated code. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28a0922dfccfa0c266b84e0dcc9420fe27372340
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 15:06:26 2010 +0000

    Fix a bug in DEBUG_VALUE handling Devang ran into.
    I'll get this loop right yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7223072ce580e8cf4ac7ec112ef289344f242cd5
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 13:27:10 2010 +0000

    Prefer LMUL to MACCU as LMUL has no tied operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98153 91177308-0d34-0410-b5e6-96231b3b80d8

commit 527160527b2a6fb8fda93071049ff1a1d2203af8
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 13:20:07 2010 +0000

    Custom lower (S|U)MUL_LOHI -> MACC(S|U)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98152 91177308-0d34-0410-b5e6-96231b3b80d8

commit faefe537577b8c4a0899b35d26164b30ac17fef3
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 11:42:05 2010 +0000

    Fix indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 528e1b3101c192d70cfc64e68659f31d85d66242
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 11:41:08 2010 +0000

    Lower add (mul a, b), c into MACCU / MACCS nodes which translate
    directly to the maccu / maccs instructions. We handle this in
    ExpandADDSUB since after type legalisation it is messy to
    recognise these operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37b957223047e3138fae234a44933ec51e652a2d
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Mar 10 11:24:03 2010 +0000

    Convert test to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bcb4c982385a1f1102bc2e26907041d9b28451e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 07:20:42 2010 +0000

    move three lowering hooks from MAI to TLOF and make one of them
    semantic instead of syntactic.  This completes MCization of
    darwin/x86[-64]!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 463f3177d1078c72cb1e382debc9f19f03dd1c91
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 10 07:07:55 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7020b5baec50a160463cc794dd2a43be911d8bc6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 10 07:07:45 2010 +0000

    Unbreak test on Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c13435ebb4bdd842eda4aaf311dbc252a1ba116
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 05:45:47 2010 +0000

    This survived a bootstrap, so let's try 98104 again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c92221f1ab2efd94ef086aef94d748616af4ac3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 10 03:07:41 2010 +0000

    Enable machine cse pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6361da4e345d93cae03e27bddedc8da4146b7260
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 02:48:06 2010 +0000

    mcize the rest of EH emission, only one more directive missing
    for darwin/x86 to be completely mcized.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98130 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb05860f3aacda04193c2f90950aa1e3dc95d5c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 02:29:31 2010 +0000

    add missing filename!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8

commit da6ce7e1ea60527eb8c9f28dd9cc1117d848f3ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 02:25:11 2010 +0000

    set the temporary bit on MCSymbols correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98124 91177308-0d34-0410-b5e6-96231b3b80d8

commit da2a2fce691fa9c71d9d18331c670943734f3fc5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 02:18:48 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 551abca8cd4aae0201716b4b6f2b07bd3f8f8f1e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Mar 10 02:12:03 2010 +0000

    Add a couple more heuristics to neuter machine cse some more.

    1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled.
    2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure.

    Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again.

    Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90f5e72975cff88293a4d8b3b67c122d4ce1335e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 02:10:29 2010 +0000

    MC/Mach-O: Resolve a FIXME; these relocation types are no longer semanticaly different.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98120 91177308-0d34-0410-b5e6-96231b3b80d8

commit d36793aedcaea634c2470673538cb3e99f5e132b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Mar 10 01:29:39 2010 +0000

    Clarify the documentation for MachineFunctionPasses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7886aaaac503c77d684ab0b0cc975ccaf13eb7a9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 01:29:27 2010 +0000

    eliminate MCContext::CreateSymbol and CreateTemporarySymbol.
    Add a new GetOrCreateTemporarySymbol method and a version that
    takes a twine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98118 91177308-0d34-0410-b5e6-96231b3b80d8

commit acc84241c380a192d8302dced7b81fe249d7f063
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 01:17:49 2010 +0000

    inline away a form of IsPCRelative, eliminating the
    dead IsPCRel argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8

commit a86ceff62f602502c7c4c2b0e274660f6091a5c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 01:04:13 2010 +0000

    add some fixme's for MCizing.  EH still has a few things that
    need to be MCized, but the last debug info thing are LEB and
    cygwin specific (which the MC api doesn't support yet) and
    one specific form of EmitReference which I'll tackle next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fef7f7e99d528af68463334511ca99217b15a32
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Mar 10 00:58:25 2010 +0000

    MC/Mach-O: Use the SECTDIFF relocation type for (A - B + constant) where A is external.
     - I'm not sure why, but this is what 'as' does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bc6e0f6dbb2116bbf7a08a1c9dd5dc07074bcc3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Mar 10 00:13:42 2010 +0000

    Clear up the last (famous last words) frame index value reuse issues for Thumb1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98109 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3c70abef729cfd54388ad5c66234543901ab66e
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Mar 10 00:11:34 2010 +0000

    Speculatively revert 98104; could be what's causing crashes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c03e3f463423f19edad33d97b484b23ce8a8b91
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Mar 10 00:09:21 2010 +0000

    mcize uses of PrintRelDirective and eliminate it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b250030e02178330267ce1f1ce23ea6e6e1aab5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 23:54:52 2010 +0000

    inline the bool form of PrintRelDirective away, leaving just the unsigned form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1610482b2f2cd40b058ddaf974da775fa4921935
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 23:52:58 2010 +0000

    eliminate EOL, adding all comments with the OutStreamer.AddComment
    method.  With this, comments should end up on the same lines as the .byte
    directives (for example) and we now get no output with:

    $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose

    woot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 798702f9281fdba793d1f77598277e2125620cc1
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Mar 9 23:52:37 2010 +0000

    Ever more complicated DEBUG_VALUE fixes for branch folding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d9906977b93533f7abaac988d1bca88de192d96
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 9 23:46:50 2010 +0000

    Avoid analyzing instructions in blocks not reachable from the entry block.
    They are lots of trouble, and they don't matter. This fixes PR6559.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dbeb3df7e0c1c8c3f7937957fee89a0b3a37289
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 23:38:23 2010 +0000

    eliminate a bunch of \n's that are being printed to O.  Next up is to kill
    off "EOL".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8

commit b936626322fddf934ff255bd53f961efc33ad980
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 23:19:15 2010 +0000

    convert the non-"ispcrel" case of EmitReference to MC,
    significant debug info testcases are now all going through
    MCStreamer, though they print a lot of extraneous newlines to "O".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98101 91177308-0d34-0410-b5e6-96231b3b80d8

commit a13472345b954f1f48037aae2f795b0d50c191db
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 23:12:18 2010 +0000

    make the NullStreamer set the section on a label when emitted so that isDefined() works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d69bdda72964ed90175e11319b7a02d270e2bc4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 23:02:17 2010 +0000

    Try to keep the cached inliner costs around for a bit longer for big functions.

    The Caller cost info would be reset everytime a callee was inlined. If the
    caller has lots of calls and there is some mutual recursion going on, the
    caller cost info could be calculated many times.

    This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
    small function calls.

    This is a more conservative version of r98089 that doesn't break the clang
    test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining
    for constant folding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98099 91177308-0d34-0410-b5e6-96231b3b80d8

commit 979e9f224612bc936a82fc686ffdc9d6d7b2d481
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 22:50:46 2010 +0000

    MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9eb8c5dfab36cdcedb573444534bf7f39dbe8c16
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 22:50:40 2010 +0000

    MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98097 91177308-0d34-0410-b5e6-96231b3b80d8

commit df4d6e3a05aa7094a9e8bcbaeb0ae2af1f0a4e27
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Tue Mar 9 22:45:10 2010 +0000

    Continue propagating the GoogleTest flags until we can update our version to
    eliminate this problem. This will hopefully let us make progress on Linux
    bootstrapping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 979d8b8ca30c91cad0eac4ba32edc1b5f319b26d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 22:43:37 2010 +0000

    Revert r98089, it was breaking a clang test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98094 91177308-0d34-0410-b5e6-96231b3b80d8

commit e919c5df41f857b160b5dd02ab6bdfa9d0add68e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 22:17:11 2010 +0000

    Try to keep the cached inliner costs around for a bit longer for big functions.

    The Caller cost info would be reset everytime a callee was inlined. If the
    caller has lots of calls and there is some mutual recursion going on, the
    caller cost info could be calculated many times.

    This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
    small function calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98089 91177308-0d34-0410-b5e6-96231b3b80d8

commit be23161ae9de1fd16231ce6f003ac69b50dcdcc0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 22:17:06 2010 +0000

    Permit inlining into huge functions. This heuristic is ancient, and inlining
    can sometimes help reduce function size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8654b6bb13928a2296b8426e4a2f323257919db1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Mar 9 21:45:49 2010 +0000

    Change the Value argument to eliminateFrameIndex to a type-tagged value. This
    is preparatory to having PEI's scavenged frame index value reuse logic
    properly distinguish types of frame values (e.g., whether the value is
    stack-pointer relative or frame-pointer relative).

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98086 91177308-0d34-0410-b5e6-96231b3b80d8

commit fabe039a28884c4412d117a3826a4a45935038a3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Mar 9 21:39:34 2010 +0000

    MSR (Move to Special Register from ARM core register) requires a mask to specify
    what fields of the CPSR or SPSR are affected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94f6f26972b4f22105060539670d0e62a3530d45
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 21:27:58 2010 +0000

    MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel adjustment when determining if we need a scattered relocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 866db6ddd3d9c49cd9a007ec479151df72f73119
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 21:27:47 2010 +0000

    MC/Mach-O: Also set the PCrel bit in the second half of paired relocation entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98081 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4404ee2b48996b5ad519c4a6fac9a3112f11c35
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 21:27:30 2010 +0000

    MC/Mach-O: Don't generate relocations for PCrel fixups to local labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dd77d0c7af0853b8b5ced268256121b5d84adce
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Mar 9 20:15:42 2010 +0000

    The address of an indirect call must be in R12 on Darwin.
    Make it so.  (This patch is in LowerCall_Darwin, which seems
    to be used by SVR4 code as well; since that doesn't belong here,
    I haven't worried about this case.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f22e72e6f363abc22fb8087f7b9f4417fe48dc0
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Tue Mar 9 19:24:49 2010 +0000

    Consolidate GoogleTest make options and duplicate them to its own makefile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a40e25a7e404b461f4954f7f0aea31b0332dd07
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Mar 9 19:07:28 2010 +0000

    scavenged frame index value re-use gets confused when more than one base
    register is involved for thumb1. Work around this for the moment by only
    re-using SP-relative offsets. This is temporary 'til the code can distinguish
    multiple base registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98071 91177308-0d34-0410-b5e6-96231b3b80d8

commit b00a26fee958ed3537f81d4b7c89e1a9afead8d8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 9 18:31:07 2010 +0000

    The ARM EH experiment worked!

    Place the LSDA into the TEXT section for ARM platforms. This involves making the
    encoding indirect, pcrel, and sdata4 instead of an absolute pointer. The
    references to the type infos are then non-lazy pointers. Revision 98019 changed
    the encoding of non-lazy pointers to add the symbol to the non-lazy pointer
    definition if it's a local symbol (otherwise, it's external and set to '0' so
    that the loader can adjust it to the real value). This paved the way for this
    change to work on ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98068 91177308-0d34-0410-b5e6-96231b3b80d8

commit af56ab9536f9c4a2b097983bc1cbacc1175d081c
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Mar 9 16:34:25 2010 +0000

    In cases where the carry / borrow unused converted ladd / lsub
    to an add or a sub.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 576925a21d81713f504d7423130565793ee5b909
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Mar 9 16:13:57 2010 +0000

    Canonicalize ladd constant to RHS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7433c2b9591c92f9ee530a316a982ba47c831fb6
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Mar 9 16:07:47 2010 +0000

    Add DAG combine for ladd / lsub.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31d18bd9a179a797b93a1f53078dc7b015ce49fb
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Mar 9 09:03:21 2010 +0000

    Attempt to fix random build failures seen when doing highly
    parallel builds: the gold plugin fails to link because the lto
    library is in the middle of being written out by the linker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98054 91177308-0d34-0410-b5e6-96231b3b80d8

commit e34ce839bda9174de210deb21230aec01af4b8f4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 9 06:38:17 2010 +0000

    Allow more cross-rc coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98048 91177308-0d34-0410-b5e6-96231b3b80d8

commit c12254c2ddc2cda280b7c1b5e7c69399285179fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 04:54:43 2010 +0000

    reapply r98035:
    Now that setStartLabel takes an MCSymbol, we can de-ID'ize
    beginScope and RecordSourceLine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53bba1fb2d7e86b3123e1bdbfbef2e2d27e1444a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 04:48:35 2010 +0000

    add some extra checks.  I'm not sure why, but this does unbreak a
    failure remaining on mainline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c0db7be603d8c41197e723a8b3ac36d59d488e8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 9 04:04:38 2010 +0000

    Revert accidental commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76396173a6e6286acfb3591adf9465765df2d56e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 03:56:06 2010 +0000

    Don't do illegal cross-class coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98044 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5643b0a9af8fb46a9f1a30c7a5c49c2a8da70a3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Mar 9 03:21:12 2010 +0000

    - Make the machine cse dumb coalescer (as opposed to the more awesome simple
      coalescer) handle sub-register classes.
    - Add heuristics to avoid non-profitable cse. Given the current lack of live
      range splitting, avoid cse when an expression has PHI use and the would be
      new use is in a BB where the expression wasn't already being used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0eb20476e1137527fa8127f4ae50fba8fe39d421
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 9 03:01:40 2010 +0000

    Don't try to fold V_SET0 and V_SETALLONES to loads in medium and
    large code models.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98042 91177308-0d34-0410-b5e6-96231b3b80d8

commit dcfab59a21926d8a12d53ec49596d80ad68c49b0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 9 02:46:12 2010 +0000

    This is part of an LLC-beta test used to test <rdar://problem/6804645>. Please
    bear with the awful code. It won't last in its current state beyond tonight.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98040 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3536d8ddcf90219e87fa87438a0cd86263cd718
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Mar 9 02:36:31 2010 +0000

    Speculatively revert r98035. It appears to have caused a set of buildbot
    failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca89d0e2363edb83733a68fddc3829247019e5f1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 9 02:15:05 2010 +0000

    Attempt to make this debug output meaningful, both in the case of
    multibyte opcodes and in the case of multiple scopes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3275c1428b2d4b581e3a1ddcb627b52594d95786
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 02:08:02 2010 +0000

    Now that setStartLabel takes an MCSymbol, we can de-ID'ize
    beginScope and RecordSourceLine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82488607ec184b2612bbdbb8122b5755d0f230f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 01:58:53 2010 +0000

    change DbgScope to keep track of the start/end label as MCSymbol*
    now that the dependence on ID is removed from MMI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8

commit d279d2701266629a83f782309967222d2927f274
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 9 01:53:33 2010 +0000

    Make isLCSSA ignore uses in blocks not reachable from the entry block,
    as LCSSA no longer transforms such uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b52a73f042ed4b2197a1a14f7b97fec98cb5f86
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 01:52:43 2010 +0000

    remove a useless optimization: now that label replacement never
    happens, the start/end of a scope can never be the same.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a55b20a43ba28df75a55853d146715bc99c2a7a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 01:51:43 2010 +0000

    strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
    and add a FIXME about how we are eventually going to zap this
    lookup table once mc world domination is complete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1adce0381ad8b90b290c87646fa1e32b9e5cd94e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 01:29:59 2010 +0000

    inline RemapLabel into its only caller and simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30af5fb2f6f1513e89366a855c6ef8def2635bb0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 01:12:23 2010 +0000

    MC/Mach-O: Tweak .dump() formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98028 91177308-0d34-0410-b5e6-96231b3b80d8

commit b73962a86b6fd123d68d5882a966266c56572508
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Mar 9 01:12:20 2010 +0000

    MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just pad the address.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98027 91177308-0d34-0410-b5e6-96231b3b80d8

commit 484bdb6de0a1284ed5d86543a7373fabce4835e1
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Mar 9 01:08:11 2010 +0000

    Another place where debug info affected codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98026 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4833c0cbe8c88f63e93ce9a9ed9801e37cb01032
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 01:02:30 2010 +0000

    mcstreamerize AsmPrinter::printLabel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b139709c5c35684a61a7ed00e78f1edc10a407c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 00:59:53 2010 +0000

    Add inlining threshold to log output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98024 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cbf3995c22e3d85143eda6e5ec99bcd367f5361
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Mar 9 00:59:48 2010 +0000

    Disable physical register coalescing when the number of live ranges for the
    physreg becomes ridiculously high.

    std::upper_bound may be log(N), but for sufficiently large live intervals, it
    becomes log(N)*cachemiss = a long long time.

    This patch improves coalescer time by 4500x for a function with 20000
    function calls. The generated code is different, but not significantly worse -
    the allocator hints are almost as good as physreg coalescing anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98023 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59ffad622e4ada009fd8c9871f398d624aaeb187
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Mar 9 00:44:10 2010 +0000

    Start using DIFile.  See updated SourceLevelDebugging.html for more information.

    This patch updates LLVMDebugVersion to 8.
    Debug info descriptors encoded using LLVMDebugVersion 7 is supported.

    Corresponding llvmgcc and clang FE commits are required.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8530c21320fb105c470cecca1666e2ab3b50debf
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 9 00:43:34 2010 +0000

    Print blank line and clear stubs vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b472e7f003ce4cfec0207856a592233adf640a78
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Mar 9 00:40:17 2010 +0000

    MC-ize the stub printing in ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 536235b86b08cc3793dd6c8499ca195115329633
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:39:24 2010 +0000

    add a EmitSymbolValue convenience method to MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2fe00b10f675debd2028c27cafddb3ba74ba454
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:31:02 2010 +0000

    make InlineInfoLabels hold MCSymbol*'s, avoiding
    recomputation of the labels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8

commit e91bb0e5e1f3f8eefb5372d8126c95d688fcf1e8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:26:09 2010 +0000

    mc'ize the last use of PrintLabelName and eliminate PrintLabelName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15397c08a7d7548253b4c651744066f5fa035834
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:17:58 2010 +0000

    eliminate an argument from PrintRelDirective, sinking
    the one special case into EmitSectionOffset.  MCize
    the non-special case in EmitSectionOffset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 798dffc1c528741938f92dfeb15f341d4f3ae629
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Mar 9 00:07:36 2010 +0000

    Print the correct index in the "match failed at index" message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98013 91177308-0d34-0410-b5e6-96231b3b80d8

commit b39e8199fff92f6a1ca32af9b35cfd001c302b37
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:00:57 2010 +0000

    remove the suffix form of PrintLabelName, which was only
    used for 'flavor'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b6b4a9f3e3637f3165cb2372778e8f13e050bef
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Mar 9 00:00:15 2010 +0000

    now that the debug and eh emitters use a common .set counter,
    we can eliminate "flavor".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c35f7473dbd28cdbb19f708d104c844daf192d3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 23:58:37 2010 +0000

    move .set generation out of DwarfPrinter into AsmPrinter and
    MCize it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 375592fad9cdd72a0e737e9840f5dbba2c6a1d3a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 8 23:49:12 2010 +0000

    Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implicit-def for obvious performance reason.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98009 91177308-0d34-0410-b5e6-96231b3b80d8

commit adee8f6247446883e41627d4b0ad41b1bd1e992f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 8 23:28:08 2010 +0000

    Restrict machine cse to really trivial coalescing. Leave the heavy lifting to a real coalescer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3712b724eb739e611edb2fce5d3cd8245303c9a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 23:23:25 2010 +0000

    simplify EmitSectionOffset to always use .set if it is
    available, the only thing this affects is that we produce
    .set in one case we didn't before, which shouldn't harm
    anything.  Make EmitSectionOffset call EmitDifference
    instead of duplicating it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8

commit b34dfbce73d9dbda91db0bf1af85487e8a533339
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 23:18:21 2010 +0000

    don't reset defaults.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10673c610a9283bde513654c1800a69d879c646d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 23:02:59 2010 +0000

    Remove a version of EmitDifference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de9d004e33c5ab4e465ef235ed394d4a93635ac
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Mar 8 22:56:15 2010 +0000

    Fix a crash compiling 254.gap for Thumb2.  The Thumb2 add/sub with 12-bit
    immediate instructions cannot set the condition codes, so they do not have
    the extra cc_out operand.  We hit an assertion during tail duplication
    because the instruction being duplicated had more operands that expected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98001 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5b3e618125712677e24d0d7308642a2bfaf2263
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 8 22:54:36 2010 +0000

    Re-commit 97860 with fix. getMallocAllocatedType may return null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37a2da78c7756cc0e6bc7c49a53fd2ce72ca51ba
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:52:49 2010 +0000

    eliminate a form of PrintLabelName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6282eed764c665dd39203d0e99ae0475a1a0d313
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:50:36 2010 +0000

    remove another form of EmitReference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c5090fde95548bec19618937e6584c4419399f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:47:57 2010 +0000

    eliminate the non-MCSymbol versions of EmitReference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74e377ad4a3382e37703148e7ab50b6f7d55aa0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:44:40 2010 +0000

    mc'ize EmitLabel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c6b9d908b46395bdf562b6413c4c4b88c123624
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:31:46 2010 +0000

    merge DIEObjectLabel and DIEDwarfLabel into DIELabel.

    Yes, DIE you fiendish labels, die all of you.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7497fff3f4b642d0b77139b798372d06939ace17
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 22:27:22 2010 +0000

    Introduce DIFile. This will be used to represent header files and source file(s) in debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27702ca45fb5ac8ebbb5ce963890f8247270fc26
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 22:23:36 2010 +0000

    elimiante the DWLabel class, using MCSymbol instead.  Start
    switching some stuff over to passing around MCSymbol* instead
    of stem+ID.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95b919f1e68169241d511ec44a28b6588e2761aa
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Mar 8 22:17:26 2010 +0000

    Fix the vmxon entry in the X86InstrInfo.td so it has the correct prefix bytes
    for the encoding and is not the same as vmptrld.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97992 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfca64d14f34d3b57bc6755c9d34d27c76183d2c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 8 22:03:42 2010 +0000

    MC/Macho-O: Align the zerofill section itself to the maximum alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97991 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5f42aac3d5d2f09686d77d292ef9a951f0a7e72
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 22:02:50 2010 +0000

    Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ad39f9c976594c62b1e1f22ed7fe445985c4102
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 21:32:10 2010 +0000

    Remove DbgNode checks in constructor. Debug descriptors are intended to be light weight wrappers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58ab5e7c15a15768209eff6761c714dfbf568ab7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 8 21:10:42 2010 +0000

    MC/Mach-O: Fix address compution for zero fill sections.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97984 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4a178fa8b8636e03e29f775767a3bcff84c3784
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 8 21:10:39 2010 +0000

    MC/Mach-O: Error out instead of crashing on invalid scattered relocation expressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d7511112d0908781bc16935869744d23b6e7e22
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Mar 8 21:10:36 2010 +0000

    X86: Fix encoding for TEST{8,16,32}rr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97982 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8e3a9084c610086889e06e754cbd6a384bbf179
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Mar 8 21:05:02 2010 +0000

    Add documentation on sibling call optimization. Rename tailcall2.ll test to sibcall.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a559f9f30b4c006edbe45ddf3754d1b90b152c6
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 21:00:27 2010 +0000

    isNull() is not used any more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7699ba9b22d05488d0e022b4291e1f57b8d4b94a
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 20:52:55 2010 +0000

    Avoid using DIDescriptor.isNull().
    This is a first step towards eliminating checks in Descriptor constructors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8

commit c303e4f41efd62e7ae06da9de184b8b60c8896e4
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date:   Mon Mar 8 20:45:52 2010 +0000

    Iterator traits and swap.  closes PR6548 and PR6549

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d5ce6b5b24f2d3f5cc05f9193a73322985b140e
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Mar 8 20:07:32 2010 +0000

    Don't always run the ocaml kaleidoscope tutorials.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f949b1548342766311eaf3da7bed7fb522a949b
Author: John McCall <rjmccall@apple.com>
Date:   Mon Mar 8 20:02:05 2010 +0000

    Revert r97726 and r97728 at ddunbar's request; we want to solve this
    some other way when it comes to be necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40cdf7e58d2b200e536d4ff2db775659d819cf79
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Mar 8 19:32:27 2010 +0000

    Add OCaml tutorial to the examples.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0838f1f7c62b340d7667ad9ad2fb4dc85eed3767
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Mar 8 19:32:18 2010 +0000

    Update the OCaml Kaleidoscope tutorial.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97965 91177308-0d34-0410-b5e6-96231b3b80d8

commit df905d6e81a8893b3fcde434ad51a29a98049af4
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 19:20:38 2010 +0000

    Revert r97947.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33d1305defc3ebcbd57e042193b9f46b908768f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:59:49 2010 +0000

    disambiguate some types, add a fixme about some
    inconsistent intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08d10e42ff854b1f74031fc42582843d91542114
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:57:56 2010 +0000

    fix some more ambiguous patterns, remove another nontemporalstore
    pattern which is broken (source and address swapped).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97958 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcfbb2bac4b8330a2e2909fc40b3212a079c2b72
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:55:15 2010 +0000

    Correct immediate sizes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0298306461240a74e36d3a73121fae57d0f08363
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:52:55 2010 +0000

    fix a type compatibility bug.  imm is i32 in the input
    pattern, not i64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 674df3dd474da601030c482d71c7956e15ee2326
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:51:21 2010 +0000

    fix a bunch of partially ambiguous patterns on ARM.  As an
    example, this:

    (set DPR:$dst, (fsub (fneg (fmul DPR:$a, DPR:$b)), DPR:$dstin))

    is ambiguous because DPR contains both f64 and v2f32.  tblgen
    currently accidentally picks f64 because it's first in the
    regclass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e2509168d2069f7795bc0c2d8c5e5695b2d8c70
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:44:04 2010 +0000

    Fix a bunch of ambiguous patterns which tblgen happens to infer types
    for, due to a bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23c573d22b1c86232763c8a190443909a07909fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:36:19 2010 +0000

    Node arguments to type casts can have names too.  This code
    needs to be majorly refactored, but this spot bugfix allows
    things like:

     def vmrghw_shuffle : PatFrag<(ops node:$lhs, node:$rhs),
                                 (vector_shuffle (v4i32 node:$lhs), node:$rhs), [{
    ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d5db9b55f7dba9ed2f1f9ad3bdb98b32b9b775c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 18:29:38 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97950 91177308-0d34-0410-b5e6-96231b3b80d8

commit d57377faae39dd0adf1d652abcbfa0c8efb230df
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Mar 8 18:25:48 2010 +0000

    Avoid using DIDescriptor.isNull().
    This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cba8964b838ef615bec9467703367bc28bcc88a
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Mar 8 05:39:50 2010 +0000

    Add Order to SDDbgValue

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ebf2395596a2299fbbc2332554fdc1e985e8803
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Mar 8 05:38:13 2010 +0000

    Fix dbg value handling in tail merging.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7579f4342e12b45bc8a230680e84dae1c51e1f91
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Mar 8 03:18:28 2010 +0000

    remove a non-temporal store pattern which is not tested and
    could never have matched because the operand list was backwards.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45f8521ba99fb7fead855cc7af3f173a7d4eca61
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Mar 8 02:58:37 2010 +0000

    Revert r97917, which was causing Clang Debug self-host failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c51a8b928528e8f0b3bac4632c8d79bdad1be04
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 7 19:26:40 2010 +0000

    Roll back r97918 again.  Just configuring against llvm-gcc wasn't enough to run
    the FrontendC* tests. :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97921 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa049609074bc577eff2aaba0e76b5e01e79fd52
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 7 18:46:57 2010 +0000

    Reapply r97788 to free MDNodes when the LLVMContext is destroyed.  It
    bootstraps llvm-gcc this time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97918 91177308-0d34-0410-b5e6-96231b3b80d8

commit 683903d4139e31949ae1bd2fbee40669597109ac
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 7 17:10:13 2010 +0000

    Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 945671d65ee6dcc8784f3d8a9860589f3f7a6f98
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Sun Mar 7 11:15:04 2010 +0000

    Add findNearestCommonDominator() for PostDominators.

    Add a missing interface to be able to call findNearestCommonDominator
    for a PostDominanceTree. The function itself is already implemented in
    DominatorTreeBase. The interface however was only added to the
    DominatorTree class, but not the PostDominatorClass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97915 91177308-0d34-0410-b5e6-96231b3b80d8

commit e334376b5c7cc9f21c0b05416fbdf6145935a01a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 07:45:08 2010 +0000

    Use Other as a sentinel instead of iAny.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 153b35abab0d3d8d6eadf83a3791209ac4c5566b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 07:21:24 2010 +0000

    turn off debug spew

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18c2cf7e2c0386235e8aff2aa0bcd4c2c287653e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 07:20:49 2010 +0000

    more factoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12d029514ea05bc147939b12219861b94e7ea0e2
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 7 07:16:49 2010 +0000

    _2_ gcc crashes, ah, ah, ah...

    (Rolling back r97906.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67eeb51d145bf66e014961355ca1e552c59e85db
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 07:01:28 2010 +0000

    teach tblgen to be more aggressive when factoring CheckType nodes.
    Now it will factor things like this:

    CheckType i32
      ...
    CheckOpcode ISD::AND
      CheckType i64
      ...

    into:

    SwitchType:
      i32: ...
      i64:
        CheckOpcode ISD::AND
        ...

    This shrinks hte table by a few bytes, nothing spectacular.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51add9a0af0b77b2a427bf8138cc366aaa6d6c9a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Mar 7 06:55:35 2010 +0000

    Avoid leaking CompileUnits and DbgScopes from DwarfDebug.  Leaks found by Valgrind!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e32517a0a32814b4e587e46fe1729f10d14bfba
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 06:29:26 2010 +0000

    add some helper functions and implement isContradictory
    for CheckValueTypeMatcher.  The isContradictory implementation
    helps us factor better, shrinking x86 table from 79144 -> 78896
    bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97905 91177308-0d34-0410-b5e6-96231b3b80d8

commit c08cbfd5b310096f304eeb77ffd28b0e2275dc39
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Mar 7 04:28:09 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97895 91177308-0d34-0410-b5e6-96231b3b80d8

commit cae2fc5dc584c33fe519252bb2789a115a42ddff
Author: Wesley Peck <peckw@wesleypeck.com>
Date:   Sat Mar 6 23:23:12 2010 +0000

    Re-committing the failed r97807 commit with changes to eliminate warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3edbcb547e63556b3c825fb406068af4b3cc3805
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Mar 6 20:26:48 2010 +0000

    Add verification of union types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fdea181b80dc2509fab0c282b35bb27daea5ab0
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Mar 6 20:07:32 2010 +0000

    Describe what's going on with mingw alloca and why do we need separate instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26502318cbe0c14c2bfedbf90165c3699eb8049c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Mar 6 19:39:36 2010 +0000

    Initial bits of ARMv4-only support.
    Patch by John Tytgat!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0391c33d30582e640bbae6d394c6718b3226607d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Mar 6 19:32:29 2010 +0000

    Lower dynamic stack allocation on mingw32 to separate instruction.
    We cannot use a normal call here since it has extra unmodelled side
    effects (it changes stack pointer). This should fix PR5292.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67767d3975c4e4ea349f8e5684a2194456bed849
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 6 19:20:13 2010 +0000

    make APFloat::toString be const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97883 91177308-0d34-0410-b5e6-96231b3b80d8

commit effd01dcbf1424d4157f7139fd3b4fd34dd1b552
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Mar 6 18:54:37 2010 +0000

    disable this for mingw as well, we really need a 'has no dynamic linking' predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97882 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-06 15:50:30 +02:00
..
modules Merge LLVM 2.8 from upstream 2010-11-06 15:50:30 +02:00
config-ix.cmake Merge LLVM 2.8 from upstream 2010-11-06 15:50:30 +02:00
README rename libclamav/{llvm->c++} 2009-08-31 11:39:46 +03:00

See docs/CMake.html for instructions on how to build LLVM with CMake.