Chris Lattner
005d68a2a9
make instnamer name unnamed blocks as well as instructions and args.
...
llvm-svn: 61175
2008-12-18 00:33:11 +00:00
Bill Wendling
0aa119d1f9
Do not XFAIL.
...
llvm-svn: 61174
2008-12-18 00:27:15 +00:00
Bill Wendling
3eb7c0254b
Temporarily revert r61027. It was causing a bootstrap failure in "release" mode
...
with everyone's favorite error messages:
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./c-decl.o differs
./cp/decl.o differs
./df-core.o differs
./gcc.o differs
./i386.o differs
./stor-layout.o differs
./tree-pretty-print.o differs
./tree.o differs
make[2]: *** [compare] Error 1
make[1]: *** [stage3-bubble] Error 2
See PR3227.
llvm-svn: 61169
2008-12-17 23:31:20 +00:00
Devang Patel
fb89dfcc3f
XFAIL for now.
...
llvm-svn: 61167
2008-12-17 22:54:54 +00:00
Devang Patel
c500dff638
Xfail these tests for now.
...
llvm-svn: 61166
2008-12-17 22:53:09 +00:00
Devang Patel
ceeecba890
Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases.
...
First step to resolve this is, record file name and directory directly in debug info for various debug entities.
llvm-svn: 61164
2008-12-17 22:39:29 +00:00
Owen Anderson
5f1bc95673
Revert r61158 for now, as it caused some test failures.
...
llvm-svn: 61159
2008-12-17 22:17:27 +00:00
Owen Anderson
446162d848
Fix miscompilations caused by renumbering, and enable it as part of prealloc splitting.
...
llvm-svn: 61158
2008-12-17 22:06:59 +00:00
Chris Lattner
a2aa680882
This adds some missing functions to the C binding:
...
- ability to insert previously created instructions using a builder
- creation of aliases
- creation of inline asm constants
Patch by Zoltan Varga!
llvm-svn: 61153
2008-12-17 21:39:50 +00:00
Bill Wendling
d364440e53
Forgot to revert r61031 when I reverted r61019, r61030, and r61040.
...
llvm-svn: 61150
2008-12-17 20:59:57 +00:00
Misha Brukman
7bd486d25a
Simplified marking code regions -- no need to use <div> to surround <pre> tags.
...
llvm-svn: 61143
2008-12-17 18:11:40 +00:00
Misha Brukman
b4689d53be
Instead of referring to the license file in the 2.3 release, refer to the
...
always-current SVN version.
llvm-svn: 61142
2008-12-17 18:06:53 +00:00
Misha Brukman
e3769b141e
Added mention of the RELEASE_24 tag for the 2.4 release.
...
llvm-svn: 61138
2008-12-17 16:27:23 +00:00
Mon P Wang
bc3622287b
Fix expansion of vsetcc to set the high bit for true instead of 1.
...
llvm-svn: 61129
2008-12-17 08:49:47 +00:00
Chris Lattner
c6134bffaf
insert some sequence points and preincrement an iterator to avoid
...
iterator invalidation problems.
llvm-svn: 61124
2008-12-17 05:42:08 +00:00
Chris Lattner
196c166a06
Enhance heap sra to be substantially more aggressive w.r.t PHI
...
nodes. This allows it to do fairly general phi insertion if a
load from a pointer global wants to be SRAd but the load is used
by (recursive) phi nodes. This fixes a pessimization on ppc
introduced by Load PRE.
llvm-svn: 61123
2008-12-17 05:28:49 +00:00
Dan Gohman
a8796f4908
Double the amount of memory reserved for SUnits. This is a
...
temporary workaround for an obscure bug. When node cloning is
used, it is possible that more SUnits will be created, and
if the SUnits std::vector has to reallocate, it will
invalidate all the graph edges.
llvm-svn: 61122
2008-12-17 04:30:46 +00:00
Dan Gohman
6ee60e3ac3
Use getDepth() and getHeight() instead of accessing the
...
Depth and Height members directly, as they may not be
current.
llvm-svn: 61121
2008-12-17 04:25:52 +00:00
Dan Gohman
dd705ea3e6
Fix the comments for getDepth and getHeight.
...
llvm-svn: 61120
2008-12-17 04:24:23 +00:00
Eli Friedman
4aae828bf8
Fix for PR3225: disable a broken optimization in
...
DAGTypeLegalizer::ExpandShiftWithKnownAmountBit.
In terms of restoring the optimization, the best fix here isn't
obvious... any ideas?
llvm-svn: 61119
2008-12-17 03:35:17 +00:00
Mikhail Glushenkov
d15a02461a
Update also the generated docs.
...
llvm-svn: 61118
2008-12-17 02:47:30 +00:00
Mikhail Glushenkov
90baa08c2b
Some enhancements for the 'case' expression.
...
Add (error) and (empty).
llvm-svn: 61117
2008-12-17 02:47:01 +00:00
Dale Johannesen
7a81d1b0ab
Clarify that the scale factor from CheckForIVReuse
...
can be negative. Keep track of whether all uses of
an IV are outside the loop. Some cosmetics; no
functional change.
llvm-svn: 61109
2008-12-16 22:16:28 +00:00
Dale Johannesen
e348900657
A new dag combine; several permutations of this
...
are there under ADD, this one was missing.
llvm-svn: 61107
2008-12-16 22:13:49 +00:00
Owen Anderson
36aba82416
Add code to renumber split intervals into new vregs. This is disabled for now until I finish working out some iterator invalidation issues.
...
llvm-svn: 61104
2008-12-16 21:35:08 +00:00
Chris Lattner
c4cc4a328f
Fix another crash found by inspection. If we have a PHI node merging
...
the load multiple times, make sure the check the uses of the PHI to
ensure they are transformable.
llvm-svn: 61102
2008-12-16 21:24:51 +00:00
Chris Lattner
8b1f2f76d7
fix a crash found by inspection.
...
llvm-svn: 61101
2008-12-16 21:04:51 +00:00
Eli Friedman
de614f9842
Add a helper to remove a branch and DCE the condition, and use it
...
consistently for deleting branches. In addition to being slightly
more readable, this makes SimplifyCFG a bit better
about cleaning up after itself when it makes conditions unused.
llvm-svn: 61100
2008-12-16 20:54:32 +00:00
Dan Gohman
38316f49bd
Eliminate the loop that walks the critical path. Instead, just track the
...
position in the critical path during the main instruction walk. This
eliminates the need for the CritialAntiDep DenseMap.
llvm-svn: 61096
2008-12-16 19:27:52 +00:00
Bill Wendling
905350a341
Remove empty test.
...
llvm-svn: 61095
2008-12-16 19:07:17 +00:00
Bill Wendling
f807a68f2e
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
...
builds.
llvm-svn: 61094
2008-12-16 19:06:48 +00:00
Dan Gohman
f8f5625748
Preserve SourceValue information when lowering produces multiple loads from
...
different offsets within the same stack slot.
llvm-svn: 61093
2008-12-16 18:25:36 +00:00
Evan Cheng
96d87db03b
We have decided not to support inline asm where an output operand with a matching input operand with incompatible type (i.e. either one is a floating point and the other is an integer or the sizes of the types differ). SelectionDAGBuild will catch these and exit with an error.
...
llvm-svn: 61092
2008-12-16 18:21:39 +00:00
Oscar Fuentes
9a300fe336
CMake: Added DbgInfoPrinter.cpp to lib/Analysis/CMakeFiles.txt.
...
llvm-svn: 61087
2008-12-16 12:25:04 +00:00
Torok Edwin
453ef5b57c
add testcase for -print-dbginfo
...
llvm-svn: 61086
2008-12-16 10:10:23 +00:00
Torok Edwin
9562aa1742
Add -print-dbginfo pass that prints LLVM IR with comments inserted to show
...
which source/line a certain BB/instruction comes from, original variable names,
and original (unmangled) C++ name of functions.
llvm-svn: 61085
2008-12-16 09:09:19 +00:00
Torok Edwin
fe974a7ca9
Add utility functions to search for DbgStopPointInst corresponding to an
...
instruction or BasicBlock, and to search for DbgDeclareInst corresponding to a
variable.
llvm-svn: 61084
2008-12-16 09:07:36 +00:00
Torok Edwin
2e2c464771
use different name for parameter to make it clear that we set DIDescriptor::GV
...
llvm-svn: 61083
2008-12-16 09:06:01 +00:00
Nick Lewycky
1b0fc83809
Generalize support for analyzing loops to include SLE/SGE loop exit conditions
...
and support for non-unit strides with signed exit conditions.
llvm-svn: 61082
2008-12-16 08:30:01 +00:00
Chris Lattner
e35c79577f
switch some std::set/std::map to SmallPtrSet/DenseMap.
...
llvm-svn: 61081
2008-12-16 07:34:30 +00:00
Chris Lattner
b3becc5776
fix PR3217: fully cached queries need to be verified against the
...
visited set before they are used. If used, their blocks need to be
added to the visited set so that subsequent queries don't use conflicting
pointer values in the cache result blocks.
llvm-svn: 61080
2008-12-16 07:10:09 +00:00
Dan Gohman
10eb3ccaeb
Enable anti-dependence breaking by default when post-RA scheduling is enabled.
...
llvm-svn: 61078
2008-12-16 06:21:45 +00:00
Dan Gohman
9f37a0296b
When breaking an anti-dependency, don't use a register which has seen
...
one of its aliases defined. This is conservative, but tricky subreg
corner cases are outside the primary aim of this pass.
llvm-svn: 61077
2008-12-16 06:20:58 +00:00
Dan Gohman
c3e24d559b
Add initial support for back-scheduling address computations,
...
especially in the case of addresses computed from loop induction
variables.
llvm-svn: 61075
2008-12-16 03:35:01 +00:00
Dan Gohman
e2cf452271
Remove some special-case logic in ScheduleDAGSDNodes's
...
latency computation code that is no longer needed with the
new method for handling latencies.
llvm-svn: 61074
2008-12-16 03:31:11 +00:00
Dan Gohman
40a40dd7c1
Fix some register-alias-related bugs in the post-RA scheduler liveness
...
computation code. Also, avoid adding output-depenency edges when both
defs are dead, which frequently happens with EFLAGS defs.
Compute Depth and Height lazily, and always in terms of edge latency
values. For the schedulers that don't care about latency, edge latencies
are set to 1.
Eliminate Cycle and CycleBound, and LatencyPriorityQueue's Latencies array.
These are all subsumed by the Depth and Height fields.
llvm-svn: 61073
2008-12-16 03:25:46 +00:00
Misha Brukman
c6aef75cef
* Comply with HTML 4.01 Strict
...
* Added code-region markings to code sections to make them stand out
* Added pre.doc_code class to llvm.css to simplify marking code regions
llvm-svn: 61072
2008-12-16 03:07:49 +00:00
Misha Brukman
129457e460
* Comply with HTML 4.01 Strict standard
...
* Converted absolute links to llvm.org/docs to relative links
* Fixed spelling and s/;/:/, as needed
llvm-svn: 61071
2008-12-16 02:54:22 +00:00
Dan Gohman
67e694b0ea
Add a simple target-independent heuristic to allow targets with no
...
instruction itinerary data to back-schedule loads.
llvm-svn: 61070
2008-12-16 02:38:22 +00:00
Dan Gohman
8ddcdef08a
Move addPred and removePred out-of-line.
...
llvm-svn: 61067
2008-12-16 01:05:52 +00:00