Sandeep Patel
7460e0822f
Fix method name in comment, per Bob Wilson.
...
llvm-svn: 84017
2009-10-13 20:25:58 +00:00
Dan Gohman
2dc6f8de03
Use the new CodeMetrics class to compute code size instead of
...
manually counting instructions.
llvm-svn: 84016
2009-10-13 20:12:23 +00:00
Dan Gohman
abb728d3f4
Compute a full cost value even when a setjmp call is found.
...
llvm-svn: 84015
2009-10-13 20:10:10 +00:00
Dan Gohman
2ccea5d13f
Split code not specific to Function inlining out into a separate class,
...
named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo
back to FunctionInfo.
llvm-svn: 84013
2009-10-13 19:58:07 +00:00
David Goodwin
4c98efb917
Add debugging output.
...
llvm-svn: 84011
2009-10-13 19:16:03 +00:00
Ted Kremenek
5d81cb2084
Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees. This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps.
...
llvm-svn: 84010
2009-10-13 19:08:10 +00:00
Sandeep Patel
423e42b371
Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov.
...
llvm-svn: 84009
2009-10-13 18:59:48 +00:00
Ted Kremenek
f34311779c
Update CMake file (lexically order files).
...
llvm-svn: 84008
2009-10-13 18:57:27 +00:00
Devang Patel
78cb102490
Do not write empty METADATA_ATTACHMENT record.
...
llvm-svn: 84006
2009-10-13 18:51:28 +00:00
Devang Patel
0b26c9e0b3
Remove unnecessary assert.
...
llvm-svn: 84004
2009-10-13 18:51:03 +00:00
Benjamin Kramer
a8d176d62f
Update the other CMake file.
...
llvm-svn: 84003
2009-10-13 18:50:54 +00:00
Devang Patel
52b1745a96
Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.
...
llvm-svn: 84002
2009-10-13 18:49:55 +00:00
Ted Kremenek
113d959f1b
Update CMake file.
...
llvm-svn: 84001
2009-10-13 18:48:07 +00:00
Evan Cheng
f1f3dd3c3c
Refactor some code. No functionality changes.
...
llvm-svn: 84000
2009-10-13 18:42:04 +00:00
Dan Gohman
54463e837a
Commit the removal of this file, which is now moved to lib/Analysis.
...
llvm-svn: 83999
2009-10-13 18:37:20 +00:00
Dan Gohman
4552e3cd73
Move the InlineCost code from Transforms/Utils to Analysis.
...
llvm-svn: 83998
2009-10-13 18:30:07 +00:00
Dan Gohman
5b3e05bcaa
Start refactoring the inline cost estimation code so that it can be used
...
for purposes other than inlining.
llvm-svn: 83997
2009-10-13 18:24:11 +00:00
Chris Lattner
19788ca686
change simplifycfg to not duplicate 'unwind' instructions. Hopefully
...
this will increase the likelihood of common code getting sunk towards
the unwind.
llvm-svn: 83996
2009-10-13 18:13:05 +00:00
Chris Lattner
8d6d09379d
convert to filecheck
...
llvm-svn: 83995
2009-10-13 18:10:05 +00:00
Chris Lattner
6f55a81bb9
rename test
...
llvm-svn: 83994
2009-10-13 18:08:21 +00:00
Dan Gohman
71ca652475
Make LoopUnswitch's cost estimation count Instructions, rather than
...
BasicBlocks, so that it doesn't blindly procede in the presence of
large individual BasicBlocks. This addresses a class of code-size
expansion problems.
llvm-svn: 83992
2009-10-13 17:50:43 +00:00
Chris Lattner
aa61f41e56
rename ReleaseNotes-2.6.html -> ReleaseNotes.html
...
llvm-svn: 83990
2009-10-13 17:48:04 +00:00
Chris Lattner
123dd67f76
add Zero
...
llvm-svn: 83988
2009-10-13 17:47:06 +00:00
Jeffrey Yasskin
f98e981cd0
Make the ExecutionEngine automatically remove global mappings on when their
...
GlobalValue is destroyed. Function destruction still leaks machine code and
can crash on leaked stubs, but this is some progress.
llvm-svn: 83987
2009-10-13 17:42:08 +00:00
Chris Lattner
faa0320f27
don't use dead loads as tests.
...
llvm-svn: 83985
2009-10-13 17:39:29 +00:00
Devang Patel
c5cc659cfa
"there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)
...
llvm-svn: 83984
2009-10-13 17:35:35 +00:00
Bob Wilson
453a06e3ac
Add some ARM instruction encoding bits.
...
Patch by Johnny Chen.
llvm-svn: 83983
2009-10-13 17:35:30 +00:00
Bob Wilson
d26a26ae7e
Fix regression introduced by r83894.
...
llvm-svn: 83982
2009-10-13 17:29:13 +00:00
Devang Patel
e6f26a7415
Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.
...
llvm-svn: 83977
2009-10-13 17:00:54 +00:00
Devang Patel
9bd98a440b
Disable this test for now.
...
llvm-svn: 83975
2009-10-13 16:32:09 +00:00
Bob Wilson
0bc673de0d
Fix a tab. Thanks to Johnny Chen for pointing it out.
...
llvm-svn: 83973
2009-10-13 15:27:23 +00:00
Duncan Sands
1008612b36
The eh.exception intrinsic only reads from memory, it doesn't
...
write to it.
llvm-svn: 83963
2009-10-13 09:24:02 +00:00
Duncan Sands
f7ad620c62
Pacify the compiler (signed with unsigned comparison) by making
...
these constants unsigned.
llvm-svn: 83962
2009-10-13 09:23:11 +00:00
Nick Lewycky
9bc890425a
Force memory use markers to have a ConstantInt for the size argument.
...
llvm-svn: 83960
2009-10-13 07:57:33 +00:00
Nick Lewycky
e2782c7614
Teach BasicAA a little something about the atomic intrinsics: they can only
...
modify through the pointer they're given.
llvm-svn: 83959
2009-10-13 07:48:38 +00:00
Nick Lewycky
6f7d8347c1
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
...
sections of memory objects.
llvm-svn: 83953
2009-10-13 07:03:23 +00:00
Daniel Dunbar
cdf01b5d82
Fix a -Asserts warning.
...
llvm-svn: 83950
2009-10-13 06:47:08 +00:00
Chris Lattner
799dd8538e
remove dead header.
...
llvm-svn: 83943
2009-10-13 05:33:26 +00:00
Chris Lattner
278c12e1af
remove notcast, it is now dead!
...
llvm-svn: 83938
2009-10-13 04:27:02 +00:00
Chris Lattner
a24b2b8c88
remove two old and nearly useless tests.
...
llvm-svn: 83937
2009-10-13 04:25:24 +00:00
Devang Patel
bd9c3a074d
XFAIL these tests for now.
...
llvm-svn: 83933
2009-10-13 01:51:29 +00:00
Dan Gohman
c4e367b854
Add a ceilLogBase2 function to APInt.
...
llvm-svn: 83932
2009-10-13 01:49:02 +00:00
Victor Hernandez
70e8505eb1
Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call.
...
It should continue scanning until the malloc call, and this patch fixes that.
llvm-svn: 83931
2009-10-13 01:42:53 +00:00
Edward O'Callaghan
a5314b83d1
Regenerate configure for rev. 83823 putback.
...
llvm-svn: 83930
2009-10-13 01:01:38 +00:00
Devang Patel
9da3cc2b2d
Enable "debug info attached to an instruction" mode.
...
llvm-svn: 83925
2009-10-12 23:22:09 +00:00
Devang Patel
0f58bec599
Find enclosing subprogram info.
...
llvm-svn: 83922
2009-10-12 23:11:24 +00:00
Devang Patel
0af2a420cd
Set default location for a function if it is not set.
...
llvm-svn: 83921
2009-10-12 23:10:55 +00:00
Kevin Enderby
11b32384f2
Fix two warnings about unused variables that are only used in assert() calls.
...
llvm-svn: 83917
2009-10-12 22:51:49 +00:00
Bob Wilson
5b07a903d4
Delete a comment that makes no sense to me. The statement that moving a CPE
...
before its reference is only supported on ARM has not been true for a while.
In fact, until recently, that was only supported for Thumb. Besides that,
CPEs are always a multiple of 4 bytes in size, so inserting a CPE should have
no effect on Thumb alignment.
llvm-svn: 83916
2009-10-12 22:49:05 +00:00
Kevin Enderby
3f0b9b3db4
Fix a problem in the code where ARMAsmParser::ParseShift() second argument
...
should have been a pointer to a reference.
llvm-svn: 83915
2009-10-12 22:39:54 +00:00
Evan Cheng
f815861591
Make licm debug message readable.
...
llvm-svn: 83908
2009-10-12 22:25:23 +00:00
Bob Wilson
3250e7769f
Change CreateNewWater method to return NewMBB by reference.
...
llvm-svn: 83905
2009-10-12 21:39:43 +00:00
Bob Wilson
cc121aa750
Last week, ARMConstantIslandPass was failing to converge for the
...
MultiSource/Benchmarks/MiBench/automotive-susan test. The failure has
since been masked by an unrelated change (just randomly), so I don't have
a testcase for this now. Radar 7291928.
The situation where this happened is that a constant pool entry (CPE) was
placed at a lower address than the load that referenced it. There were in
fact 2 CPEs placed at adjacent addresses and referenced by 2 loads that were
close together in the code. The distance from the loads to the CPEs was
right at the limit of what they could handle, so that only one of the CPEs
could be placed within range. On every iteration, the first CPE was found
to be out of range, causing a new CPE to be inserted. The second CPE had
been in range but the newly inserted entry pushed it too far away. Thus the
second CPE was also replaced by a new entry, which in turn pushed the first
CPE out of range. Etc.
Judging from some comments in the code, the initial implementation of this
pass did not support CPEs placed _before_ their references. In the case
where the CPE is placed at a higher address, the key to making the algorithm
terminate is that new CPEs are only inserted at the end of a group of adjacent
CPEs. This is implemented by removing a basic block from the "WaterList"
once it has been used, and then adding the newly inserted CPE block to the
list so that the next insertion will come after it. This avoids the ping-pong
effect where CPEs are repeatedly moved to the beginning of a group of
adjacent CPEs. This does not work when going backwards, however, because the
entries at the end of an adjacent group of CPEs are closer than the CPEs
earlier in the group.
To make this pass terminate, we need to maintain a property that changes can
only happen in some sort of monotonic fashion. The fix used here is to require
that the CPE for a particular constant pool load can only move to lower
addresses. This is a very simple change to the code and should not cause
any significant degradation in the results.
llvm-svn: 83902
2009-10-12 21:23:15 +00:00
Bob Wilson
e4adae267e
Another minor clean-up.
...
llvm-svn: 83897
2009-10-12 20:45:53 +00:00
Chris Lattner
bf43817408
allow this testcase to pass with recent changes. The test hasn't been
...
producing any stores at all for a long time, but ".store." was in some
IR instruction names until recently. This removal caused the test to
start failing. Just make it reject any stores.
llvm-svn: 83895
2009-10-12 20:42:35 +00:00
Bob Wilson
196bf32ab0
Remove redundant parameter.
...
llvm-svn: 83894
2009-10-12 20:37:23 +00:00
Bob Wilson
3a7326e705
Use early exit to reduce indentation.
...
llvm-svn: 83874
2009-10-12 19:04:03 +00:00
Bob Wilson
3af34312d4
Change to return a value by reference.
...
llvm-svn: 83873
2009-10-12 19:01:12 +00:00
Bob Wilson
c7a3cf4066
Add a typedef for an iterator.
...
llvm-svn: 83872
2009-10-12 18:52:13 +00:00
Dale Johannesen
06243d7bf2
Revert the kludge in 76703. I got a clean
...
bootstrap of FSF-style PPC, so there is some
reason to believe the original bug (which was
never analyzed) has been fixed, probably by
82266.
llvm-svn: 83871
2009-10-12 18:49:00 +00:00
Dale Johannesen
4c9f0e8f53
Fix warning.
...
llvm-svn: 83870
2009-10-12 18:45:32 +00:00
Chris Lattner
6208bc171a
fix validation error pointed out by gabor (and the w3c :)
...
llvm-svn: 83868
2009-10-12 18:33:33 +00:00
Chris Lattner
7c6e0f22ad
Improve bugpoint doc, patch by Timo Lindfors!
...
llvm-svn: 83865
2009-10-12 18:12:47 +00:00
Jeffrey Yasskin
406ac811ab
Fix http://llvm.org/PR5160 , to let CallbackVHs modify other ValueHandles on the
...
same Value without breaking things.
llvm-svn: 83861
2009-10-12 17:43:32 +00:00
Gabor Greif
001d74c312
another bunch of <tt>s
...
llvm-svn: 83860
2009-10-12 16:50:25 +00:00
Dan Gohman
32eed95a78
Remove a redundant member variable.
...
llvm-svn: 83857
2009-10-12 16:44:10 +00:00
Dan Gohman
a8bacea11b
Delete some obsolete declarations.
...
llvm-svn: 83856
2009-10-12 16:43:44 +00:00
Gabor Greif
af28f0be41
even more <tt>s
...
llvm-svn: 83854
2009-10-12 16:40:25 +00:00
Dan Gohman
a698d7ac3c
Don't forget to mark RAX as live-out of the function when arranging for
...
it to hold the address of an sret return value, for x86-64 ABI purposes.
Also, fix the test that was originally intended to test this to actually
test it, using FileCheck.
llvm-svn: 83853
2009-10-12 16:36:12 +00:00
Gabor Greif
a80c5df3ea
more typewriter face
...
llvm-svn: 83852
2009-10-12 16:27:44 +00:00
Gabor Greif
1a093f3022
fix three validation errors, I leave the fourth to sabre :-)
...
llvm-svn: 83851
2009-10-12 16:13:36 +00:00
Gabor Greif
aa9b0ba7db
set some options in typewriter font
...
llvm-svn: 83850
2009-10-12 16:08:52 +00:00
Benjamin Kramer
0f4203861f
Documentation: Perform automated correction of common typos.
...
llvm-svn: 83849
2009-10-12 14:46:08 +00:00
Torok Edwin
7630f105a1
Fix typo, patch from Timo Juhani Lindfors.
...
llvm-svn: 83848
2009-10-12 13:37:29 +00:00
Benjamin Kramer
258c7fa33a
Eliminate some redundant llvm-as calls.
...
llvm-svn: 83837
2009-10-12 09:31:55 +00:00
Edward O'Callaghan
1c591f74c7
Missing CHECK: lines makes test exit abnormally.
...
llvm-svn: 83835
2009-10-12 09:01:26 +00:00
Edward O'Callaghan
8720e8c8f3
FileCheck not CheckFile, oops.
...
llvm-svn: 83834
2009-10-12 08:51:28 +00:00
Edward O'Callaghan
6d01608662
Convert InstCombine/call.ll to CheckFile.
...
llvm-svn: 83833
2009-10-12 08:46:47 +00:00
Edward O'Callaghan
cbf75a5dc3
Convert the rest of the InstCombine tests from notcast to FileCheck.
...
llvm-svn: 83828
2009-10-12 07:18:14 +00:00
Nick Lewycky
31a57ea0dd
Remove this part of the test, it never actually tested anything anyways. This
...
unbreaks make check after evocallaghan's changes.
llvm-svn: 83827
2009-10-12 06:32:42 +00:00
Edward O'Callaghan
940da903e2
Fix syntax error missed in converting zext.ll test. Convert 2003-11-13-ConstExprCastCall.ll to FileCheck from notcast.
...
llvm-svn: 83826
2009-10-12 06:23:56 +00:00
Edward O'Callaghan
484b6c2cfc
Convert InstCombine tests from notcast to FileCheck.
...
llvm-svn: 83825
2009-10-12 06:14:06 +00:00
Nate Begeman
a3ed9edd40
More heuristics for Combiner-AA. Still catches all important cases, but
...
compile time penalty on gnugo, the worst case in MultiSource, is down to
about 2.5% from 30%
llvm-svn: 83824
2009-10-12 05:53:58 +00:00
Edward O'Callaghan
8227b0512f
Haiku porting patches, Credit to Paul Davey.
...
llvm-svn: 83823
2009-10-12 04:57:20 +00:00
Chris Lattner
0840c823e4
Fix PR5087, patch by Jakub Staszak!
...
llvm-svn: 83822
2009-10-12 04:22:44 +00:00
Chris Lattner
40cf28d6eb
add some more hooks to the C bindings, patch by Kenneth Uildriks!
...
llvm-svn: 83821
2009-10-12 04:01:02 +00:00
Douglas Gregor
3a66952bea
Make ParallelJIT pthreads linking with CMake slightly less broken
...
llvm-svn: 83820
2009-10-12 04:00:13 +00:00
Edward O'Callaghan
396ed2bcaa
Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.
...
llvm-svn: 83819
2009-10-12 04:00:11 +00:00
Chris Lattner
8abd572dae
populate instcombine's initial worklist more carefully, causing
...
it to visit instructions from the start of the function to the
end of the function in the first path. This greatly speeds up
some pathological cases (e.g. PR5150).
Try #3 , this time with some unneeded debug info stuff removed
which was causing dead pointers to be added to the worklist.
llvm-svn: 83818
2009-10-12 03:58:40 +00:00
Chris Lattner
8ce6b36c86
revert r83814 for now, it is making the llvm-gcc bootstrap unhappy.
...
llvm-svn: 83817
2009-10-11 23:56:08 +00:00
Chris Lattner
2caacfa7e1
pic16 uses 16 bit pointers, but is 8 bit.
...
llvm-svn: 83815
2009-10-11 23:19:44 +00:00
Chris Lattner
78d6310429
populate instcombine's initial worklist more carefully, causing
...
it to visit instructions from the start of the function to the
end of the function in the first path. This greatly speeds up
some pathological cases (e.g. PR5150).
llvm-svn: 83814
2009-10-11 23:17:43 +00:00
Nick Lewycky
f8dd676a50
Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!
...
llvm-svn: 83813
2009-10-11 23:10:09 +00:00
Anton Korobeynikov
4b38ce9f25
Add missed mem-mem move patterns
...
llvm-svn: 83812
2009-10-11 23:03:53 +00:00
Anton Korobeynikov
415c3dc501
Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements
...
llvm-svn: 83811
2009-10-11 23:03:28 +00:00
Chris Lattner
2c2deae5ac
remove some harmful code that would turn an insertelement on an undef
...
into a shuffle even if it was used by another insertelement. If the
visitation order of instcombine was wrong, this would turn a chain of
insertelements into a chain of shufflevectors, which was quite painful.
Since CollectShuffleElements handles these cases, the code can just
be nuked.
llvm-svn: 83810
2009-10-11 23:02:46 +00:00
Anton Korobeynikov
da0508fe15
Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements
...
llvm-svn: 83809
2009-10-11 23:02:38 +00:00
Chris Lattner
06462efb47
reduce vec_shuffle2 and merge into vec_shuffle.
...
llvm-svn: 83807
2009-10-11 22:54:48 +00:00
Chris Lattner
6373045e7d
filecheckize vec_shuffle.ll and merge shuffle.ll into it.
...
llvm-svn: 83806
2009-10-11 22:52:15 +00:00
Chris Lattner
79a2f91f65
filecheckize
...
llvm-svn: 83805
2009-10-11 22:45:17 +00:00
Chris Lattner
8308fd9aab
rename test
...
llvm-svn: 83804
2009-10-11 22:44:16 +00:00
Chris Lattner
e660ee0a3b
remove old testcase
...
llvm-svn: 83803
2009-10-11 22:42:06 +00:00
Chris Lattner
1fe15dbbbb
merge test into shift.ll, this also eliminates awful grepping on -stats output
...
llvm-svn: 83802
2009-10-11 22:39:58 +00:00
Chris Lattner
d7969a2796
convert to filecheck.
...
llvm-svn: 83801
2009-10-11 22:36:59 +00:00
Chris Lattner
c6cdbfbfdd
teach instcombine to simplify xor's harder, catching the
...
new testcase.
llvm-svn: 83799
2009-10-11 22:22:13 +00:00
Chris Lattner
6e6ac47125
cleanups
...
llvm-svn: 83797
2009-10-11 22:00:32 +00:00
Chris Lattner
7db5b7893d
convert xor2 to filecheck, merge in a random regtest
...
llvm-svn: 83796
2009-10-11 21:42:08 +00:00
Chris Lattner
1639234775
cleanup, no functionality change.
...
llvm-svn: 83795
2009-10-11 21:36:10 +00:00
Chris Lattner
fd27f8a5b3
generalize a transformation even more: we don't care whether the
...
input the the mul is a zext from bool, just that it is all zeros
other than the low bit. This fixes some phase ordering issues
that would cause us to miss some xforms in mul.ll when the worklist
is visited differently.
llvm-svn: 83794
2009-10-11 21:29:45 +00:00
Chris Lattner
406cb75c6b
simplify a transformation by making it more general.
...
llvm-svn: 83792
2009-10-11 21:22:21 +00:00
Chris Lattner
f39f4f928a
temporarily revert previous patch
...
llvm-svn: 83791
2009-10-11 21:05:34 +00:00
Chris Lattner
bb058d3a23
populate instcombine's initial worklist more carefully, causing
...
it to visit instructions from the start of the function to the
end of the function in the first path. This greatly speeds up
some pathological cases (e.g. PR5150).
llvm-svn: 83790
2009-10-11 21:04:37 +00:00
Torok Edwin
8b3081350e
Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it
...
here.
llvm-svn: 83789
2009-10-11 19:58:35 +00:00
Duncan Sands
5f6aa105f5
More DragonEgg verbiage.
...
llvm-svn: 83788
2009-10-11 19:40:38 +00:00
Duncan Sands
dcea7e921b
Remove spurious brackets.
...
llvm-svn: 83787
2009-10-11 19:30:56 +00:00
Torok Edwin
907ec36943
LICM shouldn't sink/delete debug information. Fix this and add a testcase.
...
For now the metadata of sinked/hoisted instructions is still wrong, but that'll
be fixed when instructions will have debug metadata directly attached.
llvm-svn: 83786
2009-10-11 19:15:54 +00:00
Anton Korobeynikov
6bce6bbf40
Implement 'm' memory operand properly
...
llvm-svn: 83785
2009-10-11 19:14:21 +00:00
Anton Korobeynikov
a58a3f930a
Implement proper asmprinting for the globals. This eliminates bogus "call" modifier and also adds support for offsets wrt globals.
...
llvm-svn: 83784
2009-10-11 19:14:02 +00:00
Anton Korobeynikov
3525a4a268
Implement asm printing for inline asm memory operands
...
llvm-svn: 83783
2009-10-11 19:13:34 +00:00
Chris Lattner
c04812c035
add PR5004 as a known problem.
...
llvm-svn: 83782
2009-10-11 19:07:23 +00:00
Chris Lattner
70fdca4b7f
duncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet.
...
llvm-svn: 83781
2009-10-11 19:02:54 +00:00
Nick Lewycky
c7cf0b223b
Fix typo.
...
llvm-svn: 83780
2009-10-11 18:53:09 +00:00
Nick Lewycky
5246987a76
Fix typo.
...
llvm-svn: 83779
2009-10-11 18:47:33 +00:00
Chris Lattner
85c85c5e04
when folding duplicate conditions, delete the
...
now-probably-dead instruction tree feeding it.
llvm-svn: 83778
2009-10-11 18:39:58 +00:00
Chris Lattner
94ac58d99a
some notes from Anton
...
llvm-svn: 83777
2009-10-11 18:21:32 +00:00
Gabor Greif
ccdf5fdfc1
catch some other serial commas that my earlier grep did not spot
...
llvm-svn: 83772
2009-10-11 11:44:34 +00:00
Gabor Greif
c51ca75468
eliminate some instances of serial comma. sabre, if you feel strong about this, feel free to revert this rev
...
llvm-svn: 83771
2009-10-11 11:23:40 +00:00
Duncan Sands
bc3f7c9229
Fix typo.
...
llvm-svn: 83770
2009-10-11 11:20:26 +00:00
Gabor Greif
39635acfc1
apply some tweaks
...
llvm-svn: 83769
2009-10-11 10:44:44 +00:00
Gabor Greif
e9fc6c982e
fix some obvious typos
...
llvm-svn: 83768
2009-10-11 10:27:57 +00:00
Duncan Sands
2dccb8571e
Add an outline of the DragonEgg gcc plugin.
...
llvm-svn: 83765
2009-10-11 09:07:15 +00:00
Chris Lattner
e374382b8f
implement rdar://7293527, a trivial instcombine that llvm-gcc
...
gets but clang doesn't, because it is implemented in GCC's
fold routine.
llvm-svn: 83761
2009-10-11 07:53:15 +00:00
Chris Lattner
d1d23e1949
add a helper for matching "1".
...
llvm-svn: 83760
2009-10-11 07:51:25 +00:00
Chris Lattner
97b1405207
implement a transformation in jump threading that is currently
...
done by condprop, but do it in a much more general form. The
basic idea is that we can do a limited form of tail duplication
in the case when we have a branch on a phi. Moving the branch
up in to the predecessor block makes instruction selection
much easier and encourages chained jump threadings.
llvm-svn: 83759
2009-10-11 07:24:57 +00:00
Chris Lattner
4140d8bd5c
another testcase jump threading shouldn't crash on.
...
llvm-svn: 83758
2009-10-11 07:11:11 +00:00
Chris Lattner
ece16f2335
rename a file, remove a poorly reduced testcase.
...
llvm-svn: 83757
2009-10-11 07:10:28 +00:00
Chris Lattner
6ce85e85f5
restructure some code, no functionality change.
...
llvm-svn: 83756
2009-10-11 04:40:21 +00:00
Chris Lattner
f466bc84c9
factor some code better and move a function, no functionality change.
...
llvm-svn: 83755
2009-10-11 04:33:43 +00:00
Chris Lattner
f99a74e24b
make jump threading on a phi with undef inputs happen.
...
llvm-svn: 83754
2009-10-11 04:18:15 +00:00
Chris Lattner
09677258e5
there is no need to run mem2reg after jump threading at LTO time now.
...
llvm-svn: 83753
2009-10-11 04:17:33 +00:00
Chris Lattner
bb094e12f2
fix a bunch of bad formatting, delete the dead
...
ConstantInt::TheTrueVal/TheFalseVal members.
llvm-svn: 83752
2009-10-11 04:03:22 +00:00
Chris Lattner
8d186bfafb
merge two tests.
...
llvm-svn: 83751
2009-10-11 03:55:30 +00:00
Chris Lattner
041c1dca8b
simplify some run lines, convert a test to filecheck.
...
llvm-svn: 83750
2009-10-11 03:54:21 +00:00
Ted Kremenek
e959a1cd0e
Update release notes blurb on the static analyzer.
...
llvm-svn: 83749
2009-10-11 03:10:25 +00:00
Chris Lattner
71d353dd48
rewrite LCSSA to use SSAUpdate, to only return true if it modifies
...
the IR, and to implement the FIXME'd optimization.
llvm-svn: 83748
2009-10-11 02:53:37 +00:00
Chris Lattner
101dde30ed
clean up and simplify some code. Don't use setvector when things will be
...
inserted only once, just use vector. Don't compute ExitBlocks unless we
need it, change std::sort to array_pod_sort.
llvm-svn: 83747
2009-10-11 01:07:15 +00:00
Chris Lattner
b6c65faa64
switch GVN to use SSAUpdater. Besides removing a lot of complexity
...
from GVN, this also speeds it up, inserts fewer PHI nodes (see the
testcase) and allows it to remove more loads (due to fewer PHI nodes
standing in the way).
llvm-svn: 83746
2009-10-10 23:50:30 +00:00
Chris Lattner
9c382cebc5
add a simple helper method.
...
llvm-svn: 83745
2009-10-10 23:41:48 +00:00
Chris Lattner
249265de06
add ability for clients of SSAUpdater to find out about the
...
PHI nodes inserted.
llvm-svn: 83744
2009-10-10 23:15:24 +00:00
Chris Lattner
472330d5d2
clarify
...
llvm-svn: 83743
2009-10-10 23:05:42 +00:00