Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/llvm-lm32
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7da12617be7e
Choose a base ref
...
head repository: m-labs/llvm-lm32
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 38080c0a63ac
Choose a head ref

Commits on Nov 22, 2012

  1. IntelJITEventsWrapper.h: Prune two members, FinalizeThreadFunc and Fi…

    …nalizeProcessFunc, for now. [-Wunused-private-field]
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168495 91177308-0d34-0410-b5e6-96231b3b80d8
    chapuni committed Nov 22, 2012
    Copy the full SHA
    f6dae76 View commit details
  2. Fix 80-col violation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168498 91177308-0d34-0410-b5e6-96231b3b80d8
    eliben committed Nov 22, 2012
    Copy the full SHA
    9f696c8 View commit details
  3. llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp: Prune Addre…

    …ssSanitizerCreateGlobalRedzonesPass::ID. [-Wunused-variable]
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168499 91177308-0d34-0410-b5e6-96231b3b80d8
    chapuni committed Nov 22, 2012
    Copy the full SHA
    d59c072 View commit details
  4. Merge branch 'master' of http://llvm.org/git/llvm

    JP Bonn committed Nov 22, 2012
    Copy the full SHA
    d2efcaf View commit details
  5. Add more functions to the target library information.

    I discovered a few more missing functions while migrating optimizations
    from the simplify-libcalls pass to the instcombine (I already added some
    in r167659).
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168501 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 22, 2012
    Copy the full SHA
    6098c6b View commit details
  6. Mark me as the owner of the gold plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168502 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 22, 2012
    Copy the full SHA
    99ba589 View commit details
  7. Added me as the owner of the Sparc backend

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168504 91177308-0d34-0410-b5e6-96231b3b80d8
    vegovin committed Nov 22, 2012
    Copy the full SHA
    e84b47e View commit details

Commits on Nov 23, 2012

  1. Cleanup: Simplify loop end logic in computeRegisterProperties().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168507 91177308-0d34-0410-b5e6-96231b3b80d8
    Patrik Hägglund committed Nov 23, 2012
    Copy the full SHA
    d5f0318 View commit details
  2. Copy the full SHA
    f284aef View commit details
  3. Update call to the new syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168512 91177308-0d34-0410-b5e6-96231b3b80d8
    isanbard committed Nov 23, 2012
    Copy the full SHA
    b46702c View commit details
  4. Disallow the undocumented practice of starting the datalayout string …

    …with '-'.
    
    Update some test cases accordingly.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168516 91177308-0d34-0410-b5e6-96231b3b80d8
    Patrik Hägglund committed Nov 23, 2012
    Copy the full SHA
    834518f View commit details
  5. Implement .cfi_undefined. Based on a patch from PaX team, updated by

    Roman Divacky. I just added the testcase.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168520 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 23, 2012
    Copy the full SHA
    c8fec7e View commit details
  6. Add a -disable-cfi option to llvm-mc. This is useful for debugging as

    it will expand any .cfi_* directives in the input assembly.
    
    Unfortunately this cannot replace elf-dump in tests as the asm streamer
    cannot relax the line advance opcodes.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168522 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 23, 2012
    Copy the full SHA
    985884c View commit details
  7. Refactor a bit to make some helper functions static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168524 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 23, 2012
    Copy the full SHA
    5d1e089 View commit details
  8. CodeGenPrepare: Move ret duplication out of the instruction iteration…

    … loop.
    
    It can delete the block, and the loop continues on free'd memory.
    No change in output. Found by valgrind.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168525 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 23, 2012
    Copy the full SHA
    4ccb49a View commit details

Commits on Nov 24, 2012

  1. Refactor how MCCFIInstructions are created.

    Give MCCFIInstruction a single, private constructor and add helper static
    methods that create each type of cfi instruction. This is is preparation
    for changing its representation. The representation with a pair
    MachineLocations older than MC and has been abused quiet a bit to support
    more cfi instructions.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168532 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 24, 2012
    Copy the full SHA
    28c9ea3 View commit details
  2. Move a bit of duplicated code into a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168533 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 24, 2012
    Copy the full SHA
    529a01d View commit details
  3. Give each MCCFIInstruction its own opcode.

    This untangles the switch cases of the old Move and RelMove opcodes a bit
    and makes it clear how to add new instructions.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168534 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 24, 2012
    Copy the full SHA
    7f74d2c View commit details
  4. Change the representation of MCCFIInstruction.

    We now store the Register and Offset directly. MachineLocation is gone (from
    this file)!
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168536 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 24, 2012
    Copy the full SHA
    ff233c9 View commit details
  5. Factor some common code out of individual if blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168538 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 24, 2012
    Copy the full SHA
    b315772 View commit details
  6. PPC: Simplify code with Twines.

    No functionality change.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168539 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 24, 2012
    Copy the full SHA
    8f2dce0 View commit details
  7. PPC: Share applyFixup between ELF and Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168540 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 24, 2012
    Copy the full SHA
    e8ca482 View commit details
  8. PPC: MCize most of the darwin PIC emission.

    The last remaining bit is "bcl 20, 31, AnonSymbol", which I couldn't find the
    instruction definition for. Only whitespace changes in assembly output.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168541 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 24, 2012
    Copy the full SHA
    915558e View commit details
  9. ARM: Share applyFixup between ELF and Darwin.

    The implementations already diverged a bit, merge them back together.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168542 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 24, 2012
    Copy the full SHA
    cb4028b View commit details
  10. Copy the full SHA
    d3022b8 View commit details
  11. libLTO: Add a utility method to initialize the disassemblers.

    Necessary to give disassembler users (like darwin's otool) a possibility to
    dlopen libLTO and still initialize the required LLVM bits. This used to go
    through libMCDisassembler but that's a gross layering violation, the MC layer
    can't pull in functions from the targets. Adding a function to libLTO is a bit
    of a hack but not worse than exposing other disassembler bits from libLTO.
    
    Fixes PR14362.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168545 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 24, 2012
    Copy the full SHA
    8a2ce5d View commit details
  12. Refactor a bit to make some helper methods static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168546 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 24, 2012
    Copy the full SHA
    538cd48 View commit details
  13. Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's …

    …already called at the start of the function and captured in a local variable.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168548 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 24, 2012
    Copy the full SHA
    134f78c View commit details

Commits on Nov 25, 2012

  1. Copy the full SHA
    915562e View commit details
  2. Remove duplicate check of LimitFloatPrecision. It was already checked…

    … earlier before IsExp10 could be set to true.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168553 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 25, 2012
    Copy the full SHA
    c1aa638 View commit details
  3. Copy the full SHA
    7279809 View commit details
  4. Further cleanups. Thanks for Sean Silva for noticing it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168556 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 25, 2012
    Copy the full SHA
    14a708b View commit details
  5. Refactor to make helper method static.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168557 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 25, 2012
    Copy the full SHA
    327e4cb View commit details
  6. Add support for pointer induction variables even when there is no int…

    …eger induction variable.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168558 91177308-0d34-0410-b5e6-96231b3b80d8
    nadavrot committed Nov 25, 2012
    Copy the full SHA
    0af63ac View commit details
  7. The induction-pointer work is inspired by a research paper. This comm…

    …it adds a reference.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168559 91177308-0d34-0410-b5e6-96231b3b80d8
    nadavrot committed Nov 25, 2012
    Copy the full SHA
    d7e0b7c View commit details
  8. Rename method. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168560 91177308-0d34-0410-b5e6-96231b3b80d8
    nadavrot committed Nov 25, 2012
    Copy the full SHA
    a8e2b2b View commit details
  9. Move semantics are great, don't destroy the optimization opportunity …

    …with trivial copy ctors.
    
    No functionality change.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168561 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Nov 25, 2012
    Copy the full SHA
    a91eead View commit details
  10. Add support for .cfi_register now that it is easy to extent the repre…

    …sentation
    
    to support it. Original patch with the parsing and plumbing by the PaX team and
    Roman Divacky. I added the bits in MCDwarf.cpp and the test.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168565 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 25, 2012
    Copy the full SHA
    f4f14f6 View commit details
  11. Code Custodian:

      - Widespread trailing space removal
      - A dash of OCD spacing to block align enums
      - joined a line that probably needed 80 cols a while back
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168566 91177308-0d34-0410-b5e6-96231b3b80d8
    Joe Abbey committed Nov 25, 2012
    Copy the full SHA
    170a15e View commit details
  12. Copy the full SHA
    8c6b736 View commit details
  13. Fix the document style.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168569 91177308-0d34-0410-b5e6-96231b3b80d8
    nadavrot committed Nov 25, 2012
    Copy the full SHA
    00e8074 View commit details
  14. Move the max vector width to a constant parameter. No functionality c…

    …hange.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168570 91177308-0d34-0410-b5e6-96231b3b80d8
    nadavrot committed Nov 25, 2012
    Copy the full SHA
    6bfc348 View commit details
  15. instcombine: Migrate ffs* optimizations

    This patch migrates the ffs* optimizations from the simplify-libcalls
    pass into the instcombine library call simplifier.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168571 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 25, 2012
    Copy the full SHA
    15d099a View commit details

Commits on Nov 26, 2012

  1. instcombine: Migrate *abs optimizations

    This patch migrates the *abs optimizations from the simplify-libcalls
    pass into the instcombine library call simplifier.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168574 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 26, 2012
    Copy the full SHA
    dfb3b1a View commit details
  2. Fix bogus comment; no functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168575 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 26, 2012
    Copy the full SHA
    48bb786 View commit details
  3. Fix gcc's -Wunused-but-set-variable warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168576 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 26, 2012
    Copy the full SHA
    250ab62 View commit details
  4. Removing SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG

    Adding CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
           C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
    
    This is to handle the wackiness on a Mac host where cmake detects:
    
    CMAKE_CXX_COMPILER == "/usr/bin/c++"
    CMAKE_C_COMPILER == "/usr/bin/gcc"
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168577 91177308-0d34-0410-b5e6-96231b3b80d8
    Joe Abbey committed Nov 26, 2012
    Copy the full SHA
    d6a9307 View commit details
  5. instcombine: Migrate isdigit optimizations

    This patch migrates the isdigit optimizations from the simplify-libcalls
    pass into the instcombine library call simplifier.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168578 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 26, 2012
    Copy the full SHA
    a0798ec View commit details
  6. instcombine: Migrate isascii optimizations

    This patch migrates the isascii optimizations from the simplify-libcalls
    pass into the instcombine library call simplifier.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168579 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 26, 2012
    Copy the full SHA
    017bb75 View commit details
  7. instcombine: Migrate toascii optimizations

    This patch migrates the toascii optimizations from the simplify-libcalls
    pass into the instcombine library call simplifier.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168580 91177308-0d34-0410-b5e6-96231b3b80d8
    meadori committed Nov 26, 2012
    Copy the full SHA
    38c4441 View commit details
Showing with 4,176 additions and 2,852 deletions.
  1. +8 −14 CODE_OWNERS.TXT
  2. +8 −3 cmake/modules/HandleLLVMOptions.cmake
  3. +124 −12 docs/LangRef.html
  4. +0 −5 examples/ExceptionDemo/ExceptionDemo.cpp
  5. +7 −0 include/llvm-c/lto.h
  6. +9 −0 include/llvm/Analysis/InstructionSimplify.h
  7. +3 −3 include/llvm/Bitcode/Archive.h
  8. +14 −13 include/llvm/Bitcode/BitCodes.h
  9. +41 −41 include/llvm/Bitcode/BitstreamReader.h
  10. +14 −14 include/llvm/Bitcode/BitstreamWriter.h
  11. +10 −1 include/llvm/Bitcode/LLVMBitCodes.h
  12. +0 −112 include/llvm/CodeGen/MachineLoopRanges.h
  13. +0 −3 include/llvm/CodeGen/Passes.h
  14. +0 −1 include/llvm/InitializePasses.h
  15. +51 −0 include/llvm/Instruction.h
  16. +96 −24 include/llvm/MC/MCDwarf.h
  17. +68 −0 include/llvm/MC/MCInstBuilder.h
  18. +3 −0 include/llvm/MC/MCStreamer.h
  19. +0 −24 include/llvm/Module.h
  20. +116 −0 include/llvm/Operator.h
  21. +13 −13 include/llvm/Support/Compiler.h
  22. +24 −0 include/llvm/Target/TargetLibraryInfo.h
  23. +2 −1 include/llvm/Target/TargetRegisterInfo.h
  24. +1 −3 include/llvm/Transforms/Instrumentation.h
  25. +3 −0 lib/Analysis/DependenceAnalysis.cpp
  26. +39 −0 lib/Analysis/InstructionSimplify.cpp
  27. +6 −2 lib/AsmParser/LLLexer.cpp
  28. +11 −29 lib/AsmParser/LLParser.cpp
  29. +16 −1 lib/AsmParser/LLParser.h
  30. +5 −1 lib/AsmParser/LLToken.h
  31. +5 −5 lib/Bitcode/Reader/BitReader.cpp
  32. +17 −9 lib/Bitcode/Reader/BitcodeReader.cpp
  33. +25 −25 lib/Bitcode/Reader/BitcodeReader.h
  34. +4 −5 lib/Bitcode/Writer/BitWriter.cpp
  35. +21 −13 lib/Bitcode/Writer/BitcodeWriter.cpp
  36. +2 −2 lib/Bitcode/Writer/BitcodeWriterPass.cpp
  37. +10 −10 lib/Bitcode/Writer/ValueEnumerator.cpp
  38. +10 −10 lib/Bitcode/Writer/ValueEnumerator.h
  39. +27 −27 lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  40. +3 −3 lib/CodeGen/AsmPrinter/DwarfDebug.h
  41. +0 −1 lib/CodeGen/BranchFolding.cpp
  42. +0 −1 lib/CodeGen/CMakeLists.txt
  43. +2 −1 lib/CodeGen/LLVMTargetMachine.cpp
  44. +0 −28 lib/CodeGen/LiveIntervalUnion.cpp
  45. +0 −5 lib/CodeGen/LiveIntervalUnion.h
  46. +1 −1 lib/CodeGen/MachineCSE.cpp
  47. +0 −1 lib/CodeGen/MachineCopyPropagation.cpp
  48. +0 −116 lib/CodeGen/MachineLoopRanges.cpp
  49. +2 −0 lib/CodeGen/MachineRegisterInfo.cpp
  50. +0 −1 lib/CodeGen/RegAllocBase.cpp
  51. +0 −1 lib/CodeGen/RegAllocFast.cpp
  52. +0 −2 lib/CodeGen/RegAllocPBQP.cpp
  53. +0 −4 lib/CodeGen/RegisterScavenging.cpp
  54. +93 −190 lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  55. +0 −7 lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  56. +4 −5 lib/CodeGen/SelectionDAG/TargetLowering.cpp
  57. +1 −1 lib/DebugInfo/DWARFContext.cpp
  58. +0 −6 lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h
  59. +0 −25 lib/Linker/LinkItems.cpp
  60. +0 −13 lib/Linker/LinkModules.cpp
  61. +22 −0 lib/MC/MCAsmStreamer.cpp
  62. +0 −13 lib/MC/MCDisassembler/Disassembler.cpp
  63. +98 −45 lib/MC/MCDwarf.cpp
  64. +43 −0 lib/MC/MCParser/AsmParser.cpp
  65. +52 −55 lib/MC/MCStreamer.cpp
  66. +262 −376 lib/Target/ARM/ARMAsmPrinter.cpp
  67. +10 −4 lib/Target/ARM/ARMFastISel.cpp
  68. +46 −63 lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  69. +1 −9 lib/Target/CppBackend/CPPBackend.cpp
  70. +27 −29 lib/Target/Hexagon/HexagonOperands.td
  71. +17 −19 lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  72. +82 −52 lib/Target/PowerPC/PPCAsmPrinter.cpp
  73. +47 −0 lib/Target/TargetLibraryInfo.cpp
  74. +0 −6 lib/Target/X86/X86.h
  75. +1 −1 lib/Target/X86/X86ISelLowering.cpp
  76. +19 −39 lib/Target/X86/X86MCInstLower.cpp
  77. +0 −43 lib/Target/X86/X86RegisterInfo.cpp
  78. +0 −1 lib/Target/X86/X86TargetMachine.cpp
  79. +21 −0 lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  80. +4 −22 lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  81. +0 −1 lib/Transforms/Instrumentation/AddressSanitizer.cpp
  82. +3 −4 lib/Transforms/Instrumentation/BoundsChecking.cpp
  83. +28 −2 lib/Transforms/Instrumentation/ThreadSanitizer.cpp
  84. +8 −6 lib/Transforms/Scalar/CodeGenPrepare.cpp
  85. +0 −316 lib/Transforms/Scalar/SimplifyLibCalls.cpp
  86. +0 −4 lib/Transforms/Utils/CloneModule.cpp
  87. +316 −0 lib/Transforms/Utils/SimplifyLibCalls.cpp
  88. +275 −173 lib/Transforms/Vectorize/LoopVectorize.cpp
  89. +16 −15 lib/VMCore/AsmWriter.cpp
  90. +0 −3 lib/VMCore/DataLayout.cpp
  91. +84 −0 lib/VMCore/Instruction.cpp
  92. +0 −8 lib/VMCore/LLVMContextImpl.h
  93. +0 −18 lib/VMCore/Module.cpp
  94. +12 −0 lib/VMCore/PassManager.cpp
  95. +9 −0 projects/sample/Makefile.llvm.rules
  96. +39 −39 test/Analysis/DependenceAnalysis/Banerjee.ll
  97. +48 −48 test/Analysis/DependenceAnalysis/Coupled.ll
  98. +39 −39 test/Analysis/DependenceAnalysis/ExactRDIV.ll
  99. +42 −42 test/Analysis/DependenceAnalysis/ExactSIV.ll
  100. +30 −30 test/Analysis/DependenceAnalysis/GCD.ll
  101. +17 −17 test/Analysis/DependenceAnalysis/Preliminary.ll
  102. +30 −30 test/Analysis/DependenceAnalysis/Propagating.ll
  103. +12 −12 test/Analysis/DependenceAnalysis/Separability.ll
  104. +33 −33 test/Analysis/DependenceAnalysis/StrongSIV.ll
  105. +21 −21 test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
  106. +27 −27 test/Analysis/DependenceAnalysis/SymbolicSIV.ll
  107. +21 −21 test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
  108. +21 −21 test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
  109. +21 −21 test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
  110. +142 −0 test/Assembler/fast-math-flags.ll
  111. +30 −0 test/CodeGen/ARM/fast-isel-icmp.ll
  112. +47 −9 test/CodeGen/PowerPC/available-externally.ll
  113. +5 −5 test/CodeGen/PowerPC/i64_fp_round.ll
  114. +2 −2 test/CodeGen/PowerPC/stubs.ll
  115. +1 −1 test/CodeGen/X86/2012-07-15-broadcastfold.ll
  116. +16 −16 test/CodeGen/X86/avx-intel-ocl.ll
  117. +7 −7 test/CodeGen/X86/avx-splat.ll
  118. +3 −9 test/CodeGen/X86/dynamic-allocas-VLAs.ll
  119. +20 −0 test/CodeGen/X86/fma4-intrinsics-x86_64.ll
  120. +0 −1 test/Feature/properties.ll
  121. +225 −25 test/Instrumentation/ThreadSanitizer/atomic.ll
  122. +0 −2 test/Integer/properties_bt.ll
  123. +1 −4 test/Linker/2006-01-19-ConstantPacked.ll
  124. +4 −4 test/MC/Disassembler/X86/enhanced.txt
  125. +42 −0 test/MC/ELF/cfi-register.s
  126. +41 −0 test/MC/ELF/cfi-undefined.s
  127. +1 −1 test/MC/MachO/gen-dwarf.s
  128. +1 −1 test/Transforms/IndVarSimplify/iv-zext.ll
  129. +0 −1 test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll
  130. +0 −1 test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll
  131. +3 −3 test/Transforms/{SimplifyLibCalls → InstCombine}/2010-05-30-memcpy-Struct.ll
  132. +41 −0 test/Transforms/InstCombine/abs-1.ll
  133. +1 −1 test/Transforms/InstCombine/align-external.ll
  134. +1 −1 test/Transforms/{SimplifyLibCalls → InstCombine}/debug-line.ll
  135. +99 −0 test/Transforms/InstCombine/disable-simplify-libcalls.ll
  136. +134 −0 test/Transforms/InstCombine/ffs-1.ll
  137. +32 −0 test/Transforms/InstCombine/isascii-1.ll
  138. +48 −0 test/Transforms/InstCombine/isdigit-1.ll
  139. +10 −0 test/Transforms/InstCombine/memcpy-from-global.ll
  140. +119 −0 test/Transforms/InstCombine/printf-1.ll
  141. +80 −0 test/Transforms/InstCombine/sprintf-1.ll
  142. +59 −0 test/Transforms/InstCombine/toascii-1.ll
  143. +15 −0 test/Transforms/InstCombine/xor2.ll
  144. +35 −0 test/Transforms/InstSimplify/fast-math.ll
  145. +33 −0 test/Transforms/LoopVectorize/no_int_induction.ll
  146. +0 −45 test/Transforms/SimplifyLibCalls/FFS.ll
  147. +5 −4 test/Transforms/SimplifyLibCalls/FPrintF.ll
  148. +5 −4 test/Transforms/SimplifyLibCalls/FPuts.ll
  149. +0 −21 test/Transforms/SimplifyLibCalls/IsDigit.ll
  150. +0 −37 test/Transforms/SimplifyLibCalls/Printf.ll
  151. +1 −1 test/Transforms/SimplifyLibCalls/Puts.ll
  152. +5 −3 test/Transforms/SimplifyLibCalls/SPrintF.ll
  153. +0 −21 test/Transforms/SimplifyLibCalls/ToAscii.ll
  154. +0 −11 test/Transforms/SimplifyLibCalls/abs.ll
  155. +0 −42 test/Transforms/SimplifyLibCalls/iprintf.ll
  156. +6 −1 tools/Makefile
  157. +0 −1 tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
  158. +5 −1 tools/llvm-mc/llvm-mc.cpp
  159. +1 −0 tools/lto/CMakeLists.txt
  160. +26 −0 tools/lto/LTODisassembler.cpp
  161. +1 −0 tools/lto/lto.exports
22 changes: 8 additions & 14 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
@@ -16,6 +16,10 @@ N: Owen Anderson
E: resistor@mac.com
D: SelectionDAG (lib/CodeGen/SelectionDAG/*)

N: Rafael Avila de Espindola
E: rafael.espindola@gmail.com
D: Gold plugin (tools/gold/*)

N: Chandler Carruth
E: chandlerc@gmail.com
E: chandlerc@google.com
@@ -43,8 +47,9 @@ N: Hal Finkel
E: hfinkel@anl.gov
D: BBVectorize and the PowerPC target

N: Doug Gregor
D: All parts of Clang not covered by someone else
N: Venkatraman Govindaraju
E: venkatra@cs.wisc.edu
D: Sparc Backend (lib/Target/Sparc/*)

N: Tobias Grosser
D: Polly
@@ -76,9 +81,6 @@ N: Benjamin Kramer
E: benny.kra@gmail.com
D: DWARF Parser

N: Ted Kremenek
D: Clang Static Analyzer

N: Sergei Larin
E: slarin@codeaurora.org
D: VLIW Instruction Scheduling, Packetization
@@ -88,10 +90,6 @@ E: sabre@nondot.org
W: http://nondot.org/~sabre/
D: Everything not covered by someone else

N: John McCall
E: rjmccall@apple.com
D: Clang LLVM IR generation

N: Jakob Olesen
D: Register allocators and TableGen

@@ -101,7 +99,7 @@ D: XCore Backend

N: Chad Rosier
E: mcrosier@apple.com
D: MS-inline asm, Fast-Isel, and the compiler driver
D: Fast-Isel

N: Nadav Rotem
E: nrotem@apple.com
@@ -111,10 +109,6 @@ N: Duncan Sands
E: baldrick@free.fr
D: DragonEgg

N: Richard Smith
E: richard@metafoo.co.uk
D: Clang Semantic Analysis (tools/clang/lib/Sema/* tools/clang/include/clang/Sema/*)

N: Andrew Trick
E: atrick@apple.com
D: Instruction Scheduling
11 changes: 8 additions & 3 deletions cmake/modules/HandleLLVMOptions.cmake
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@
# selections.

include(AddLLVMDefinitions)
include(CheckCCompilerFlag)

if( CMAKE_COMPILER_IS_GNUCXX )
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
@@ -194,9 +195,13 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
if (LLVM_ENABLE_PEDANTIC)
add_llvm_definitions( -pedantic -Wno-long-long )
endif (LLVM_ENABLE_PEDANTIC)
check_cxx_compiler_flag("-Werror -Wcovered-switch-default" SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
if( SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG )
add_llvm_definitions( -Wcovered-switch-default )
check_cxx_compiler_flag("-Werror -Wcovered-switch-default" CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
if( CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG )
set( CMAKE_CXX_FlAGS "${CMAKE_CXX_FLAGS} -Wcovered-switch-default" )
endif()
check_c_compiler_flag("-Werror -Wcovered-switch-default" C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
if( C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG )
set( CMAKE_C_FlAGS "${CMAKE_C_FLAGS} -Wcovered-switch-default" )
endif()
endif (LLVM_ENABLE_WARNINGS)
if (LLVM_ENABLE_WERROR)
136 changes: 124 additions & 12 deletions docs/LangRef.html
Original file line number Diff line number Diff line change
@@ -1197,7 +1197,7 @@ <h3>

<p>Function attributes are set to communicate additional information about a
function. Function attributes are considered to be part of the function, not
of the function type, so functions with different parameter attributes can
of the function type, so functions with different function attributes can
have the same function type.</p>

<p>Function attributes are simple keywords that follow the type specified. If
@@ -3970,7 +3970,7 @@ <h4>

<h5>Syntax:</h5>
<pre>
&lt;result&gt; = fadd &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
&lt;result&gt; = fadd [fast-math flags]* &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
</pre>

<h5>Overview:</h5>
@@ -3982,7 +3982,28 @@ <h5>Arguments:</h5>
floating point values. Both arguments must have identical types.</p>

<h5>Semantics:</h5>
<p>The value produced is the floating point sum of the two operands.</p>
<p>The value produced is the floating point sum of the two operands. This
instruction can also take any number of fast-math flags, which are
optimization hints to enable otherwise unsafe floating point
optimizations:</p>
<ol>

<li><tt>nnan</tt>: No NaNs - Allow optimizations to assume the arguments and
result are not NaN. Such optimizations are required to retain defined behavior
over NaNs, but the value of the result is undefined.</li>

<li><tt>ninf</tt>: No Inf - Allow optimizations to assume the arguments and
result are not +/-Inf. Such optimizations are required to retain defined
behavior over +/-Inf, but the value of the result is undefined.</li>

<li><tt>nsz</tt>: No Signed Zeros: Allow optimizations to treat the
sign of a zero argument or result as insignificant. </li>

<li><tt>fast</tt>: Allow algebraically equivalent transformations that may
dramatically change results in floating point (e.g. reassociate). This flag
implies all the others.</li>

</ol>

<h5>Example:</h5>
<pre>
@@ -4052,7 +4073,7 @@ <h4>

<h5>Syntax:</h5>
<pre>
&lt;result&gt; = fsub &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
&lt;result&gt; = fsub [fast-math flags]* &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
</pre>

<h5>Overview:</h5>
@@ -4069,7 +4090,28 @@ <h5>Arguments:</h5>
floating point values. Both arguments must have identical types.</p>

<h5>Semantics:</h5>
<p>The value produced is the floating point difference of the two operands.</p>
<p>The value produced is the floating point difference of the two operands. This
instruction can also take any number of fast-math flags, which are
optimization hints to enable otherwise unsafe floating point
optimizations:</p>
<ol>

<li><tt>nnan</tt>: No NaNs - Allow optimizations to assume the arguments and
result are not NaN. Such optimizations are required to retain defined behavior
over NaNs, but the value of the result is undefined.</li>

<li><tt>ninf</tt>: No Inf - Allow optimizations to assume the arguments and
result are not +/-Inf. Such optimizations are required to retain defined
behavior over +/-Inf, but the value of the result is undefined.</li>

<li><tt>nsz</tt>: No Signed Zeros: Allow optimizations to treat the
sign of a zero argument or result as insignificant. </li>

<li><tt>fast</tt>: Allow algebraically equivalent transformations that may
dramatically change results in floating point (e.g. reassociate). This flag
implies all the others.</li>

</ol>

<h5>Example:</h5>
<pre>
@@ -4138,7 +4180,7 @@ <h4>

<h5>Syntax:</h5>
<pre>
&lt;result&gt; = fmul &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
&lt;result&gt; = fmul [fast-math flags]* &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
</pre>

<h5>Overview:</h5>
@@ -4150,7 +4192,28 @@ <h5>Arguments:</h5>
floating point values. Both arguments must have identical types.</p>

<h5>Semantics:</h5>
<p>The value produced is the floating point product of the two operands.</p>
<p>The value produced is the floating point product of the two operands. This
instruction can also take any number of fast-math flags, which are
optimization hints to enable otherwise unsafe floating point
optimizations:</p>
<ol>

<li><tt>nnan</tt>: No NaNs - Allow optimizations to assume the arguments and
result are not NaN. Such optimizations are required to retain defined behavior
over NaNs, but the value of the result is undefined.</li>

<li><tt>ninf</tt>: No Inf - Allow optimizations to assume the arguments and
result are not +/-Inf. Such optimizations are required to retain defined
behavior over +/-Inf, but the value of the result is undefined.</li>

<li><tt>nsz</tt>: No Signed Zeros: Allow optimizations to treat the
sign of a zero argument or result as insignificant. </li>

<li><tt>fast</tt>: Allow algebraically equivalent transformations that may
dramatically change results in floating point (e.g. reassociate). This flag
implies all the others.</li>

</ol>

<h5>Example:</h5>
<pre>
@@ -4252,7 +4315,7 @@ <h4>

<h5>Syntax:</h5>
<pre>
&lt;result&gt; = fdiv &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
&lt;result&gt; = fdiv [fast-math flags]* &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
</pre>

<h5>Overview:</h5>
@@ -4264,7 +4327,32 @@ <h5>Arguments:</h5>
floating point values. Both arguments must have identical types.</p>

<h5>Semantics:</h5>
<p>The value produced is the floating point quotient of the two operands.</p>
<p>The value produced is the floating point quotient of the two operands. This
instruction can also take any number of fast-math flags, which are
optimization hints to enable otherwise unsafe floating point
optimizations:</p>
<ol>

<li><tt>nnan</tt>: No NaNs - Allow optimizations to assume the arguments and
result are not NaN. Such optimizations are required to retain defined behavior
over NaNs, but the value of the result is undefined.</li>

<li><tt>ninf</tt>: No Inf - Allow optimizations to assume the arguments and
result are not +/-Inf. Such optimizations are required to retain defined
behavior over +/-Inf, but the value of the result is undefined.</li>

<li><tt>nsz</tt>: No Signed Zeros: Allow optimizations to treat the
sign of a zero argument or result as insignificant. </li>

<li><tt>arcp</tt>: Allow Reciprocal: Allow optimizations to use the reciprocal
of an argument rather than perform division. </li>

<li><tt>fast</tt>: Allow algebraically equivalent transformations that may
dramatically change results in floating point (e.g. reassociate). This flag
implies all the others.</li>

</ol>
</p>

<h5>Example:</h5>
<pre>
@@ -4371,7 +4459,7 @@ <h4>

<h5>Syntax:</h5>
<pre>
&lt;result&gt; = frem &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
&lt;result&gt; = frem [fast-math flags]* &lt;ty&gt; &lt;op1&gt;, &lt;op2&gt; <i>; yields {ty}:result</i>
</pre>

<h5>Overview:</h5>
@@ -4384,8 +4472,32 @@ <h5>Arguments:</h5>
floating point values. Both arguments must have identical types.</p>

<h5>Semantics:</h5>
<p>This instruction returns the <i>remainder</i> of a division. The remainder
has the same sign as the dividend.</p>
<p>This instruction returns the <i>remainder</i> of a division. The remainder
has the same sign as the dividend. This instruction can also take any number
of fast-math flags, which are optimization hints to enable otherwise unsafe
floating point optimizations:</p>

<ol>

<li><tt>nnan</tt>: No NaNs - Allow optimizations to assume the arguments and
result are not NaN. Such optimizations are required to retain defined behavior
over NaNs, but the value of the result is undefined.</li>

<li><tt>ninf</tt>: No Inf - Allow optimizations to assume the arguments and
result are not +/-Inf. Such optimizations are required to retain defined
behavior over +/-Inf, but the value of the result is undefined.</li>

<li><tt>nsz</tt>: No Signed Zeros: Allow optimizations to treat the
sign of a zero argument or result as insignificant. </li>

<li><tt>arcp</tt>: Allow Reciprocal: Allow optimizations to use the reciprocal
of an argument rather than perform division. </li>

<li><tt>fast</tt>: Allow algebraically equivalent transformations that may
dramatically change results in floating point (e.g. reassociate). This flag
implies all the others.</li>

</ol>

<h5>Example:</h5>
<pre>
5 changes: 0 additions & 5 deletions examples/ExceptionDemo/ExceptionDemo.cpp
Original file line number Diff line number Diff line change
@@ -667,8 +667,6 @@ static _Unwind_Reason_Code handleLsda(int version,
const uint8_t *actionTableStart = callSiteTableEnd;
const uint8_t *callSitePtr = callSiteTableStart;

bool foreignException = false;

while (callSitePtr < callSiteTableEnd) {
uintptr_t start = readEncodedPointer(&callSitePtr,
callSiteEncoding);
@@ -684,7 +682,6 @@ static _Unwind_Reason_Code handleLsda(int version,
// We have been notified of a foreign exception being thrown,
// and we therefore need to execute cleanup landing pads
actionEntry = 0;
foreignException = true;
}

if (landingPad == 0) {
@@ -1687,7 +1684,6 @@ static void createStandardUtilityFunctions(unsigned numTypeInfos,
std::vector<llvm::Constant*> structVals;

llvm::Constant *nextStruct;
llvm::GlobalVariable *nextGlobal = NULL;

// Generate each type info
//
@@ -1702,7 +1698,6 @@ static void createStandardUtilityFunctions(unsigned numTypeInfos,
typeInfoName = typeInfoNameBuilder.str();

// Note: Does not seem to work without allocation
nextGlobal =
new llvm::GlobalVariable(module,
ourTypeInfoType,
true,
7 changes: 7 additions & 0 deletions include/llvm-c/lto.h
Original file line number Diff line number Diff line change
@@ -291,6 +291,13 @@ lto_codegen_compile_to_file(lto_code_gen_t cg, const char** name);
extern void
lto_codegen_debug_options(lto_code_gen_t cg, const char *);

/**
* Initializes LLVM disassemblers.
* FIXME: This doesn't really belong here.
*/
extern void
lto_initialize_disassembler(void);

#ifdef __cplusplus
}
#endif
9 changes: 9 additions & 0 deletions include/llvm/Analysis/InstructionSimplify.h
Original file line number Diff line number Diff line change
@@ -25,6 +25,7 @@ namespace llvm {
class DominatorTree;
class Instruction;
class DataLayout;
struct FastMathFlags;
class TargetLibraryInfo;
class Type;
class Value;
@@ -43,6 +44,14 @@ namespace llvm {
const TargetLibraryInfo *TLI = 0,
const DominatorTree *DT = 0);

/// Given operands for an FMul, see if we can fold the result. If not, this
/// returns null.
Value *SimplifyFMulInst(Value *LHS, Value *RHS,
FastMathFlags FMF,
const DataLayout *TD = 0,
const TargetLibraryInfo *TLI = 0,
const DominatorTree *DT = 0);

/// SimplifyMulInst - Given operands for a Mul, see if we can
/// fold the result. If not, this returns null.
Value *SimplifyMulInst(Value *LHS, Value *RHS, const DataLayout *TD = 0,
6 changes: 3 additions & 3 deletions include/llvm/Bitcode/Archive.h
Original file line number Diff line number Diff line change
@@ -50,10 +50,10 @@ class ArchiveMember : public ilist_node<ArchiveMember> {
SVR4SymbolTableFlag = 1, ///< Member is a SVR4 symbol table
BSD4SymbolTableFlag = 2, ///< Member is a BSD4 symbol table
LLVMSymbolTableFlag = 4, ///< Member is an LLVM symbol table
BitcodeFlag = 8, ///< Member is bitcode
HasPathFlag = 16, ///< Member has a full or partial path
BitcodeFlag = 8, ///< Member is bitcode
HasPathFlag = 16, ///< Member has a full or partial path
HasLongFilenameFlag = 32, ///< Member uses the long filename syntax
StringTableFlag = 64 ///< Member is an ar(1) format string table
StringTableFlag = 64 ///< Member is an ar(1) format string table
};

/// @}
Loading