Skip to content
  1. Feb 12, 2009
  2. Feb 11, 2009
    • Nate Begeman's avatar
      the two non-mask arguments to a shufflevector must be the same width, but they... · 318aea93
      Nate Begeman authored
      the two non-mask arguments to a shufflevector must be the same width, but they do not have to be the same
      width as the result value.
      
      llvm-svn: 64335
      318aea93
    • Dale Johannesen's avatar
      Edit description of floating point constants to · cd4a301a
      Dale Johannesen authored
      reflect reality.  Acknowledgements to John Clements
      for prodding me into this.
      
      llvm-svn: 64332
      cd4a301a
    • Gabor Greif's avatar
      Fill in a glaring omission in derived User classes, namely · e3069ab6
      Gabor Greif authored
      add efficient versions of op_begin and op_end. Up to now always those from User have been
      called, which in most cases follow an indirection (OperandList) even if the exact Instruction 
      type is known.
      
      llvm-svn: 64331
      e3069ab6
    • Bill Wendling's avatar
      Propagate DebugLoc info for spiller call-backs. · 27b508db
      Bill Wendling authored
      llvm-svn: 64329
      27b508db
    • Dan Gohman's avatar
      Fix a comment. · 45889d24
      Dan Gohman authored
      llvm-svn: 64328
      45889d24
    • Dan Gohman's avatar
      Don't use special heuristics for nodes with no data predecessors · 6571ef35
      Dan Gohman authored
      unless they actually have data successors, and likewise for nodes
      with no data successors unless they actually have data precessors.
      
      llvm-svn: 64327
      6571ef35
    • Ted Kremenek's avatar
      Add FoldingSet profile method for bools. Patch by Ben Laurie! · 88ceac46
      Ted Kremenek authored
      llvm-svn: 64324
      88ceac46
    • Daniel Dunbar's avatar
      Update to match space changes in .ll · df8bc9fc
      Daniel Dunbar authored
      llvm-svn: 64322
      df8bc9fc
    • Dan Gohman's avatar
      Delete the heuristic for non-livein CopyFromReg nodes. Non-liveinness · 298a2946
      Dan Gohman authored
      is determined by whether the node has a Flag operand. However, if the
      node does have a Flag operand, it will be glued to its register's
      def, so the heuristic would end up spuriously applying to whatever
      node is the def.
      
      llvm-svn: 64319
      298a2946
    • Dan Gohman's avatar
      Don't try to set an EFLAGS operand to dead if no instruction was created. · 27f85854
      Dan Gohman authored
      This fixes a bug introduced by r61215.
      
      llvm-svn: 64316
      27f85854
    • Dale Johannesen's avatar
      Make a transformation added in 63266 a bit less aggressive. · cc5fc44d
      Dale Johannesen authored
      It was transforming (x&y)==y to (x&y)!=0 in the case where
      y is variable and known to have at most one bit set (e.g. z&1).
      This is not correct; the expressions are not equivalent when y==0.
      I believe this patch salvages what can be salvaged, including
      all the cases in bt.ll.  Dan, please review.
      Fixes gcc.c-torture/execute/20040709-[12].c
      
      llvm-svn: 64314
      cc5fc44d
    • Bill Wendling's avatar
      Revert r64300 and r64301. These were causing the following errors respectively: · 5f14a013
      Bill Wendling authored
      During llvm-gcc bootstrap:
      
      Undefined symbols:
        "llvm::FPPassManager::doFinalization(llvm::Module&)", referenced from:
            (anonymous namespace)::CGPassManager::doFinalization(llvm::CallGraph&, llvm::Module&)
              in libLLVMipa.a(CallGraphSCCPass.o)
        "llvm::FPPassManager::doInitialization(llvm::Module&)", referenced from:
            (anonymous namespace)::CGPassManager::doInitialization(llvm::CallGraph&, llvm::Module&)
              in libLLVMipa.a(CallGraphSCCPass.o)
      ld: symbol(s) not found
      collect2: ld returned 1 exit status
      make[3]: *** [/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/obj-llvm/Release/bin/opt] Error 1
      
      During an LLVM release build:
      
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-register-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenRegisterInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td instruction names with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-enums -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrNames.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td instruction information with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td assembly writer with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-asm-writer -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenAsmWriter.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Compiling InstructionCombining.cpp for Release build 
      if /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~dst/Developer/usr/bin/llvm-g++-4.2 -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3  -fno-exceptions  -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter  -fstrict-aliasing -Wstrict-aliasing -c -MMD -MP -MF "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.lo" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d" /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar/InstructionCombining.cpp -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o ; \
                 then /bin/mv -f "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Trans
      
      llvm-svn: 64311
      5f14a013
    • Duncan Sands's avatar
      Revert r64299: it breaks the build when configured · 185fc298
      Duncan Sands authored
      without --enable-pic, like my nightly tester.
      
      llvm-svn: 64302
      185fc298
    • Duncan Sands's avatar
      These uses of "inline" can cause strange link-time · 5b334906
      Duncan Sands authored
      failures when building with optimization.  Just get
      rid of them.
      
      llvm-svn: 64301
      5b334906
    • Duncan Sands's avatar
      Make sure the SCC pass manager initializes any contained · 003754f6
      Duncan Sands authored
      function pass managers.  Without this, simplify-libcalls
      would add nocapture attributes when run on its own, but
      not when run as part of -std-compile-opts or similar.
      
      llvm-svn: 64300
      003754f6
    • Nick Lewycky's avatar
      Try this. Darwin -> LTO, PIC -> LTO + possibly gold too. · 9dfffc6c
      Nick Lewycky authored
      llvm-svn: 64299
      9dfffc6c
    • Evan Cheng's avatar
      Implement PR3495: local spiller optimization. The local spiller can now keep... · a1968b0f
      Evan Cheng authored
      Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies.
      
      llvm-svn: 64298
      a1968b0f
    • Dan Gohman's avatar
      When scheduling a block in parts, keep track of the overall · dfaf646c
      Dan Gohman authored
      instruction index across each part. Instruction indices are used
      to make live range queries, and live ranges can extend beyond
      scheduling region boundaries.
      
      Refactor the ScheduleDAGSDNodes class some more so that it
      doesn't have to worry about this additional information.
      
      llvm-svn: 64288
      dfaf646c
    • Devang Patel's avatar
      62987 disables LTO build on darwin. · 8a9ced15
      Devang Patel authored
      Revert 62987 for now. Nicolas please investigate.
      
      llvm-svn: 64285
      8a9ced15
    • Devang Patel's avatar
    • Dan Gohman's avatar
      Don't print extra spaces in vector and array constants. This makes · 1262a256
      Dan Gohman authored
      them visually more consistent with vector and array types.
      
      llvm-svn: 64267
      1262a256
    • Dan Gohman's avatar
      It isn't necessary to explicitly clear the contents of std::vector · c8dcf4d7
      Dan Gohman authored
      and DenseMap members in a destructor. And tidy up a comment.
      
      llvm-svn: 64265
      c8dcf4d7
    • Bill Wendling's avatar
      Don't try to strip a file we just moved. · e5640dd8
      Bill Wendling authored
      llvm-svn: 64263
      e5640dd8
    • Dan Gohman's avatar
      Use iterators to iterate through the Preds array instead of · 27fa408b
      Dan Gohman authored
      an index. This code is on the hot-path because the current
      way SDep edges are uniqued has quadratic complexity.
      
      llvm-svn: 64262
      27fa408b
    • Dan Gohman's avatar
      Consider any instruction that modifies the stack pointer to be · b3dbb21d
      Dan Gohman authored
      a scheduling region boundary.  This isn't necessary for
      correctness; it helps with compile time, as it avoids the need
      for data- and anti-dependencies from all spills and reloads on
      the stack-pointer modification.
      
      llvm-svn: 64255
      b3dbb21d
    • Dan Gohman's avatar
      Factor out more code for computing register live-range informationfor · b9543435
      Dan Gohman authored
      scheduling, and generalize is so that preserves state across
      scheduling regions. This fixes incorrect live-range information around
      terminators and labels, which are effective region boundaries.
      
      In place of looking for terminators to anchor inter-block dependencies,
      introduce special entry and exit scheduling units for this purpose.
      
      llvm-svn: 64254
      b9543435
Loading