oota-llvm.git
15 years agoExplicitly specify 0b00, i.e, zero rotation, as the rotate filed (Inst{11-10})
Johnny Chen [Tue, 27 Oct 2009 18:44:24 +0000 (18:44 +0000)]
Explicitly specify 0b00, i.e, zero rotation, as the rotate filed (Inst{11-10})
for the r/rr fragment of the multiclass AI_unary_rrot/AI_bin_rrot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85271 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd missing testcase.
Rafael Espindola [Tue, 27 Oct 2009 17:59:03 +0000 (17:59 +0000)]
Add missing testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85266 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agochange of mind :)
Chris Lattner [Tue, 27 Oct 2009 17:40:49 +0000 (17:40 +0000)]
change of mind :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85258 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove unnecessary gotos to fall-thru successors.
Sanjiv Gupta [Tue, 27 Oct 2009 17:40:24 +0000 (17:40 +0000)]
Remove unnecessary gotos to fall-thru successors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85257 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename test.
Chris Lattner [Tue, 27 Oct 2009 17:40:19 +0000 (17:40 +0000)]
rename test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85256 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest commit. Added '.' to the comment line.
Johnny Chen [Tue, 27 Oct 2009 17:25:15 +0000 (17:25 +0000)]
Test commit.  Added '.' to the comment line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85255 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoType.h doesn't need to #include LLVMContext.h
Chris Lattner [Tue, 27 Oct 2009 17:08:31 +0000 (17:08 +0000)]
Type.h doesn't need to #include LLVMContext.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopseudosourcevalue is also still using getGlobalContext(), so it isn't
Chris Lattner [Tue, 27 Oct 2009 17:02:08 +0000 (17:02 +0000)]
pseudosourcevalue is also still using getGlobalContext(), so it isn't
thread safe either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85253 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoapparently the X86 JIT isn't fully contextized, it is still using getGlobalContext...
Chris Lattner [Tue, 27 Oct 2009 17:01:03 +0000 (17:01 +0000)]
apparently the X86 JIT isn't fully contextized, it is still using getGlobalContext() :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85252 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix reversed logic spotted by Owen Anderson.
Nick Lewycky [Tue, 27 Oct 2009 16:56:58 +0000 (16:56 +0000)]
Fix reversed logic spotted by Owen Anderson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85251 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agotrim another #include
Chris Lattner [Tue, 27 Oct 2009 16:53:54 +0000 (16:53 +0000)]
trim another #include

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85250 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove an unneeded #include.
Chris Lattner [Tue, 27 Oct 2009 16:49:53 +0000 (16:49 +0000)]
remove an unneeded #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85248 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert Analysis tests to FileCheck in regards to PR5307.
Edward O'Callaghan [Tue, 27 Oct 2009 14:54:46 +0000 (14:54 +0000)]
Convert Analysis tests to FileCheck in regards to PR5307.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85241 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCorrectly align double arguments in the stack.
Rafael Espindola [Tue, 27 Oct 2009 14:09:44 +0000 (14:09 +0000)]
Correctly align double arguments in the stack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85235 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago80-col violation.
Mikhail Glushenkov [Tue, 27 Oct 2009 09:02:49 +0000 (09:02 +0000)]
80-col violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85215 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix Thumb2 failures by converting them to FileCheck.
Bob Wilson [Tue, 27 Oct 2009 06:31:02 +0000 (06:31 +0000)]
Fix Thumb2 failures by converting them to FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85210 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the rest of the ARM failures by converting them to FileCheck.
Bob Wilson [Tue, 27 Oct 2009 06:16:45 +0000 (06:16 +0000)]
Fix the rest of the ARM failures by converting them to FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85208 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix some more failures by converting to FileCheck.
Bob Wilson [Tue, 27 Oct 2009 05:50:28 +0000 (05:50 +0000)]
Fix some more failures by converting to FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85207 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a pretty serious misfeature of the inliner: if it inlines a function
Chris Lattner [Tue, 27 Oct 2009 05:39:41 +0000 (05:39 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85206 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoconvert to filecheck.
Chris Lattner [Tue, 27 Oct 2009 05:35:35 +0000 (05:35 +0000)]
convert to filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85205 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert to FileCheck, fixing failure due to tab change in the process.
Bob Wilson [Tue, 27 Oct 2009 05:30:47 +0000 (05:30 +0000)]
Convert to FileCheck, fixing failure due to tab change in the process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85204 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agolang points out that the comment is out of date with the code.
Chris Lattner [Tue, 27 Oct 2009 04:58:10 +0000 (04:58 +0000)]
lang points out that the comment is out of date with the code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85203 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix VS build, patch by Marius Wachtler.
Mike Stump [Tue, 27 Oct 2009 02:17:51 +0000 (02:17 +0000)]
Fix VS build, patch by Marius Wachtler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85198 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoVS build fix, patch by Marius Wachtler.
Mike Stump [Tue, 27 Oct 2009 02:14:13 +0000 (02:14 +0000)]
VS build fix, patch by Marius Wachtler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85197 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix OProfileJITEventListener after r85182.
Jeffrey Yasskin [Tue, 27 Oct 2009 01:06:51 +0000 (01:06 +0000)]
Fix OProfileJITEventListener after r85182.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85192 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd objectsize intrinsic and hook it up through codegen. Doesn't
Eric Christopher [Tue, 27 Oct 2009 00:52:25 +0000 (00:52 +0000)]
Add objectsize intrinsic and hook it up through codegen. Doesn't
do anything than return "I don't know" at the moment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85189 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNow VFP instructions.
Evan Cheng [Tue, 27 Oct 2009 00:20:49 +0000 (00:20 +0000)]
Now VFP instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85186 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd braces to avoid ambiguous else.
Dan Gohman [Tue, 27 Oct 2009 00:11:02 +0000 (00:11 +0000)]
Add braces to avoid ambiguous else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85185 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange Thumb1 and Thumb2 instructions to separate opcode from operands with a tab...
Evan Cheng [Tue, 27 Oct 2009 00:08:59 +0000 (00:08 +0000)]
Change Thumb1 and Thumb2 instructions to separate opcode from operands with a tab instead of a space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85184 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAutomatically do the equivalent of freeMachineCodeForFunction(F) when F is
Jeffrey Yasskin [Tue, 27 Oct 2009 00:03:05 +0000 (00:03 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85182 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()
Victor Hernandez [Mon, 26 Oct 2009 23:58:56 +0000 (23:58 +0000)]
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForgot to commit these.
Owen Anderson [Mon, 26 Oct 2009 23:56:52 +0000 (23:56 +0000)]
Forgot to commit these.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85180 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a straight-forward implementation of SCCVN for aggressively eliminating scalar...
Owen Anderson [Mon, 26 Oct 2009 23:55:47 +0000 (23:55 +0000)]
Add a straight-forward implementation of SCCVN for aggressively eliminating scalar redundancies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85179 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange ARM asm strings to separate opcode from operands with a tab instead of a space.
Evan Cheng [Mon, 26 Oct 2009 23:45:59 +0000 (23:45 +0000)]
Change ARM asm strings to separate opcode from operands with a tab instead of a space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85178 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove all references to MallocInst and FreeInst
Victor Hernandez [Mon, 26 Oct 2009 23:44:29 +0000 (23:44 +0000)]
Remove all references to MallocInst and FreeInst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85177 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove FreeInst.
Victor Hernandez [Mon, 26 Oct 2009 23:43:48 +0000 (23:43 +0000)]
Remove FreeInst.
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTry to get ahead of Johnny Chen and pro-actively add some more ARM encoding
Bob Wilson [Mon, 26 Oct 2009 22:59:12 +0000 (22:59 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85173 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert a few tests to FileCheck for PR5307.
Edward O'Callaghan [Mon, 26 Oct 2009 22:52:03 +0000 (22:52 +0000)]
Convert a few tests to FileCheck for PR5307.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85171 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix ARM encoding typo: Opcod3 is not passed to ASuI parent class.
Bob Wilson [Mon, 26 Oct 2009 22:42:13 +0000 (22:42 +0000)]
Fix ARM encoding typo: Opcod3 is not passed to ASuI parent class.
Patch by Johnny Chen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85169 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd more ARM instruction encodings for 's' bit set and "rs" register encoding
Bob Wilson [Mon, 26 Oct 2009 22:34:44 +0000 (22:34 +0000)]
Add more ARM instruction encodings for 's' bit set and "rs" register encoding
bits.  Patch by Johnny Chen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85167 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow the aggressive anti-dep breaker to process the same region multiple times....
David Goodwin [Mon, 26 Oct 2009 22:31:16 +0000 (22:31 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSimplify this code. LoopDeletion doesn't need to explicit check that
Dan Gohman [Mon, 26 Oct 2009 22:18:58 +0000 (22:18 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85165 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCode that checks WillNotOverflowSignedAdd before creating an Add
Dan Gohman [Mon, 26 Oct 2009 22:14:22 +0000 (22:14 +0000)]
Code that checks WillNotOverflowSignedAdd before creating an Add
can safely use the NSW bit on the Add.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85164 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate CMake files.
Ted Kremenek [Mon, 26 Oct 2009 22:06:01 +0000 (22:06 +0000)]
Update CMake files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85161 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTeach BasicAA how to analyze Select instructions, and make it more
Dan Gohman [Mon, 26 Oct 2009 21:55:43 +0000 (21:55 +0000)]
Teach BasicAA how to analyze Select instructions, and make it more
aggressive on PHI instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove / use flags that are now set in the Makefile.config.
Julien Lerouge [Mon, 26 Oct 2009 20:01:35 +0000 (20:01 +0000)]
Remove / use flags that are now set in the Makefile.config.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85149 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegenerate.
Julien Lerouge [Mon, 26 Oct 2009 20:00:35 +0000 (20:00 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85148 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd an autoconf test to check for optional compiler flags like
Julien Lerouge [Mon, 26 Oct 2009 19:58:44 +0000 (19:58 +0000)]
Add an autoconf test to check for optional compiler flags like
-Wno-missing-field-initializers or -Wno-variadic-macros.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85147 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDefine virtual destructor in *.cpp file.
David Goodwin [Mon, 26 Oct 2009 19:41:00 +0000 (19:41 +0000)]
Define virtual destructor in *.cpp file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85146 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd aggressive anti-dependence breaker. Currently it is not the default for any targe...
David Goodwin [Mon, 26 Oct 2009 19:32:42 +0000 (19:32 +0000)]
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCheck in the experimental GEP splitter pass. This pass splits complex
Dan Gohman [Mon, 26 Oct 2009 19:12:14 +0000 (19:12 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd virtual destructor.
David Goodwin [Mon, 26 Oct 2009 19:00:47 +0000 (19:00 +0000)]
Add virtual destructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85141 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r85134, it breaks mingw build
Anton Korobeynikov [Mon, 26 Oct 2009 18:40:24 +0000 (18:40 +0000)]
Revert r85134, it breaks mingw build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85138 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder
Dan Gohman [Mon, 26 Oct 2009 18:36:40 +0000 (18:36 +0000)]
Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder
for consistency with ConstantFolder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85137 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen checking whether a def of an aliased register is dead, ask the
Dan Gohman [Mon, 26 Oct 2009 18:26:18 +0000 (18:26 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85135 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake PIC16 overlay a loadable pass.
Sanjiv Gupta [Mon, 26 Oct 2009 18:22:59 +0000 (18:22 +0000)]
Make PIC16 overlay a loadable pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85134 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not use expensive sort().
Devang Patel [Mon, 26 Oct 2009 17:09:00 +0000 (17:09 +0000)]
Do not use expensive sort().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85130 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome svn:ignore tweaks.
Benjamin Kramer [Mon, 26 Oct 2009 17:01:20 +0000 (17:01 +0000)]
Some svn:ignore tweaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85128 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBreak anti-dependence breaking out into its own class.
David Goodwin [Mon, 26 Oct 2009 16:59:04 +0000 (16:59 +0000)]
Break anti-dependence breaking out into its own class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85127 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support to encode type info using llvm::Constant.
Devang Patel [Mon, 26 Oct 2009 16:54:35 +0000 (16:54 +0000)]
Add support to encode type info using llvm::Constant.
Patch by Talin!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a typo in a comment.
Dan Gohman [Mon, 26 Oct 2009 15:55:24 +0000 (15:55 +0000)]
Fix a typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85120 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoreapply r85085 with a bugfix to avoid infinite looping.
Chris Lattner [Mon, 26 Oct 2009 15:40:07 +0000 (15:40 +0000)]
reapply r85085 with a bugfix to avoid infinite looping.
All of the 'demorgan' related xforms need to use
dyn_castNotVal, not m_Not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85119 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake LSR's OptimizeShadowIV ignore induction variables with negative
Dan Gohman [Mon, 26 Oct 2009 15:32:57 +0000 (15:32 +0000)]
Make LSR's OptimizeShadowIV ignore induction variables with negative
strides for now, because it doesn't handle them correctly. This fixes a
miscompile of SingleSource/Benchmarks/Misc-C++/ray.

This problem was usually hidden because indvars transforms such induction
variables into negations of canonical induction variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85118 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests and
Evan Cheng [Mon, 26 Oct 2009 04:56:07 +0000 (04:56 +0000)]
- Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests and
  bootstrapping. It's not safe to leave identity subreg_to_reg and insert_subreg
  around.
- Relax register scavenging to allow use of partially "not-live" registers. It's
  common for targets to operate on registers where the top bits are undef. e.g.
  s0 =
  d0 = insert_subreg d0<undef>, s0, 1
  ...
     = d0
  When the insert_subreg is eliminated by the coalescer, the scavenger used to
  complain. The previous fix was to keep to insert_subreg around. But that's
  brittle and it's overly conservative when we want to use the scavenger to
  allocate registers. It's actually legal and desirable for other instructions
  to use the "undef" part of d0. e.g.
  s0 =
  d0 = insert_subreg d0<undef>, s0, 1
  ...
  s1 =
     = s1
     = d0
  We probably need add a "partial-undef" marker on machine operand so the
  machine verifier would not complain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85091 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert 85085. It causes infinite looping during llvm-gcc build.
Evan Cheng [Mon, 26 Oct 2009 03:51:32 +0000 (03:51 +0000)]
Revert 85085. It causes infinite looping during llvm-gcc build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85090 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix gmake check for AuroraUX triple.
Edward O'Callaghan [Mon, 26 Oct 2009 02:37:56 +0000 (02:37 +0000)]
Fix gmake check for AuroraUX triple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85088 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove DataTypes.h to include/llvm/System, update all users. This breaks the last
Chandler Carruth [Mon, 26 Oct 2009 01:35:46 +0000 (01:35 +0000)]
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement PR3266 & PR5276, folding:
Chris Lattner [Mon, 26 Oct 2009 01:06:31 +0000 (01:06 +0000)]
Implement PR3266 & PR5276, folding:
   not (or (icmp, icmp)) -> and(icmp, icmp)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85085 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate the 'svn:ignore' property to remove stale file references.
Chandler Carruth [Sun, 25 Oct 2009 23:54:41 +0000 (23:54 +0000)]
Update the 'svn:ignore' property to remove stale file references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85084 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoconvert or.ll to filecheck and merge or2 into it.
Chris Lattner [Sun, 25 Oct 2009 23:47:55 +0000 (23:47 +0000)]
convert or.ll to filecheck and merge or2 into it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85083 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove stale reference to ThreadSupport.h.
Chandler Carruth [Sun, 25 Oct 2009 23:41:56 +0000 (23:41 +0000)]
Remove stale reference to ThreadSupport.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85082 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix PR5295 where the .ll parser didn't reject a function after a global
Chris Lattner [Sun, 25 Oct 2009 23:22:50 +0000 (23:22 +0000)]
fix PR5295 where the .ll parser didn't reject a function after a global
or global after a function with conflicting names.  Update some testcases
that were accidentally depending on this behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85081 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSuppress -Asserts warning.
Daniel Dunbar [Sun, 25 Oct 2009 23:11:06 +0000 (23:11 +0000)]
Suppress -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85078 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix PR5186: the JIT shouldn't try to codegen available_externally
Chris Lattner [Sun, 25 Oct 2009 23:06:42 +0000 (23:06 +0000)]
fix PR5186: the JIT shouldn't try to codegen available_externally
functions it should just look them up like declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85077 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove unused includes.
Chandler Carruth [Sun, 25 Oct 2009 22:38:41 +0000 (22:38 +0000)]
Remove unused includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85074 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoof -> or
Jim Grosbach [Sun, 25 Oct 2009 19:14:48 +0000 (19:14 +0000)]
of -> or

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85065 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago80-column cleanup
Jim Grosbach [Sun, 25 Oct 2009 18:55:46 +0000 (18:55 +0000)]
80-column cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85064 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReapply 85006 with a minor fix.
Sanjiv Gupta [Sun, 25 Oct 2009 08:14:11 +0000 (08:14 +0000)]
Reapply 85006 with a minor fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85052 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a couple of ARM cross-rc coalescing tests.
Evan Cheng [Sun, 25 Oct 2009 08:01:41 +0000 (08:01 +0000)]
Add a couple of ARM cross-rc coalescing tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85051 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate tests.
Evan Cheng [Sun, 25 Oct 2009 07:53:48 +0000 (07:53 +0000)]
Update tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85050 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd ARM getMatchingSuperRegClass to handle S / D / Q cross regclass coalescing.
Evan Cheng [Sun, 25 Oct 2009 07:53:28 +0000 (07:53 +0000)]
Add ARM getMatchingSuperRegClass to handle S / D / Q cross regclass coalescing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85049 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't forget subreg indices when folding load / store.
Evan Cheng [Sun, 25 Oct 2009 07:52:27 +0000 (07:52 +0000)]
Don't forget subreg indices when folding load / store.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85048 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse isIdentityCopy. Fix a bozo bug (flipped condition) in InvalidateRegDef.
Evan Cheng [Sun, 25 Oct 2009 07:51:47 +0000 (07:51 +0000)]
Use isIdentityCopy. Fix a bozo bug (flipped condition) in InvalidateRegDef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85047 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCode clean up.
Evan Cheng [Sun, 25 Oct 2009 07:49:57 +0000 (07:49 +0000)]
Code clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85046 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not delete identity insert_subreg even if dest is virtual. Let later passes delete...
Evan Cheng [Sun, 25 Oct 2009 07:48:51 +0000 (07:48 +0000)]
Do not delete identity insert_subreg even if dest is virtual. Let later passes delete them. This avoids register scavenger complain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85045 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd isIdentityCopy to check for identity copy (or extract_subreg, etc.)
Evan Cheng [Sun, 25 Oct 2009 07:47:07 +0000 (07:47 +0000)]
Add isIdentityCopy to check for identity copy (or extract_subreg, etc.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85044 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove includes of Support/Compiler.h that are no longer needed after the
Nick Lewycky [Sun, 25 Oct 2009 06:57:41 +0000 (06:57 +0000)]
Remove includes of Support/Compiler.h that are no longer needed after the
VISIBILITY_HIDDEN removal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Nick Lewycky [Sun, 25 Oct 2009 06:33:48 +0000 (06:33 +0000)]
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agothis is done.
Chris Lattner [Sun, 25 Oct 2009 06:17:51 +0000 (06:17 +0000)]
this is done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85041 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTeach FoldBitCast to be able to handle bitcasts from (e.g.) i128 -> <4 x float>.
Chris Lattner [Sun, 25 Oct 2009 06:15:37 +0000 (06:15 +0000)]
Teach FoldBitCast to be able to handle bitcasts from (e.g.) i128 -> <4 x float>.

This allows us to simplify this:
union vec2d {
    double e[2];
    double v __attribute__((vector_size(16)));
};
typedef union vec2d vec2d;

static vec2d a={{1,2}}, b={{3,4}};

vec2d foo () {
    return (vec2d){ .v = a.v + b.v * (vec2d){{5,5}}.v };
}

down to:

define %0 @foo() nounwind ssp {
entry:
  %mrv5 = insertvalue %0 undef, double 1.600000e+01, 0 ; <%0> [#uses=1]
  %mrv6 = insertvalue %0 %mrv5, double 2.200000e+01, 1 ; <%0> [#uses=1]
  ret %0 %mrv6
}

instead of:

define %0 @foo() nounwind ssp {
entry:
  %mrv5 = insertvalue %0 undef, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 0), 0 ; <%0> [#uses=1]
  %mrv6 = insertvalue %0 %mrv5, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 1), 1 ; <%0> [#uses=1]
  ret %0 %mrv6
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85040 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomove FoldBitCast earlier in the file, and use it instead of
Chris Lattner [Sun, 25 Oct 2009 06:08:26 +0000 (06:08 +0000)]
move FoldBitCast earlier in the file, and use it instead of
ConstantExpr::getBitCast in various places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85039 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorefactor FoldBitCast to reduce nesting and to always return a constantexpr
Chris Lattner [Sun, 25 Oct 2009 06:02:57 +0000 (06:02 +0000)]
refactor FoldBitCast to reduce nesting and to always return a constantexpr
instead of returning null on failure.  No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85038 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove ICmpInst::isSignedPredicate which was a reimplementation
Nick Lewycky [Sun, 25 Oct 2009 05:20:17 +0000 (05:20 +0000)]
Remove ICmpInst::isSignedPredicate which was a reimplementation
CmpInst::isSigned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85037 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqual
Nick Lewycky [Sun, 25 Oct 2009 03:50:03 +0000 (03:50 +0000)]
Sink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqual
which is equal to !isTrueWhenEqual for ints but not for floats.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85036 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agolit: Add --config-prefix option, to override default config file names.
Daniel Dunbar [Sun, 25 Oct 2009 03:30:55 +0000 (03:30 +0000)]
lit: Add --config-prefix option, to override default config file names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85035 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIndent.
Nick Lewycky [Sun, 25 Oct 2009 03:22:00 +0000 (03:22 +0000)]
Indent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85034 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegenerate.
Mikhail Glushenkov [Sun, 25 Oct 2009 01:44:24 +0000 (01:44 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85031 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDocument OptionPreprocessor.
Mikhail Glushenkov [Sun, 25 Oct 2009 01:44:11 +0000 (01:44 +0000)]
Document OptionPreprocessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85030 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a test for OptionPreprocessor.
Mikhail Glushenkov [Sun, 25 Oct 2009 01:43:50 +0000 (01:43 +0000)]
Add a test for OptionPreprocessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85029 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agolit: Allow use of /dev/null in redirects on Windows (replace by a temporary
Daniel Dunbar [Sun, 25 Oct 2009 01:37:26 +0000 (01:37 +0000)]
lit: Allow use of /dev/null in redirects on Windows (replace by a temporary
file).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85028 91177308-0d34-0410-b5e6-96231b3b80d8