Chris Lattner
15ee5dc6bd
remove an unneeded #include.
...
llvm-svn: 85248
2009-10-27 16:49:53 +00:00
Edward O'Callaghan
142c2fc0ae
Convert Analysis tests to FileCheck in regards to PR5307.
...
llvm-svn: 85241
2009-10-27 14:54:46 +00:00
Rafael Espindola
7eb2a8fb0b
Correctly align double arguments in the stack.
...
llvm-svn: 85235
2009-10-27 14:09:44 +00:00
Mikhail Glushenkov
a97449946b
80-col violation.
...
llvm-svn: 85215
2009-10-27 09:02:49 +00:00
Bob Wilson
aadcaed95f
Fix Thumb2 failures by converting them to FileCheck.
...
llvm-svn: 85210
2009-10-27 06:31:02 +00:00
Bob Wilson
cc098c98de
Fix the rest of the ARM failures by converting them to FileCheck.
...
llvm-svn: 85208
2009-10-27 06:16:45 +00:00
Bob Wilson
5753a34ebb
Fix some more failures by converting to FileCheck.
...
llvm-svn: 85207
2009-10-27 05:50:28 +00:00
Chris Lattner
aecb9a4040
Fix a pretty serious misfeature of the inliner: if it inlines a function
...
with multiple return values it inserts a PHI to merge them all together.
However, if the return values are all the same, it ends up with a pointless
PHI and this pointless PHI happens to really block SRoA from happening in
at least a silly C++ example written by Doug, but probably others. This
fixes rdar://7339069.
llvm-svn: 85206
2009-10-27 05:39:41 +00:00
Chris Lattner
4648c60623
convert to filecheck.
...
llvm-svn: 85205
2009-10-27 05:35:35 +00:00
Bob Wilson
37191c825b
Convert to FileCheck, fixing failure due to tab change in the process.
...
llvm-svn: 85204
2009-10-27 05:30:47 +00:00
Chris Lattner
71d02f1af8
lang points out that the comment is out of date with the code.
...
llvm-svn: 85203
2009-10-27 04:58:10 +00:00
Mike Stump
a91d3ec5e9
Fix VS build, patch by Marius Wachtler.
...
llvm-svn: 85198
2009-10-27 02:17:51 +00:00
Mike Stump
5b347d4e9d
VS build fix, patch by Marius Wachtler.
...
llvm-svn: 85197
2009-10-27 02:14:13 +00:00
Jeffrey Yasskin
1f331552d6
Fix OProfileJITEventListener after r85182.
...
llvm-svn: 85192
2009-10-27 01:06:51 +00:00
Eric Christopher
89c2f934d6
Add objectsize intrinsic and hook it up through codegen. Doesn't
...
do anything than return "I don't know" at the moment.
llvm-svn: 85189
2009-10-27 00:52:25 +00:00
Evan Cheng
032eef9720
Now VFP instructions.
...
llvm-svn: 85186
2009-10-27 00:20:49 +00:00
Dan Gohman
44189252b9
Add braces to avoid ambiguous else.
...
llvm-svn: 85185
2009-10-27 00:11:02 +00:00
Evan Cheng
f30e5556ba
Change Thumb1 and Thumb2 instructions to separate opcode from operands with a tab instead of a space.
...
llvm-svn: 85184
2009-10-27 00:08:59 +00:00
Jeffrey Yasskin
42aa2a2692
Automatically do the equivalent of freeMachineCodeForFunction(F) when F is
...
being destroyed. This allows users to run global optimizations like globaldce
even after some functions have been jitted.
This patch also removes the Function* parameter to
JITEventListener::NotifyFreeingMachineCode() since it can cause that to be
called when the Function is partially destroyed. This change will be even more
helpful later when I think we'll want to allow machine code to actually outlive
its Function.
llvm-svn: 85182
2009-10-27 00:03:05 +00:00
Victor Hernandez
6c86b93663
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()
...
llvm-svn: 85181
2009-10-26 23:58:56 +00:00
Owen Anderson
646c3e1e3d
Forgot to commit these.
...
llvm-svn: 85180
2009-10-26 23:56:52 +00:00
Owen Anderson
a8d6745830
Add a straight-forward implementation of SCCVN for aggressively eliminating scalar redundancies.
...
llvm-svn: 85179
2009-10-26 23:55:47 +00:00
Evan Cheng
a883c2ebb7
Change ARM asm strings to separate opcode from operands with a tab instead of a space.
...
llvm-svn: 85178
2009-10-26 23:45:59 +00:00
Victor Hernandez
d6e238c611
Remove all references to MallocInst and FreeInst
...
llvm-svn: 85177
2009-10-26 23:44:29 +00:00
Victor Hernandez
673c036bc7
Remove FreeInst.
...
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176
2009-10-26 23:43:48 +00:00
Bob Wilson
5a870f848e
Try to get ahead of Johnny Chen and pro-actively add some more ARM encoding
...
bits. Johnny, please review -- I do not have a good track record of getting
these right.
llvm-svn: 85173
2009-10-26 22:59:12 +00:00
Edward O'Callaghan
e9e8913261
Convert a few tests to FileCheck for PR5307.
...
llvm-svn: 85171
2009-10-26 22:52:03 +00:00
Bob Wilson
ace97183c7
Fix ARM encoding typo: Opcod3 is not passed to ASuI parent class.
...
Patch by Johnny Chen.
llvm-svn: 85169
2009-10-26 22:42:13 +00:00
Bob Wilson
32ee4ee163
Add more ARM instruction encodings for 's' bit set and "rs" register encoding
...
bits. Patch by Johnny Chen.
llvm-svn: 85167
2009-10-26 22:34:44 +00:00
David Goodwin
0b5b62bfcf
Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken.
...
llvm-svn: 85166
2009-10-26 22:31:16 +00:00
Dan Gohman
3f14cd3282
Simplify this code. LoopDeletion doesn't need to explicit check that
...
the loop exiting block dominates the latch block; if ScalarEvolution
can prove that the trip-count is finite, that's sufficient.
llvm-svn: 85165
2009-10-26 22:18:58 +00:00
Dan Gohman
795e3db7ce
Code that checks WillNotOverflowSignedAdd before creating an Add
...
can safely use the NSW bit on the Add.
llvm-svn: 85164
2009-10-26 22:14:22 +00:00
Ted Kremenek
acb9fe806e
Update CMake files.
...
llvm-svn: 85161
2009-10-26 22:06:01 +00:00
Dan Gohman
c8468855a7
Teach BasicAA how to analyze Select instructions, and make it more
...
aggressive on PHI instructions.
llvm-svn: 85158
2009-10-26 21:55:43 +00:00
Julien Lerouge
d2861eb219
Remove / use flags that are now set in the Makefile.config.
...
llvm-svn: 85149
2009-10-26 20:01:35 +00:00
Julien Lerouge
a282c958d0
Regenerate.
...
llvm-svn: 85148
2009-10-26 20:00:35 +00:00
Julien Lerouge
b36e2ea7e1
Add an autoconf test to check for optional compiler flags like
...
-Wno-missing-field-initializers or -Wno-variadic-macros.
llvm-svn: 85147
2009-10-26 19:58:44 +00:00
David Goodwin
35fab8a585
Define virtual destructor in *.cpp file.
...
llvm-svn: 85146
2009-10-26 19:41:00 +00:00
David Goodwin
62dc7a4d93
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.
...
llvm-svn: 85145
2009-10-26 19:32:42 +00:00
Dan Gohman
05a91cc09f
Check in the experimental GEP splitter pass. This pass splits complex
...
GEPs (more than one non-zero index) into simple GEPs (at most one
non-zero index). In some simple experiments using this it's not
uncommon to see 3% overall code size wins, because it exposes
redundancies that can be eliminated, however it's tricky to use
because instcombine aggressively undoes the work that this pass does.
llvm-svn: 85144
2009-10-26 19:12:14 +00:00
David Goodwin
225165aae1
Add virtual destructor.
...
llvm-svn: 85141
2009-10-26 19:00:47 +00:00
Anton Korobeynikov
4f40949874
Revert r85134, it breaks mingw build
...
llvm-svn: 85138
2009-10-26 18:40:24 +00:00
Dan Gohman
7c0dc4ab00
Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder
...
for consistency with ConstantFolder.
llvm-svn: 85137
2009-10-26 18:36:40 +00:00
Dan Gohman
97690f7a2a
When checking whether a def of an aliased register is dead, ask the
...
machineinstr whether the aliased register is dead, rather than the original
register is dead. This allows it to get the correct answer when examining
an instruction like this:
CALLpcrel32 <ga:foo>, %AL<imp-def>, %EAX<imp-def,dead>
where EAX is dead but a subregister of it is still live. This fixes PR5294.
llvm-svn: 85135
2009-10-26 18:26:18 +00:00
Sanjiv Gupta
7ea628e8db
Make PIC16 overlay a loadable pass.
...
llvm-svn: 85134
2009-10-26 18:22:59 +00:00
Devang Patel
9027c8f10f
Do not use expensive sort().
...
llvm-svn: 85130
2009-10-26 17:09:00 +00:00
David Goodwin
f6199e95b0
Break anti-dependence breaking out into its own class.
...
llvm-svn: 85127
2009-10-26 16:59:04 +00:00
Devang Patel
9eb437047b
Add support to encode type info using llvm::Constant.
...
Patch by Talin!
llvm-svn: 85126
2009-10-26 16:54:35 +00:00
Dan Gohman
7e7f34ab55
Fix a typo in a comment.
...
llvm-svn: 85120
2009-10-26 15:55:24 +00:00
Chris Lattner
7f9ddaf7e3
reapply r85085 with a bugfix to avoid infinite looping.
...
All of the 'demorgan' related xforms need to use
dyn_castNotVal, not m_Not.
llvm-svn: 85119
2009-10-26 15:40:07 +00:00