David Greene
5015610892
Add setSubgraphColor to color an entire portion of a SelectionDAG. This
...
will be used to support debug features in TableGen.
llvm-svn: 58257
2008-10-27 18:17:03 +00:00
David Greene
e8f05397ca
Add STL-style typedefs and default constructors to make it possible to
...
use DenseMap in more contexts.
llvm-svn: 58256
2008-10-27 18:15:15 +00:00
David Greene
78744a795a
Fix PR2634. Create new virtual registers from spills early so that we
...
can give it the same stack slot as the spilled interval if it is folded.
This prevents the fold/unfold code from pointing to the wrong register.
llvm-svn: 58255
2008-10-27 17:38:59 +00:00
Matthijs Kooijman
0e4cabbceb
Remove redundant word in tblgen error message.
...
llvm-svn: 58250
2008-10-27 15:59:43 +00:00
Duncan Sands
22451e0303
Fix UpdateNodeOperands so that it does CSE of calls
...
(and a bunch of other node types). While there, I
added a doNotCSE predicate and used it to reduce code
duplication (some of the duplicated code was wrong...).
This fixes ARM/cse-libcalls.ll when using LegalizeTypes.
llvm-svn: 58249
2008-10-27 15:30:53 +00:00
Duncan Sands
039edb065f
Fix a bug in which a node could be added to the
...
worklist twice: UpdateNodeOperands could morph
a new node into a node already on the worklist.
We would then recalculate the NodeId for this
existing node and add it to the worklist. The
testcase is ARM/cse-libcalls.ll, the problem
showing up once UpdateNodeOperands is taught to
do CSE for calls.
llvm-svn: 58246
2008-10-27 13:18:32 +00:00
Torok Edwin
ebd7fd5e7a
Avoid crashing if instruction is not part of a loop.
...
If it is not part of a loop it is obviously invariant wrt to all loops.
llvm-svn: 58240
2008-10-27 10:18:45 +00:00
Gabor Greif
0269c21562
formatting tweak for intrinsic
...
llvm-svn: 58239
2008-10-27 10:17:24 +00:00
Torok Edwin
0c0acebd09
export an ID for the instructionNamer, allowing analysis/transformation passes
...
that need it to require it by ID.
llvm-svn: 58238
2008-10-27 10:16:27 +00:00
Bill Wendling
028aeb5f8e
Some grammar fixes, and non-invasive format changes.
...
llvm-svn: 58237
2008-10-27 09:27:33 +00:00
Duncan Sands
a6bbc047d5
Turn on LegalizeTypes, the new type legalization
...
codegen infrastructure, by default. Please report
any breakage to the mailing lists.
llvm-svn: 58232
2008-10-27 08:42:46 +00:00
Nick Lewycky
c1f8a23665
Fix an obvious copy/pasto.
...
llvm-svn: 58231
2008-10-27 07:28:44 +00:00
Evan Cheng
3bcbccf563
For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them.
...
llvm-svn: 58230
2008-10-27 07:14:50 +00:00
Chris Lattner
17afc211e7
Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power of
...
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time. Now the code has time proportional
to the number of uses of the alloca, not the size of the block.
This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary. In addition to being a speedup for crazy
cases, this is also a nice cleanup:
PromoteMemoryToRegister.cpp | 270 +++++++++++++++-----------------------------
1 file changed, 96 insertions(+), 174 deletions(-)
llvm-svn: 58229
2008-10-27 07:05:53 +00:00
Chris Lattner
a57ac16183
no need to print output
...
llvm-svn: 58228
2008-10-27 06:56:35 +00:00
Chris Lattner
39c853cf16
Add a new LargeBlockInfo helper, which is just a wrapper around
...
a trivial dense map. Use this in RewriteSingleStoreAlloca to
avoid aggressively rescanning blocks over and over again. This
fixes PR2925, speeding up mem2reg on the testcase in that bug
from 4.56s to 0.02s in a debug build on my machine.
llvm-svn: 58227
2008-10-27 06:05:26 +00:00
Chris Lattner
7351188cb9
mention getresult -> extractvalue (PR2935)
...
llvm-svn: 58226
2008-10-27 04:39:23 +00:00
Dale Johannesen
d0a0ce909b
Increase default setting of tail-merge-threshold to
...
150, based on llvm-test measurements.
llvm-svn: 58225
2008-10-27 02:10:21 +00:00
Nick Lewycky
6288e2288d
Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.
...
Note that -check-exit-code was on by default while -append-exit-code is not.
llvm-svn: 58221
2008-10-26 23:59:36 +00:00
Chris Lattner
3fed68158c
fix PR2953, an off-by-one error handling formatted i/o.
...
Thanks to Török Edwin for the awesome reduced testcase.
llvm-svn: 58199
2008-10-26 19:20:47 +00:00
Chris Lattner
9737bef5a1
remove eh output from this test.
...
llvm-svn: 58196
2008-10-26 18:53:07 +00:00
Cedric Venet
f75bc692bb
Add a default constructor to AsmWriterOperand to make VS2008sp1 happy. (AsmWriterOperand is used in a std::pair, and VS need to generate the default constructor of this pair).
...
llvm-svn: 58185
2008-10-26 15:40:44 +00:00
Evan Cheng
8a7f04e7c2
Do not shrink wrap live interval in a mbb if it's livein any of its successor blocks. The mbb can be revisited again after all of the successors are processed.
...
llvm-svn: 58184
2008-10-26 07:49:03 +00:00
Oscar Fuentes
791d14f571
Return something (i.e. NULL) from an unimplemented virtual function.
...
llvm-svn: 58183
2008-10-26 04:26:33 +00:00
Oscar Fuentes
1fcfb67930
CMake: If we have clang' under the
tools/' subdirectory, add it to
...
the build.
llvm-svn: 58179
2008-10-26 00:52:09 +00:00
Oscar Fuentes
7fa2179afa
CMake: Support for LLVM_USED_LIBS variable, which is the cmake
...
counterpart of USED_LIBS.
llvm-svn: 58178
2008-10-26 00:51:05 +00:00
Oscar Fuentes
8286c161d3
CMake: Removed unnecessary macro definitions. They are defined in
...
config.h
llvm-svn: 58177
2008-10-26 00:50:03 +00:00
Oscar Fuentes
a96ce230e0
CMake: GetTargetTriple: new module for determining the target
...
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.
llvm-svn: 58176
2008-10-26 00:47:52 +00:00
Bill Wendling
617f3d4b3a
Fix type-o in ExprMapKeyType::operator ==(). The "&&" was missing.
...
Patch by Frits van Bommel!
llvm-svn: 58175
2008-10-26 00:19:56 +00:00
Evan Cheng
db1c135283
Handle cases where there aren't uses in the barrier mbb.
...
llvm-svn: 58174
2008-10-25 23:49:39 +00:00
Evan Cheng
7156715793
Add storeRegTo{StackSlot|Addr} and loadRegFrom{StackSlot|Addr} descriptions.
...
llvm-svn: 58164
2008-10-25 23:08:22 +00:00
Dan Gohman
64431fe1db
Make comments and code for QuietWarnings and QuietErrors
...
actually correspond to what their names suggest.
llvm-svn: 58146
2008-10-25 17:57:20 +00:00
Dan Gohman
e7c43e94b0
SDNodes may have at most one Flag result. Update this comment
...
to reflect that.
llvm-svn: 58145
2008-10-25 17:51:24 +00:00
Dan Gohman
66e878f316
Move the code that adds the DeadMachineInstructionElimPass from
...
target-independent code to target-specific code. This prevents it
from running on targets that aren't using fast-isel.
In addition to saving compile time, this addresses the problem
that not all targets are prepared for it. In order to use this
pass, all instructions must declare all their fixed uses and
defs of physical registers.
llvm-svn: 58144
2008-10-25 17:46:52 +00:00
Gordon Henriksen
e5b0182e94
Related to PR2911, reject as invalid non-pointer GC roots.
...
llvm-svn: 58143
2008-10-25 16:28:35 +00:00
Nicolas Geoffray
ce30b5caf0
Support for allocation of TLS variables in the JIT. Allocation of a global
...
variable is moved to the execution engine. The JIT calls the TargetJITInfo
to allocate thread local storage. Currently, only linux/x86 knows how to
allocate thread local global variables.
llvm-svn: 58142
2008-10-25 15:41:43 +00:00
Nicolas Geoffray
323dc44a69
Generate code for TLS instructions.
...
llvm-svn: 58141
2008-10-25 15:22:06 +00:00
Bruno Cardoso Lopes
5a4985a242
Added MIPS release notes.
...
llvm-svn: 58139
2008-10-25 14:56:26 +00:00
Oscar Fuentes
995841f983
CMake: Directed bug reports to llvmbugs.
...
llvm-svn: 58134
2008-10-25 03:49:35 +00:00
Oscar Fuentes
51e77b801a
CMake: lib/Target/ARM/AsmPrinter/CMakeLists.txt added.
...
llvm-svn: 58133
2008-10-25 03:40:32 +00:00
Oscar Fuentes
edaf4cded2
CMake: MSVC++ no longer uses a special configuration method.
...
llvm-svn: 58132
2008-10-25 03:29:36 +00:00
Oscar Fuentes
5021ba82e0
CMake: Sync'ed DataTypes.h.cmake with DataTypes.h.in.
...
llvm-svn: 58131
2008-10-25 03:25:11 +00:00
Oscar Fuentes
64fd2ab298
CMake: Cross-platform support for using pre-generated llvmAsmParser.cpp and llvmAsmParser.h.
...
llvm-svn: 58130
2008-10-25 03:19:08 +00:00
Evan Cheng
0c78ace7dc
If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot.
...
llvm-svn: 58129
2008-10-25 00:52:41 +00:00
Dale Johannesen
20f93b45e7
Mark MFCR as reading all condition code registers.
...
Prevents some more overzealous deletions (mostly
in AltiVec code).
llvm-svn: 58121
2008-10-24 22:08:01 +00:00
Dale Johannesen
a3d7e7e900
Rewrite logic to figure out whether LR needs to
...
be saved/restored in the prolog/epilog. We need
to do this iff something in the function stores
into it.
llvm-svn: 58116
2008-10-24 21:24:23 +00:00
Dale Johannesen
834f23dbed
Be kind to non-x86 hosts.
...
llvm-svn: 58113
2008-10-24 21:20:25 +00:00
Torok Edwin
e0ecce06a0
move the note to the correct README
...
llvm-svn: 58104
2008-10-24 19:23:07 +00:00
Torok Edwin
5560590122
add note about va_arg code on x86 and x86-64
...
llvm-svn: 58103
2008-10-24 19:20:05 +00:00
Evan Cheng
cfd2ecd29f
Fix a pasto.
...
llvm-svn: 58102
2008-10-24 18:46:44 +00:00