Evan Cheng [Fri, 22 Jan 2010 03:36:51 +0000 (03:36 +0000)]
Teach pre-regalloc scheduler to schedule loads from nearby addresses. It may improve cache locality. This is controlled by -cluster-loads for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94148
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Jan 2010 03:34:51 +0000 (03:34 +0000)]
Add two target hooks to determine whether two loads are near and should be scheduled together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94147
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Jan 2010 03:33:01 +0000 (03:33 +0000)]
Add DenseMapInfo for signed long long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94146
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 22 Jan 2010 02:04:33 +0000 (02:04 +0000)]
CMake: Add MCParser directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94135
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 22 Jan 2010 02:04:28 +0000 (02:04 +0000)]
lit: Separate test suite from test name with spaces, to make it easier to cut and paste.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:58:44 +0000 (01:58 +0000)]
add new file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:58:08 +0000 (01:58 +0000)]
move some files out of the llvm-mc tool into the MCParser library so
other tools can link it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:55:10 +0000 (01:55 +0000)]
forgot to svn add these, doh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:44:57 +0000 (01:44 +0000)]
create a new MCParser library and move some stuff into it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:17:12 +0000 (01:17 +0000)]
remove some confused code that used strtoull
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 01:10:40 +0000 (01:10 +0000)]
allow registering target lexers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Jan 2010 00:58:59 +0000 (00:58 +0000)]
stub out a new TargetAsmLexer interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94125
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 22 Jan 2010 00:46:49 +0000 (00:46 +0000)]
Revert LoopStrengthReduce.cpp to pre-r94061 for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94123
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 22 Jan 2010 00:28:27 +0000 (00:28 +0000)]
Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Jan 2010 00:08:13 +0000 (00:08 +0000)]
Fix PR5694. The CMN instructions set the flags differently from CMP, so they
cannot be directly interchanged for comparisons against negated values.
Disable the CMN instructions for the time being.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94119
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 21 Jan 2010 23:42:57 +0000 (23:42 +0000)]
Tidy up assertion syntax. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 23:09:12 +0000 (23:09 +0000)]
No need to look through bitcasts for DbgInfoIntrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94114
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 23:08:36 +0000 (23:08 +0000)]
DbgInfoIntrinsic no longer appear in an instruction's use list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94113
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 23:07:15 +0000 (23:07 +0000)]
No need to look through bitcasts for DbgInfoIntrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94112
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 23:05:53 +0000 (23:05 +0000)]
DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94111
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 23:01:22 +0000 (23:01 +0000)]
When inserting expressions for post-increment users which contain
loop-variant components, adds must be inserted after the increment.
Keep track of the increment position for this case, and insert
these adds in the correct location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94110
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 22:46:32 +0000 (22:46 +0000)]
Include IVUsers information in LSR's debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94108
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 22:42:49 +0000 (22:42 +0000)]
Prune the search for candidate formulae if the number of register
operands exceeds the number of registers used in the initial
solution, as that wouldn't lead to a profitable solution anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94107
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 21 Jan 2010 21:44:43 +0000 (21:44 +0000)]
Trim unneeded includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94105
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 21:31:09 +0000 (21:31 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94104
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 21:29:25 +0000 (21:29 +0000)]
It turns out that this #include is needed because otherwise
ValueMapper.cpp ends up calling an out of line
__ZNK4llvm12PATypeHolder3getEv, which is a template and llvm-config
determines arbitrarily to use the one in libipo. This sucks, but
keeping the #include is a reasonable workaround.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 21:20:51 +0000 (21:20 +0000)]
unbreak the build, apparently without this transformutils starts depending on libipa?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94102
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 21:05:54 +0000 (21:05 +0000)]
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94101
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 21:01:47 +0000 (21:01 +0000)]
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94100
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 20:43:39 +0000 (20:43 +0000)]
remove dead .erase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94098
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Jan 2010 20:10:22 +0000 (20:10 +0000)]
back this out for now. Growing Function is not good.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94097
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 20:01:04 +0000 (20:01 +0000)]
testcase for r94095
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94096
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 19:58:19 +0000 (19:58 +0000)]
fix a problem with a missing _, testcase pending.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94095
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 19:33:59 +0000 (19:33 +0000)]
Don't need to include IntrinsicInst.h any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94092
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Thu, 21 Jan 2010 19:26:20 +0000 (19:26 +0000)]
No need to map NULL operands of metadata
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94091
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 21 Jan 2010 16:09:59 +0000 (16:09 +0000)]
Add a simple script for getting a version tag from a svn/git-svn/git
repository. Feel free to add support for your favorite VCS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94077
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 21 Jan 2010 15:40:14 +0000 (15:40 +0000)]
struct/class mismatch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94075
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 10:15:06 +0000 (10:15 +0000)]
Make the parser include the lower level error message in its own error
message, to be more informative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94072
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 10:13:27 +0000 (10:13 +0000)]
Avoid printing a spurious semicolon when there is no filename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94071
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 10:08:42 +0000 (10:08 +0000)]
When re-using an existing cast for a user, it's still necessary to call
rememberInstruction so that future users of that user will be inserted
in the correct position. This fixes the Darwin selfhost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94070
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 21 Jan 2010 07:03:21 +0000 (07:03 +0000)]
Fix a crasher trying to fold each element in a comparison between two vectors
if one of the vectors didn't have elements (such as undef). Fixes PR 6096.
Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
This exposed a related issue in the bitcode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 06:11:03 +0000 (06:11 +0000)]
remove a couple of asserts that use RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94068
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 03:51:36 +0000 (03:51 +0000)]
Run the verifier after LSR, to help catch use-before-def errors before
they reach codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94066
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Jan 2010 02:09:26 +0000 (02:09 +0000)]
Re-implement the main strength-reduction portion of LoopStrengthReduction.
This new version is much more aggressive about doing "full" reduction in
cases where it reduces register pressure, and also more aggressive about
rewriting induction variables to count down (or up) to zero when doing so
reduces register pressure.
It currently uses fairly simplistic algorithms for finding reuse
opportunities, but it introduces a new framework allows it to combine
multiple strategies at once to form hybrid solutions, instead of doing
all full-reduction or all base+index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94061
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Jan 2010 02:07:07 +0000 (02:07 +0000)]
eliminate dynamic_cast from the pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94060
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 21 Jan 2010 01:04:38 +0000 (01:04 +0000)]
Add strcpy_chk -> strcpy support for "don't know" object size
answers. This will update as object size checking gets better information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94059
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 21 Jan 2010 00:55:14 +0000 (00:55 +0000)]
Fix a minor issue in x86 load / store folding table. movups does an unaligned load so it doesn't require 16-byte alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94058
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Jan 2010 00:43:30 +0000 (00:43 +0000)]
Make sure that landing pad entries in the EH call site table are in the proper
order for SjLj style exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Thu, 21 Jan 2010 00:19:58 +0000 (00:19 +0000)]
Moved handling of inclusion from the AsmLexer to
the AsmParser, breaking AsmLexer's dependence on
SourceMgr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94054
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 23:30:28 +0000 (23:30 +0000)]
simplify this code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94048
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 20 Jan 2010 23:19:55 +0000 (23:19 +0000)]
Changed the AsmParser to handle error messages itself
rather than passing them off to the AsmLexer to handle.
This means the AsmLexer no longer requires a SourceMgr
to do error handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94047
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 20 Jan 2010 23:03:55 +0000 (23:03 +0000)]
SjLj EH introduces can introduce an additional edge to a landing pad and pad
normalization needs to take this into account.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94046
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 20 Jan 2010 22:45:23 +0000 (22:45 +0000)]
Promoted the reference to the SourceMgr from AsmLexer
into AsmParser, in preparation for making AsmLexer
independent of the SourceMgr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94043
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 20 Jan 2010 22:18:24 +0000 (22:18 +0000)]
Modified MCAsmLexer to return error information upward
rather than printing it locally, reducing its dependence
on SourceMgr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94041
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 21:36:48 +0000 (21:36 +0000)]
eliminate FnStubInfo, using MachineModuleInfoMachO instead.
this makes function stub emission determinstic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94033
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 20 Jan 2010 21:36:02 +0000 (21:36 +0000)]
make findDebugLoc a class method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 21:19:44 +0000 (21:19 +0000)]
split function stub printing out to its own function,
no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 21:16:14 +0000 (21:16 +0000)]
eliminate the GVStubs and HiddenGVStubs maps, and use
MachineModuleInfoMachO instead. This eliminates two sources
of nondeterministic output in the ppc backend, but function
stubs are still bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 20:48:59 +0000 (20:48 +0000)]
don't forget to initialize an instance variable!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94021
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 20 Jan 2010 20:13:31 +0000 (20:13 +0000)]
When XDEBUG is enabled, check for SelectionDAG cycles at some key
points. This will help us find future problems like the one
described in PR6019.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94019
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 20:09:02 +0000 (20:09 +0000)]
adopt getAdjustedAnalysisPointer in a few more passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 19:53:32 +0000 (19:53 +0000)]
adopt getAdjustedAnalysisPointer in two more passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94017
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 19:51:46 +0000 (19:51 +0000)]
adopt getAdjustedAnalysisPointer in BasicCallGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94015
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 19:26:14 +0000 (19:26 +0000)]
add some new methods to adjust this pointers. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94013
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 19:25:45 +0000 (19:25 +0000)]
add a helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94012
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 17:57:50 +0000 (17:57 +0000)]
don't send null pointers through the constantexpr codepath unneededly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 17:53:51 +0000 (17:53 +0000)]
reduce redundant are's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 20 Jan 2010 17:51:28 +0000 (17:51 +0000)]
Move per-function inline threshold calculation to a method.
No functional change except the forgotten test for
InlineLimit.getNumOccurrences() == 0 in the CurrentThreshold2 calculation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 17:50:30 +0000 (17:50 +0000)]
use getGlobalDirective(), don't hardcode .globl. PR6093
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94006
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 20 Jan 2010 15:27:19 +0000 (15:27 +0000)]
Fix an infinite recursion problem. dbgs() should return errs() in
release mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94001
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 07:41:15 +0000 (07:41 +0000)]
eliminate some uses of AsmPrinter::EmitIntXXX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93996
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 07:37:49 +0000 (07:37 +0000)]
Backout r93990
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93995
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 07:33:29 +0000 (07:33 +0000)]
inline and radically simplify printDataDirective. It will eventually
go completely away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 07:24:05 +0000 (07:24 +0000)]
emit basic block labels with mcstreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 07:19:19 +0000 (07:19 +0000)]
emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
for tidiness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93992
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 07:11:32 +0000 (07:11 +0000)]
signficant cleanups to EmitGlobalConstant (including streamerization
of int initializers), change some methods to be static functions,
use raw_ostream::write_hex instead of a smallstring dance with
APValue::toStringUnsigned(S, 16).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93991
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 06:57:02 +0000 (06:57 +0000)]
Fix/strengthen verification of llvm.dbg.declare
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93990
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 06:56:16 +0000 (06:56 +0000)]
Switch Elts from vector to SmallVector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 06:53:37 +0000 (06:53 +0000)]
switch ConstantFP emission to use MCStreamer, significantly
simplifying the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 06:45:39 +0000 (06:45 +0000)]
make mcasmstreamer handle expanding 8 byte integer constants to
4-byte constants if .quad isn't supported. Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 06:39:07 +0000 (06:39 +0000)]
give createAsmStreamer an 'isLittleEndian' argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Jan 2010 06:34:14 +0000 (06:34 +0000)]
revert 93934, removing the MCAsmInfo endianness bit. I can't
stomache MCAsmInfo having this, and I found a better solution to
this layering issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93985
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 06:22:33 +0000 (06:22 +0000)]
Fix if/else brackets; getFunctionForValue() is to be called for non-metadata values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93984
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Wed, 20 Jan 2010 06:01:02 +0000 (06:01 +0000)]
Fix the conditions to unambiguously show the logic they represent. This is the
logic enforced in the test case as well, so hopefully it is correct. Please
review Victor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93980
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 05:49:59 +0000 (05:49 +0000)]
Map operands of all function-local metadata, not just metadata passed to llvm.dbg.declare intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93979
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 05:44:11 +0000 (05:44 +0000)]
Avoid unnecessary Elts array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93978
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 20 Jan 2010 04:45:57 +0000 (04:45 +0000)]
Refactor common parts of MDNode::getFunction() and assertLocalFunction() into getFunctionForValue()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93977
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Jan 2010 02:05:23 +0000 (02:05 +0000)]
If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 20 Jan 2010 00:59:23 +0000 (00:59 +0000)]
Add some asserts to check SelectionDAG problems earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93960
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 20 Jan 2010 00:43:07 +0000 (00:43 +0000)]
For 'install-clang' target, also traverse tools/clang/lib/Runtime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93958
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 20 Jan 2010 00:19:24 +0000 (00:19 +0000)]
Move findDebugLoc somewhere more central. Fix
more cases where debug declarations affect
debug line info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93953
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 23:30:49 +0000 (23:30 +0000)]
Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some code
that SCEVExpander can produce when running on behalf of LSR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93949
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 19 Jan 2010 22:56:26 +0000 (22:56 +0000)]
Wrap some comments to 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93940
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 22:53:50 +0000 (22:53 +0000)]
Make SCEVAddRecExpr's getType return a pointer type when the add
has a pointer member. This helps reduce unnecessary bitcasting
and uglygeps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93939
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 19 Jan 2010 22:50:05 +0000 (22:50 +0000)]
Fix a case where debug_value was perturbing the
line number info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93937
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 22:45:06 +0000 (22:45 +0000)]
When doing address-mode sinking, expand the base register first, rather
than the scaled register. This makes it more likely that subsequent
AddrModeMatcher queries will match the new address the same way as the
old, instead of accidentally matching what had been the base register
as the new scaled register, and then failing to match the scaled register.
This fixes some problems with address-mode sinking multiple muls into a
block, which will be a lot more common with some upcoming
LoopStrengthReduction changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Jan 2010 22:42:28 +0000 (22:42 +0000)]
give MCAsmInfo a 'has little endian' bit. This is unfortunate, but
I really want clients of the streamer to be able to say "emit this
64-bit integer" and have it get broken down right by the streamer.
I may change this in the future, we'll see how it works out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93934
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 22:27:22 +0000 (22:27 +0000)]
Add a comment and tidy up some whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93932
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 22:26:02 +0000 (22:26 +0000)]
Fix a typo and an 80-column violation in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93931
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 19 Jan 2010 22:21:27 +0000 (22:21 +0000)]
Give ScalarEvolution access to the DominatorTree. It'll need this
to make more intellegent AddRec folding decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93930
91177308-0d34-0410-b5e6-
96231b3b80d8