Cedric Venet
4036419ff8
Add loopVR files.
...
Users of VS need to manually force rebuild the X86 projet to use the last version of tablegen.
llvm-svn: 52894
2008-06-30 10:31:41 +00:00
Duncan Sands
c882a4eba9
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).
llvm-svn: 52893
2008-06-30 10:19:09 +00:00
Evan Cheng
421919a049
Eliminate TargetRegisterDesc::ImmSubRegs. It's no longer in use.
...
llvm-svn: 52892
2008-06-30 07:32:56 +00:00
Evan Cheng
2005804de6
- 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.
llvm-svn: 52891
2008-06-30 07:31:25 +00:00
Chris Lattner
6a22216d7a
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.
llvm-svn: 52888
2008-06-30 03:02:03 +00:00
Chris Lattner
95fecdd63a
Implement split and scalarize for SELECT_CC, fixing PR2504
...
llvm-svn: 52887
2008-06-30 02:43:01 +00:00
Nick Lewycky
23476fb496
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.
llvm-svn: 52886
2008-06-30 01:04:39 +00:00
Nick Lewycky
d63159dcd4
Add a value range analysis that lazily computes ranges using ScalarEvolutions.
...
llvm-svn: 52885
2008-06-30 00:04:21 +00:00
Anton Korobeynikov
6f260767ec
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.
llvm-svn: 52884
2008-06-29 17:57:03 +00:00
Anton Korobeynikov
9e8c154272
Start refactoring of asmprinters: provide a TAI hook, which will select a 'section kind' for a global.
...
llvm-svn: 52868
2008-06-28 13:45:57 +00:00
Anton Korobeynikov
0b708e559e
Unbreak
...
llvm-svn: 52866
2008-06-28 11:10:06 +00:00
Anton Korobeynikov
8562255056
Temporary rever invalid commit
...
llvm-svn: 52865
2008-06-28 11:09:48 +00:00
Anton Korobeynikov
ea88d91267
Move printing of module-level GVs into dedicated helper
...
llvm-svn: 52864
2008-06-28 11:09:32 +00:00
Anton Korobeynikov
77c3528f69
Use common naming convention
...
llvm-svn: 52863
2008-06-28 11:09:17 +00:00
Anton Korobeynikov
2331efee7e
Factor out stuff into helper function
...
llvm-svn: 52862
2008-06-28 11:09:01 +00:00
Anton Korobeynikov
908c1fab55
Cleanup
...
llvm-svn: 52861
2008-06-28 11:08:44 +00:00
Anton Korobeynikov
adec555f96
Remove X86SharedAsmPrinter
...
llvm-svn: 52860
2008-06-28 11:08:27 +00:00
Anton Korobeynikov
dcc6a8314a
whitespace cleanup
...
llvm-svn: 52859
2008-06-28 11:08:09 +00:00
Anton Korobeynikov
03a62267fe
Make intel asmprinter child of generic asmprinter, not x86 shared asm printer. This leads to some code duplication, which will be resolved later.
...
llvm-svn: 52858
2008-06-28 11:07:54 +00:00
Anton Korobeynikov
b75aeb6b1a
Cleanup
...
llvm-svn: 52857
2008-06-28 11:07:35 +00:00
Anton Korobeynikov
f4017f7d50
Whitespace cleanup
...
llvm-svn: 52856
2008-06-28 11:07:18 +00:00
Chris Lattner
2deb9ae6ad
Really fix the bootstrap failure.
...
llvm-svn: 52854
2008-06-28 06:24:50 +00:00
Chris Lattner
090d81df5e
Add back the capability to include nul characters in strings with
...
GetConstantStringInfo. This will hopefully restore llvm-gcc to
happy bootstrap land.
llvm-svn: 52851
2008-06-28 05:33:32 +00:00
Chris Lattner
98b286ff98
Tighten up checking.
...
llvm-svn: 52850
2008-06-28 04:37:04 +00:00
Dan Gohman
6b87f869e4
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.
llvm-svn: 52849
2008-06-28 00:45:22 +00:00
Seo Sanghyeon
12944690d5
Fix GetMainExecutable. Patch by Sam Bishop.
...
llvm-svn: 52847
2008-06-27 22:55:30 +00:00
Evan Cheng
36adcb1eea
Looks like this condition is inverted.
...
llvm-svn: 52841
2008-06-27 22:11:49 +00:00
Owen Anderson
6ba41f78c9
Add a NextPowerOf2 function to calculate the next power of two greater than a given integer.
...
llvm-svn: 52839
2008-06-27 21:48:21 +00:00
Chris Lattner
8e2bd43f29
implement some fixme's by making "autorenaming" in the value symbol table not
...
thrash the heap with string stuff (e.g. utostr).
llvm-svn: 52838
2008-06-27 21:26:26 +00:00
Chris Lattner
5c75711282
simplify some code to avoid string thrashing.
...
llvm-svn: 52837
2008-06-27 21:25:24 +00:00
Anton Korobeynikov
e48fe3dde8
Use StringSet instead of std::set<std::string>
...
llvm-svn: 52836
2008-06-27 21:22:49 +00:00
Chris Lattner
a943d9f402
add a helper.
...
llvm-svn: 52835
2008-06-27 21:15:25 +00:00
Chris Lattner
6b3b22747a
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!
llvm-svn: 52834
2008-06-27 21:09:10 +00:00
Chris Lattner
f55505b7be
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!
llvm-svn: 52832
2008-06-27 18:49:21 +00:00
Cedric Venet
3d67bd33b2
Add an include file needed for VS.
...
Add two new file to codegen project (VS).
This unbreak the build for VS.
llvm-svn: 52831
2008-06-27 18:00:09 +00:00
Devang Patel
d5faa747e9
Add dominator info printer pass.
...
llvm-svn: 52829
2008-06-27 16:43:21 +00:00
Anton Korobeynikov
eb63554d81
Provide correct encoding for PPC LWARX instructions.
...
Patch by Gary Benson!
llvm-svn: 52828
2008-06-27 16:10:20 +00:00
Argyrios Kyrtzidis
d3c6fde00b
Since we are using GCC to assemble the program, make sure the assembly syntax is AT&T.
...
llvm-svn: 52827
2008-06-27 15:08:59 +00:00
Duncan Sands
307bc51955
Regression test for PR2443.
...
llvm-svn: 52826
2008-06-27 14:22:20 +00:00
Duncan Sands
c4678a026a
Use the c modifier to tell llvm-ar not to issue a
...
warning when creating the archive (the warning
causes the test to fail).
llvm-svn: 52824
2008-06-27 10:52:12 +00:00
Bill Wendling
39cc6881e1
Reduce number of times .size() is called on a vector. Rename some variables to
...
match normal naming scheme.
llvm-svn: 52820
2008-06-27 07:13:44 +00:00
Owen Anderson
e0604d46c2
Use a SmallSet when we can to reduce memory allocations.
...
This speeds up a particular testcase from 0.0302s to 0.0222s in LiveVariables.
llvm-svn: 52819
2008-06-27 07:05:59 +00:00
Owen Anderson
59ed35b2c2
Cache subregister relationships in a set in TargetRegisterInfo to allow faster lookups.
...
This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++.
llvm-svn: 52818
2008-06-27 06:56:04 +00:00
Chris Lattner
c94b39d65c
fix the regressions from Eric's patch by making GetConstantStringInfo
...
tolerate a non-nul-terminated string, and handling a direct global
reference.
llvm-svn: 52813
2008-06-27 03:36:51 +00:00
Chris Lattner
635da8cff5
simplify this check, GetConstantStringInfo validates that a
...
global is constant already. No functionality change.
llvm-svn: 52812
2008-06-27 03:18:41 +00:00
Chris Lattner
153b6695b8
test doesn't need eh info
...
llvm-svn: 52811
2008-06-27 03:14:20 +00:00
Chris Lattner
f40ef5f964
when linking globals, make sure to preserve the address space of the global.
...
llvm-svn: 52810
2008-06-27 03:10:24 +00:00
Bill Wendling
d19faaca94
More cruft from revert...
...
llvm-svn: 52809
2008-06-27 01:37:37 +00:00
Bill Wendling
e0ea004d40
Cruft left from patch revert...sorry. :-(
...
llvm-svn: 52808
2008-06-27 01:32:08 +00:00
Bill Wendling
e9909a1c2a
Reverting broken patch r52803.
...
llvm-svn: 52806
2008-06-27 01:27:56 +00:00