|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 68254 | 
| | 
| 
| 
| 
| 
| | debug output. This improves the printing of anonymous values.
llvm-svn: 66561 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | get nice and happy stack traces when we crash in an optimizer or codegen.  For
example, an abort put in UnswitchLoops now looks like this:
Stack dump:
0.	Program arguments: clang pr3399.c -S -O3 
1.	<eof> parser at end of file
2.	per-module optimization passes
3.	Running pass 'CallGraph Pass Manager' on module 'pr3399.c'.
4.	Running pass 'Loop Pass Manager' on function '@foo'
5.	Running pass 'Unswitch loops' on basic block '%for.inc'
Abort
llvm-svn: 66260 | 
| | 
| 
| 
| | llvm-svn: 66254 | 
| | 
| 
| 
| 
| 
| 
| | link-time failures when building with optimization.  Just
get rid of them.
llvm-svn: 64449 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | failures when building with optimization.  Just get
rid of them.
llvm-svn: 64301 | 
| | 
| 
| 
| | llvm-svn: 63198 | 
| | 
| 
| 
| | llvm-svn: 58816 | 
| | 
| 
| 
| 
| 
| 
| 
| | existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list
tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager
llvm-svn: 58730 | 
| | 
| 
| 
| 
| 
| | Patch by Samuel Tardieu.
llvm-svn: 57291 | 
| | 
| 
| 
| 
| 
| | Patch By Matthijs Kooijman.
llvm-svn: 57202 | 
| | 
| 
| 
| | llvm-svn: 56016 | 
| | 
| 
| 
| 
| 
| | Fix outdated comment.
llvm-svn: 55993 | 
| | 
| 
| 
| | llvm-svn: 55779 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | The loop-deletion pass does not preserve dom frontier, which is required by
loop-index-split. When the PM checks dom frontier for loop-index-split, it has
already verified that lcssa is availalble. However, new dom frontier forces new
loop pass manager, which does not  have lcssa yet.
The PM should recheck availability of required analysis passes in such cases.
llvm-svn: 54805 | 
| | 
| 
| 
| | llvm-svn: 54685 | 
| | 
| 
| 
| 
| 
| | Use inversed map for faster queries.
llvm-svn: 54662 | 
| | 
| 
| 
| 
| 
| | getAnalysisUsage() repeatedly.
llvm-svn: 54650 | 
| | 
| 
| 
| 
| 
| | up the passmgr by avoiding useless work.
llvm-svn: 54528 | 
| | 
| 
| 
| | llvm-svn: 54515 | 
| | 
| 
| 
| | llvm-svn: 54446 | 
| | 
| 
| 
| | llvm-svn: 53268 | 
| | 
| 
| 
| | llvm-svn: 52983 | 
| | 
| 
| 
| 
| 
| | Thanks for the feedback!
llvm-svn: 52978 | 
| | 
| 
| 
| | llvm-svn: 52967 | 
| | 
| 
| 
| | llvm-svn: 52052 | 
| | 
| 
| 
| | llvm-svn: 51930 | 
| | 
| 
| 
| 
| 
| | "Unable to handle Pass that requires lower level Analysis pass"
llvm-svn: 51892 | 
| | 
| 
| 
| | llvm-svn: 51891 | 
| | 
| 
| 
| 
| 
| 
| | several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 | 
| | 
| 
| 
| | llvm-svn: 48576 | 
| | 
| 
| 
| | llvm-svn: 48560 | 
| | 
| 
| 
| | llvm-svn: 48554 | 
| | 
| 
| 
| | llvm-svn: 48520 | 
| | 
| 
| 
| 
| 
| 
| | Do not run analysis pass again if analysis info is still available.
This fixes PR1441.
llvm-svn: 48476 | 
| | 
| 
| 
| | llvm-svn: 48413 | 
| | 
| 
| 
| | llvm-svn: 48318 | 
| | 
| 
| 
| | llvm-svn: 48317 | 
| | 
| 
| 
| | llvm-svn: 48316 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Pass* to PMDataManager*. PMDataManager is more specific than Pass,
so this more accurately describes the objects that are being stored.
This eliminates the need for several dynamic_casts to PMDataManager*.
It does introduce one dynamic_cast though, in dumpPasses(). Give
this one a comment describing why a dynamic_cast is being used.
llvm-svn: 48315 | 
| | 
| 
| 
| 
| 
| 
| | a Pass*. PMDataManager* is what it actually holds, so this
makes it clearer.
llvm-svn: 48314 | 
| | 
| 
| 
| 
| 
| 
| 
| | add(Pass *) as a pure virtual member function. This will allow all
the various addPassesTo* functions in LLVM to avoid hard-coding what
type of PassManager is used. 
llvm-svn: 48226 | 
| | 
| 
| 
| | llvm-svn: 48225 | 
| | 
| 
| 
| | llvm-svn: 47700 | 
| | 
| 
| 
| | llvm-svn: 46658 | 
| | 
| 
| 
| | llvm-svn: 46510 | 
| | 
| 
| 
| | llvm-svn: 45418 | 
| | 
| 
| 
| | llvm-svn: 42747 | 
| | 
| 
| 
| | llvm-svn: 42584 |