Owen Anderson [Tue, 1 Jul 2008 23:49:59 +0000 (23:49 +0000)]
Add a version of AddString that takes a const char* so we can avoid extraneous
conversions to std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52995
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 1 Jul 2008 23:34:48 +0000 (23:34 +0000)]
Darwin doesn't need exception handling information for the "move" info when
debug information is being output, because it's leet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52994
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 23:18:29 +0000 (23:18 +0000)]
Avoid creating expensive comment string if it's not going to be printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52992
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 22:34:11 +0000 (22:34 +0000)]
No need to use std::distance. We can just count the number of operands
much more cheaply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52990
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Jul 2008 22:30:13 +0000 (22:30 +0000)]
Added partial specialization of FoldingSetTrait for pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52989
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 22:21:21 +0000 (22:21 +0000)]
Simplify addRegisterKilled and addRegisterDead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52988
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 1 Jul 2008 22:08:01 +0000 (22:08 +0000)]
- Update comments.
- Don't use GlobalVariable::LinkageTypes when unsigned works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52987
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 1 Jul 2008 21:50:49 +0000 (21:50 +0000)]
Considering predecessors of exit blocks gets
us a little more tail merging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52986
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 1 Jul 2008 21:50:14 +0000 (21:50 +0000)]
Fix longstanding thinko: don't exclude
predessors of exit blocks from tail merging
consideration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52985
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 1 Jul 2008 21:41:00 +0000 (21:41 +0000)]
Fix dom tree compare. Don't forget to compare children!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52984
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 1 Jul 2008 21:36:11 +0000 (21:36 +0000)]
Disable dom info verifier by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52983
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 21:35:46 +0000 (21:35 +0000)]
Eliminate a compile time warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52982
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 21:16:27 +0000 (21:16 +0000)]
Add a version of AsmPrinter::EOL that takes a const char* so that we don't have to do as many implicit std::string constructions.
Unfortunately, this doesn't appear to translate to a real speedup in practice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52981
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 1 Jul 2008 21:00:31 +0000 (21:00 +0000)]
Remove warning about initialization order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52980
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 1 Jul 2008 19:50:56 +0000 (19:50 +0000)]
Fix typos in comments.
Thanks for the feedback!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52978
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 18:49:06 +0000 (18:49 +0000)]
DAGSize should not be public.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52977
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 1 Jul 2008 18:15:35 +0000 (18:15 +0000)]
Prune a few dependencies on MachineFunction.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52976
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 18:15:04 +0000 (18:15 +0000)]
Do run ComputeLiveOutVRegInfo with -fast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52975
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 1 Jul 2008 18:13:58 +0000 (18:13 +0000)]
Make ilist_traits<MachineBasicBlock>'s Parent member private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52974
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 1 Jul 2008 18:12:31 +0000 (18:12 +0000)]
Fix apostrophes in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52972
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 18:05:03 +0000 (18:05 +0000)]
Do not use computationally expensive scheduling heuristics with -fast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52971
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 1 Jul 2008 17:59:20 +0000 (17:59 +0000)]
Apply Chris' suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52970
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 1 Jul 2008 17:44:24 +0000 (17:44 +0000)]
Add dom info verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52967
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 17:34:38 +0000 (17:34 +0000)]
Make the subregister hashtable output more readable by wrapping the lines,
and mark it const along with the associated changes to TargetRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52966
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 15:56:31 +0000 (15:56 +0000)]
Use delete[] instead of free on an array created with new[].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52960
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 1 Jul 2008 08:00:49 +0000 (08:00 +0000)]
Highlight that getMergeValues optimization is
being suppressed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52952
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 07:02:30 +0000 (07:02 +0000)]
Implement suggestions from Chris:
- Use a more accurate heuristic for the size of the hashtable.
- Use bitwise and instead of modulo since the size is a power of two.
- Use new[] instead of malloc().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52951
91177308-0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Tue, 1 Jul 2008 05:27:28 +0000 (05:27 +0000)]
Compilation fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52950
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 00:40:58 +0000 (00:40 +0000)]
Properly handle cases where a predecessor of the block being queried on is unreachable.
This fixes PR2503, though we should also fix other passes not to emit this kind of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52946
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 1 Jul 2008 00:18:52 +0000 (00:18 +0000)]
Replace the dynamically computed std::set lookup method for subregisters with a hashtable-based
version that is computed by tblgen at the time LLVM is compiled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52945
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 1 Jul 2008 00:16:26 +0000 (00:16 +0000)]
Minimize duplicated code in AsmPrinter::printLabel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52944
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 1 Jul 2008 00:05:16 +0000 (00:05 +0000)]
Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating
the need for a flavor operand, and add a new SDNode subclass,
LabelSDNode, for use with them to eliminate the need for a label id
operand.
Change instruction selection to let these label nodes through
unmodified instead of creating copies of them. Teach the MachineInstr
emitter how to emit a MachineInstr directly from an ISD label node.
This avoids the need for allocating SDNodes for the label id and
flavor value, as well as SDNodes for each of the post-isel label,
label id, and label flavor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52943
91177308-0d34-0410-b5e6-
96231b3b80d8
Chuck Rose III [Mon, 30 Jun 2008 22:37:57 +0000 (22:37 +0000)]
Adding some missing files to VStudio project files. Switching to use generated llvmAsmParser.cpp/.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52935
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 22:33:56 +0000 (22:33 +0000)]
Suppress compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52934
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 22:33:16 +0000 (22:33 +0000)]
Don't run stack slot coloring if -fast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52933
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 22:23:08 +0000 (22:23 +0000)]
Don't use ISD namespace opcodes for MachineInstrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52932
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 22:21:03 +0000 (22:21 +0000)]
Use a simpler but equivalent form of RecordSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52931
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 22:10:09 +0000 (22:10 +0000)]
Add timing report for various sub-passes under SelectionDAGISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52930
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 22:03:41 +0000 (22:03 +0000)]
std::ostream and std::string microoptimizations for asm printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52929
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 21:45:13 +0000 (21:45 +0000)]
Make SmallVector's grow use memcpy in common cases
instead of std::uninitialized_copy, which uses memmove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52928
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 21:33:02 +0000 (21:33 +0000)]
Use plain operator new instead of new char[].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52927
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 21:04:06 +0000 (21:04 +0000)]
Use reserve.
SelectionDAG::allnodes_size is linear, but that doesn't appear to
outweigh the benefit of reducing heap traffic. If it does become a
problem, we should teach SelectionDAG to keep a count of how many
nodes are live, because there are several other places where that
information would be useful as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52926
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 21:00:56 +0000 (21:00 +0000)]
Update comments to new-style syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52925
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 20:59:49 +0000 (20:59 +0000)]
Rename ISD::LOCATION to ISD::DBG_STOPPOINT to better reflect its
purpose, and give it a custom SDNode subclass so that it doesn't
need to have line number, column number, filename string, and
directory string, all existing as individual SDNodes to be the
operands.
This was the only user of ISD::STRING, StringSDNode, etc., so
remove those and some associated code.
This makes stop-points considerably easier to read in
-view-legalize-dags output, and reduces overhead (creating new
nodes and copying std::strings into them) on code containing
debugging information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52924
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 20:45:06 +0000 (20:45 +0000)]
Split scheduling from instruction selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52923
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Jun 2008 20:41:22 +0000 (20:41 +0000)]
Added some comments and some cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52922
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 30 Jun 2008 20:40:16 +0000 (20:40 +0000)]
No need to align the stack if there are no stack
objects. Fixes a couple of tests on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52921
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 20:38:22 +0000 (20:38 +0000)]
Remove unneeded include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52920
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 20:36:26 +0000 (20:36 +0000)]
Reorder the fields in TargetLowering to require less padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52919
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 20:33:57 +0000 (20:33 +0000)]
Change bools to 1-bit bitfields to shrink ArgListEntry slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52918
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 20:31:15 +0000 (20:31 +0000)]
Replace some std::vectors that showed up in heap profiling with
SmallVectors. Change the signature of TargetLowering::LowerArguments
to avoid returning a vector by value, and update the two targets
which still use this directly, Sparc and IA64, accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52917
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 30 Jun 2008 20:28:02 +0000 (20:28 +0000)]
Add an isReachableFromEntry method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52916
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 30 Jun 2008 20:25:31 +0000 (20:25 +0000)]
Correct the allocation size for CCState's UsedRegs member, which
only needs one bit for each register. UsedRegs is a SmallVector
sized at 16, so this eliminates a heap allocation/free for every
call and return processed by Legalize on most targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52915
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jun 2008 18:15:01 +0000 (18:15 +0000)]
Rename new lto2 tool as lto.
lto2->lto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52912
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Jun 2008 18:07:38 +0000 (18:07 +0000)]
Added ImmutableList, a companion ADT to ImmutableSet and ImmutableMap that is used to represent a purely functional list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52911
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jun 2008 18:05:29 +0000 (18:05 +0000)]
Remove old LTO interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52910
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jun 2008 18:04:55 +0000 (18:04 +0000)]
Remove old LTO interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52909
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jun 2008 18:02:44 +0000 (18:02 +0000)]
add convenience 'constructors'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52908
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jun 2008 17:32:58 +0000 (17:32 +0000)]
Move dominator info printer into tool/opt/GraphPrinters.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52907
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 30 Jun 2008 16:43:45 +0000 (16:43 +0000)]
ExpungeNode is only needed for new nodes! This
fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll
when using the new LegalizeTypes infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52903
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 30 Jun 2008 13:55:15 +0000 (13:55 +0000)]
Support for VAARG. As noted in a comment, this is
wrong for types like x86 long double and i1, but
no worse than what is done in LegalizeDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52898
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 30 Jun 2008 11:50:11 +0000 (11:50 +0000)]
Support for promoting select_cc operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52895
91177308-0d34-0410-b5e6-
96231b3b80d8
Cedric Venet [Mon, 30 Jun 2008 10:31:41 +0000 (10:31 +0000)]
Add loopVR files.
Users of VS need to manually force rebuild the X86 projet to use the last version of tablegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52894
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 30 Jun 2008 10:19:09 +0000 (10:19 +0000)]
Revert the SelectionDAG optimization that makes
it impossible to create a MERGE_VALUES node with
only one result: sometimes it is useful to be able
to create a node with only one result out of one of
the results of a node with more than one result, for
example because the new node will eventually be used
to replace a one-result node using ReplaceAllUsesWith,
cf X86TargetLowering::ExpandFP_TO_SINT. On the other
hand, most users of MERGE_VALUES don't need this and
for them the optimization was valuable. So add a new
utility method getMergeValues for creating MERGE_VALUES
nodes which by default performs the optimization.
Change almost everywhere to use getMergeValues (and
tidy some stuff up at the same time).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52893
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 07:32:56 +0000 (07:32 +0000)]
Eliminate TargetRegisterDesc::ImmSubRegs. It's no longer in use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52892
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 30 Jun 2008 07:31:25 +0000 (07:31 +0000)]
- Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag.
- Correctly handle memcpy from constant string which is zero-initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jun 2008 03:02:03 +0000 (03:02 +0000)]
check in anton's patch to make inlining happen in a determinstic order
and fix the bug that it uncovers: inlining a pattern fragment could bring
in other pattern fragments if the inlinee hadn't already been inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jun 2008 02:43:01 +0000 (02:43 +0000)]
Implement split and scalarize for SELECT_CC, fixing PR2504
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52887
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 30 Jun 2008 01:04:39 +0000 (01:04 +0000)]
Because of the laziness, the required passes must exist even after
LoopVR::runOnFunction runs.
This should accomplish that, but it doesn't. I think that's a PassManager bug,
but without a consumer of LoopVR in the tree, I can't give steps to reproduce.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52886
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 30 Jun 2008 00:04:21 +0000 (00:04 +0000)]
Add a value range analysis that lazily computes ranges using ScalarEvolutions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52885
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 29 Jun 2008 17:57:03 +0000 (17:57 +0000)]
Revert (52748 and friends):
Move GetConstantStringInfo to lib/Analysis. Remove
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
This unbreaks llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52884
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 13:45:57 +0000 (13:45 +0000)]
Start refactoring of asmprinters: provide a TAI hook, which will select a 'section kind' for a global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52868
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:10:06 +0000 (11:10 +0000)]
Unbreak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52866
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:09:48 +0000 (11:09 +0000)]
Temporary rever invalid commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52865
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:09:32 +0000 (11:09 +0000)]
Move printing of module-level GVs into dedicated helper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52864
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:09:17 +0000 (11:09 +0000)]
Use common naming convention
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52863
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:09:01 +0000 (11:09 +0000)]
Factor out stuff into helper function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52862
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:08:44 +0000 (11:08 +0000)]
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52861
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:08:27 +0000 (11:08 +0000)]
Remove X86SharedAsmPrinter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52860
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:08:09 +0000 (11:08 +0000)]
whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52859
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:07:54 +0000 (11:07 +0000)]
Make intel asmprinter child of generic asmprinter, not x86 shared asm printer. This leads to some code duplication, which will be resolved later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52858
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:07:35 +0000 (11:07 +0000)]
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52857
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 28 Jun 2008 11:07:18 +0000 (11:07 +0000)]
Whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jun 2008 06:24:50 +0000 (06:24 +0000)]
Really fix the bootstrap failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jun 2008 05:33:32 +0000 (05:33 +0000)]
Add back the capability to include nul characters in strings with
GetConstantStringInfo. This will hopefully restore llvm-gcc to
happy bootstrap land.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jun 2008 04:37:04 +0000 (04:37 +0000)]
Tighten up checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52850
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 28 Jun 2008 00:45:22 +0000 (00:45 +0000)]
When folding a bitcast into a load or store, preserve the alignment
information of the original load or store, which is checked to be
at least as good, and possibly better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52849
91177308-0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Fri, 27 Jun 2008 22:55:30 +0000 (22:55 +0000)]
Fix GetMainExecutable. Patch by Sam Bishop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52847
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jun 2008 22:11:49 +0000 (22:11 +0000)]
Looks like this condition is inverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52841
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 27 Jun 2008 21:48:21 +0000 (21:48 +0000)]
Add a NextPowerOf2 function to calculate the next power of two greater than a given integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52839
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jun 2008 21:26:26 +0000 (21:26 +0000)]
implement some fixme's by making "autorenaming" in the value symbol table not
thrash the heap with string stuff (e.g. utostr).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52838
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jun 2008 21:25:24 +0000 (21:25 +0000)]
simplify some code to avoid string thrashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52837
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 27 Jun 2008 21:22:49 +0000 (21:22 +0000)]
Use StringSet instead of std::set<std::string>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52836
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jun 2008 21:15:25 +0000 (21:15 +0000)]
add a helper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52835
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jun 2008 21:09:10 +0000 (21:09 +0000)]
Add a new version of Module::getFunction that takes a const char* instead
of a std::string. This avoids copying the string to the heap in common
cases. Patch by Pratik Solanki!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52834
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jun 2008 18:49:21 +0000 (18:49 +0000)]
Tweak IRBuilder to explicitly call the setName(const char*) method on Value
instead of passing the name into the instruction ctors. Since most
instruction ctors take their name as an std::string, this avoids copying the
string to the heap and a malloc and free.
Patch by Pratik Solanki!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52832
91177308-0d34-0410-b5e6-
96231b3b80d8
Cedric Venet [Fri, 27 Jun 2008 18:00:09 +0000 (18:00 +0000)]
Add an include file needed for VS.
Add two new file to codegen project (VS).
This unbreak the build for VS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52831
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 27 Jun 2008 16:43:21 +0000 (16:43 +0000)]
Add dominator info printer pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52829
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 27 Jun 2008 16:10:20 +0000 (16:10 +0000)]
Provide correct encoding for PPC LWARX instructions.
Patch by Gary Benson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52828
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 27 Jun 2008 15:08:59 +0000 (15:08 +0000)]
Since we are using GCC to assemble the program, make sure the assembly syntax is AT&T.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52827
91177308-0d34-0410-b5e6-
96231b3b80d8