| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
infrastructure.
This was essentially work toward PGO based on a design that had several
flaws, partially dating from a time when LLVM had a different
architecture, and with an effort to modernize it abandoned without being
completed. Since then, it has bitrotted for several years further. The
result is nearly unusable, and isn't helping any of the modern PGO
efforts. Instead, it is getting in the way, adding confusion about PGO
in LLVM and distracting everyone with maintenance on essentially dead
code. Removing it paves the way for modern efforts around PGO.
Among other effects, this removes the last of the runtime libraries from
LLVM. Those are being developed in the separate 'compiler-rt' project
now, with somewhat different licensing specifically more approriate for
runtimes.
llvm-svn: 191835
|
|
|
|
|
|
| |
Patch by Alp Toker.
llvm-svn: 191757
|
|
|
|
|
|
|
|
| |
Working on a better solution to this.
This reverts commit 7d4e9934e7ca83094c5cf41346966c8350179ff2.
llvm-svn: 190990
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This puts all the global PassManager debugging flags, like
-print-after-all and -time-passes, behind a managed static. This
eliminates their static initializers and, more importantly, exit-time
destructors.
The only behavioral change I anticipate is that tools need to
initialize the PassManager before parsing the command line in order to
export these options, which makes sense. Tools that already initialize
the standard passes (opt/llc) don't need to do anything new.
llvm-svn: 190974
|
|
|
|
| |
llvm-svn: 190973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.
The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
|
|
|
|
|
|
|
|
| |
Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.
llvm-svn: 169252
|
|
|
|
|
|
|
| |
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
|
|
|
|
|
|
|
|
| |
doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
It appears to have broken at least one buildbot.
llvm-svn: 168654
|
|
|
|
|
|
|
|
| |
doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
Patch by Pedro Artigas, with feedback from by Chandler Carruth.
llvm-svn: 168635
|
|
|
|
|
|
|
|
| |
them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas.
llvm-svn: 168008
|
|
|
|
|
|
|
|
| |
LLVM is now -Wunused-private-field clean except for
- lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields.
- gtest.
llvm-svn: 158096
|
|
|
|
| |
llvm-svn: 144648
|
|
|
|
|
|
| |
via an out parm.
llvm-svn: 121958
|
|
|
|
|
|
| |
error_code &ec. And fix clients.
llvm-svn: 121379
|
|
|
|
| |
llvm-svn: 120298
|
|
|
|
|
|
| |
not a scrunched version of it.
llvm-svn: 112904
|
|
|
|
| |
llvm-svn: 112903
|
|
|
|
| |
llvm-svn: 110460
|
|
|
|
| |
llvm-svn: 110410
|
|
|
|
|
|
|
|
| |
address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.
llvm-svn: 110396
|
|
|
|
| |
llvm-svn: 85717
|
|
|
|
|
|
| |
#include dependency, as frontends commonly pull in PassManager.h.
llvm-svn: 85714
|
|
|
|
| |
llvm-svn: 84818
|
|
|
|
|
|
| |
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085620.html)
llvm-svn: 80349
|
|
|
|
| |
llvm-svn: 80076
|
|
|
|
| |
llvm-svn: 79823
|
|
|
|
|
|
| |
This required converting a bunch of stuff off DOUT and other cleanups.
llvm-svn: 79819
|
|
|
|
|
|
| |
- Patch by Erick Tryzelaar
llvm-svn: 78880
|
|
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78485
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
- Store edge, block, and function information separately for each functions
(instead of in one giant map).
- Return frequencies as double instead of int, and use a sentinel value for
missing information.
llvm-svn: 78477
|
|
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78247
|
|
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78199
|
|
|
|
| |
llvm-svn: 77027
|
|
|
|
| |
llvm-svn: 76553
|
|
|
|
|
|
|
|
| |
tools to using the default global context for now.
This will let us to hardwire stuff to the global context in the short term while the API is sorted out.
llvm-svn: 75846
|
|
|
|
| |
llvm-svn: 75791
|
|
|
|
|
|
|
|
|
|
|
| |
- To support using the ProfileInfo analysis results instead of accessing the
ProfileInfoLoader directly.
- Based on (part of) a patch by Andreas Neustifter.
- No functionality change.
llvm-svn: 75625
|
|
|
|
|
|
| |
a key is present in a std::map or DenseMap to use find instead.
llvm-svn: 74676
|
|
|
|
| |
llvm-svn: 74640
|
|
|
|
|
|
|
|
|
|
| |
LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
|
|
|
|
|
|
|
| |
their main routines. This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263
|
|
|
|
| |
llvm-svn: 45421
|
|
|
|
|
|
| |
commands and into the common code.
llvm-svn: 42752
|
|
|
|
|
|
| |
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
|
|
|
|
|
|
| |
memory buffer couldn't be allocated.
llvm-svn: 36904
|
|
|
|
| |
llvm-svn: 36900
|
|
|
|
| |
llvm-svn: 36868
|
|
|
|
| |
llvm-svn: 36836
|