Devang Patel
00e389c8c8
While converting an aggregate to scalare, ignore and remove aggregate's debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 07:03:54 +00:00
Chris Lattner
d6f16587ab
Sprinkle some PrettyStackEntry magic into the passmanager. With this, we now
...
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 06:45:05 +00:00
Zhou Sheng
7157228a58
Remove this as dbginfo intrinsics has been defined as
...
IntrNoMem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66256 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 06:05:01 +00:00
Devang Patel
06b1e67d44
While hoisting instruction to speculatively execute simple bb, ignore dbg intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66255 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 06:00:17 +00:00
Chris Lattner
f957436254
various cosmetic cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 05:53:14 +00:00
Chris Lattner
0070ce511e
this wasn't intended to go in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 05:42:30 +00:00
Chris Lattner
cc14d25dd9
Change various llvm utilities to use PrettyStackTraceProgram in
...
their main routines. This makes the tools print their argc/argv
commands if they crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 05:34:10 +00:00
Devang Patel
3f43a7021f
Do not count DbgInfoIntrinsic while estimating loop header size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 03:51:30 +00:00
Devang Patel
c64bc16cae
Skip DbgInfoIntrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 02:59:27 +00:00
Gordon Henriksen
bffc86684e
Committing unsaved changes that should've been with r66237.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 02:42:47 +00:00
Dan Gohman
16e8eda4b8
Fix ScheduleDAGRRList::CopyAndMoveSuccessors' handling of nodes
...
with multiple chain operands. This can occur when the scheduler
has added chain operands to a node that already has a chain
operand, in order to handle physical register dependencies.
This fixes an llvm-gcc bootstrap failure on x86-64 introduced
in r66058.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 02:23:01 +00:00
Dan Gohman
f6dd0eb5c4
Use CloneModule's ValueMap to avoid needing to look up
...
functions by name. This fixes PR718.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66239 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 02:16:23 +00:00
Gordon Henriksen
e5abac4a86
Incorporate feedback to improve GarbageCollection.html.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:57:32 +00:00
Dale Johannesen
03afd02ca2
Don't assign rank numbers to debug intrinsic "calls".
...
This is needed so debug info doesn't change codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:41:59 +00:00
Bill Wendling
5601699d7c
When we split a basic block, there's a default branch to the newly created BB.
...
Delete this default branch, because we're going to generate our own.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66234 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:41:15 +00:00
Devang Patel
771281f180
Revert 66224.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:39:36 +00:00
Devang Patel
743cdf8edf
Revert rev. 66167.
...
We are still not out of woods yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66232 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:37:41 +00:00
Oscar Fuentes
5c6bf65a09
CMake: auto-discover project files under the projects/ subdirectory.
...
Patch by Viktar Zviarovich!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:16:52 +00:00
Gabor Greif
abab81f420
do not close friendship with every odd class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:09:27 +00:00
Evan Cheng
67fca63da2
SRThreshold is meant to be inclusive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:56:43 +00:00
Dale Johannesen
2511abf6e7
Tweak the check for promotable alloca's to handle
...
debug intrinsics correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66225 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:42:50 +00:00
Devang Patel
f70bda2f81
Do not let debug info prevert globalopt from shriking a global vars to boolean.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:21:00 +00:00
Devang Patel
c79e118247
Add "check/remove dbg var" helper routines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:19:37 +00:00
Bob Wilson
46c95bbe06
Fix a parallel make race condition by swapping the order of -I directories.
...
The .cmi files are generated in $(ObjDir) and then copied to $(OcamlDir).
The ocamldep output references the .cmi files in $(ObjDir), so make kicks
off a dependent compile as soon as the local copy is generated. If the
copy to $(OcamlDir) is not complete at that point, the compiler will read
the partially copied file and complain about a "Corrupted compiled
interface". Searching $(ObjDir) first avoids this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:00:58 +00:00
Dan Gohman
ef0ff140a7
Fix a bugpoint bug on anonymous functions. Instead of looking up
...
functions in the new module by name, use the ValueMap provided by
CloneModule to do the lookups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 23:20:46 +00:00
Dan Gohman
1f4af262d5
Don't use plain INC32 and DEC32 on x86-64; it needs
...
INC64_32r and INC64_16r, because these instructions are encoded
differently on x86-64. This fixes JIT regressions on x86-64 in
kimwitu++ and others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 21:32:23 +00:00
Dan Gohman
51bb47480e
When creating X86ISD::INC and X86ISD::DEC nodes, only add one operand.
...
The extra operand didn't appear to cause any trouble, but it was
erroneous regardless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 21:29:28 +00:00
Dan Gohman
4bfcf2a2a6
Fix the "test" optimization to recognize "dec" as an add of
...
negative one, as subtracts of immediates are canonicalized
to adds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66180 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 19:32:48 +00:00
Dan Gohman
8733db351a
Make this test more thorough. Not only should there be no %esi,
...
there should be no spilling of anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 19:31:32 +00:00
Gabor Greif
2383503c4c
ignore build dirs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66176 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 19:22:57 +00:00
Chris Lattner
0f6290d698
move some code to gracefully handle the case when a handler crashes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 18:22:14 +00:00
Devang Patel
5049600672
GlobalOpt only process non constant local GVs while optimizing global vars.
...
If non constant local GV named A is used by a constant local GV named B (e.g. llvm.dbg.variable) and B is not used by anyone else then eliminate A as well as B.
In other words, debug info should not interfere in removal of unused GV.
--This life, and those below, will be ignored--
M test/Transforms/GlobalOpt/2009-03-03-dbg.ll
M lib/Transforms/IPO/GlobalOpt.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 18:12:02 +00:00
Duncan Sands
30a31ebf7f
Add missing file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 09:19:13 +00:00
Owen Anderson
a2bfb54e4d
(Hopefully) silence a warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 08:23:20 +00:00
Nick Lewycky
731c6abc46
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66157 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 08:20:44 +00:00
Nick Lewycky
18f99072a6
Autodetect the availability of -export-dynamic in the linker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 08:20:21 +00:00
Owen Anderson
323c58d862
Be more careful about choosing restore points when doing restore folding. This fixes some subtle miscompilations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 07:19:18 +00:00
Chris Lattner
d56786f79a
Daniel wanted the stack printed upside down. Perhaps he
...
feels a kinship to machine stacks that grow down. Now we get
stuff like this:
Stack dump:
0. Program arguments: clang clang_crash_Iw2Osj.mi
1. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: parsing function body '_mm_cvtpi16_ps'
2. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: in compound statement ('{}')
Abort
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66145 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 07:03:49 +00:00
Chris Lattner
fcba7cd630
indicate what the program args line is.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66144 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 06:51:42 +00:00
Chris Lattner
be3ae8e479
switch this message back to only being in -debug mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66143 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 06:48:16 +00:00
Nate Begeman
50cd6fda9e
When allocating stubs, keep track of which Functions are referencing the stub.
...
This invalidates the stubs in the resolver map when they are no longer referenced,
and should the JIT memory manager ever pick up a deallocateStub interface, the
JIT could reclaim the memory for unused stubs as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66141 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 06:34:37 +00:00
Evan Cheng
6fb8f421ee
Do not split edges to EH landing pads. It will cause code size explosion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66140 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 06:31:26 +00:00
Evan Cheng
0076c616e8
Fix how livein live intervals are handled. Previously it could end at MBB start. Sorry, no small test case possible.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 03:34:26 +00:00
Dale Johannesen
4084c4ee34
Fix another case where debug info was affecting
...
codegen. I convinced myself it was OK to skip all
pointer bitcasts here too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 02:06:48 +00:00
Zhou Sheng
9b89f0de12
Ignore the debug info intrinsics when looking for dependency through basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 01:45:43 +00:00
Bill Wendling
e562149cdb
Add comment to emphasize that the while body is empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66115 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 01:08:35 +00:00
Dale Johannesen
a0a6637b25
Fix another case where a dbg.declare meant something
...
had 2 uses instead of 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 00:39:02 +00:00
Bill Wendling
85435046ac
Should have XFAILed this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 22:29:34 +00:00
Bill Wendling
380c3ca093
Temporarily revert r65994. It was causing rdar://6646455.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 22:02:09 +00:00
Gabor Greif
f3841fcbd5
ooops, forgot to include the pointless-write eliminator in my previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 21:54:31 +00:00