| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
materializing an MDNode for every debugloc. don't do that! :)
"clang -g -S t.c" really no longer makes mdnodes for location
tuples now.
llvm-svn: 100224
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 100209
|
| |
|
|
|
|
| |
are run during codegen.
llvm-svn: 100207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<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.
llvm-svn: 100204
|
| |
|
|
| |
llvm-svn: 100146
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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.
llvm-svn: 100143
|
| |
|
|
| |
llvm-svn: 100011
|
| |
|
|
|
|
| |
consistent with other similar ones.
llvm-svn: 99997
|
| |
|
|
|
|
| |
timers by pointer instead of by-value.
llvm-svn: 99871
|
| |
|
|
| |
llvm-svn: 99870
|
| |
|
|
| |
llvm-svn: 99862
|
| |
|
|
| |
llvm-svn: 99567
|
| |
|
|
| |
llvm-svn: 99564
|
| |
|
|
|
|
| |
instead of InlineFunction.
llvm-svn: 99483
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 99399
|
| |
|
|
|
|
|
| |
for ignoring debug info intrinsics everywhere else is to advance
past them, and it needs to be consistent.
llvm-svn: 99332
|
| |
|
|
| |
llvm-svn: 99171
|
| |
|
|
|
|
| |
we can reapply the InvokeInst operand reordering patch. (see r98957).
llvm-svn: 99170
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 99001
|
| |
|
|
|
|
| |
http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite
llvm-svn: 98958
|
| |
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 98957
|
| |
|
|
| |
llvm-svn: 98911
|
| |
|
|
| |
llvm-svn: 98853
|
| |
|
|
|
|
|
| |
RecyclingAllocator to allow client code to be simpler, and
simplify several clients.
llvm-svn: 98847
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98829
|
| |
|
|
| |
llvm-svn: 98793
|
| |
|
|
| |
llvm-svn: 98762
|
| |
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98755
|
| |
|
|
| |
llvm-svn: 98542
|
| |
|
|
|
|
| |
shift instructions.
llvm-svn: 98416
|
| |
|
|
| |
llvm-svn: 98408
|
| |
|
|
| |
llvm-svn: 98403
|
| |
|
|
|
|
| |
Use CodeMetrics.analyzeBasicBlock() to estimate BB size.
llvm-svn: 98401
|
| |
|
|
|
|
| |
the inner GEP is not a ConstantInt.
llvm-svn: 98359
|
| |
|
|
|
|
|
| |
compute a set of reachable blocks for itself each time it is called, which
is fairly frequently.
llvm-svn: 98179
|
| |
|
|
| |
llvm-svn: 98178
|
| |
|
|
|
|
| |
They are lots of trouble, and they don't matter. This fixes PR6559.
llvm-svn: 98103
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98099
|
| |
|
|
| |
llvm-svn: 98094
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98089
|
| |
|
|
|
|
| |
can sometimes help reduce function size.
llvm-svn: 98088
|
| |
|
|
|
|
| |
as LCSSA no longer transforms such uses.
llvm-svn: 98033
|
| |
|
|
| |
llvm-svn: 98026
|
| |
|
|
|
|
|
|
|
| |
This patch updates LLVMDebugVersion to 8.
Debug info descriptors encoded using LLVMDebugVersion 7 is supported.
Corresponding llvmgcc and clang FE commits are required.
llvm-svn: 98020
|
| |
|
|
|
|
| |
file(s) in debug info.
llvm-svn: 97994
|
| |
|
|
|
|
| |
the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.
llvm-svn: 97990
|
| |
|
|
|
|
| |
light weight wrappers.
llvm-svn: 97988
|
| |
|
|
|
|
| |
This is a first step towards eliminating checks in Descriptor constructors.
llvm-svn: 97975
|
| |
|
|
| |
llvm-svn: 97963
|
| |
|
|
|
|
| |
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.
llvm-svn: 97947
|