Owen Anderson [Fri, 16 May 2008 04:33:37 +0000 (04:33 +0000)]
Use loop deletion instead of ADCE in these tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51180
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 16 May 2008 04:32:45 +0000 (04:32 +0000)]
Clean ups for loop deletion based on Chris' feedback.
Also, use SCEV to determine the trip count of the loop, which is more powerful
and accurate that Loop::getTripCount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51179
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 16 May 2008 04:27:38 +0000 (04:27 +0000)]
Use loop deletion instead of ADCE for removing loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51178
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 16 May 2008 04:25:09 +0000 (04:25 +0000)]
Fix this test. It was testing broken behavior in that it required ADCE to eliminate
a potentially infinite loop, which is undesirable. Instead, test the LICM behavior
that we're really interested in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51177
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 May 2008 02:59:42 +0000 (02:59 +0000)]
implement PR2328.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51176
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 16 May 2008 00:52:30 +0000 (00:52 +0000)]
Use common where we mean common, not weak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51173
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 16 May 2008 00:52:06 +0000 (00:52 +0000)]
Treat common as distinct from weak global on Darwin x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51172
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 16 May 2008 00:16:32 +0000 (00:16 +0000)]
Revert the change from r51157 in
test/Verifier/2002-11-05-GetelementptrPointers.ll, which was incorrect.
Instead, fix getIndexedType to not follow pointer types, as
PointerType is a subclass of CompositeType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51171
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 May 2008 23:35:32 +0000 (23:35 +0000)]
Update comments based on Duncan's feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51170
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 May 2008 23:26:57 +0000 (23:26 +0000)]
Fix a bug in LoopStrengthReduce that caused it to emit IR with
use-before-def. The problem comes up in code with multiple PHIs where
one PHI is being rewritten in terms of the other, but the other needs
to be casted first. LLVM rules requre the cast instruction to be
inserted after any PHI instructions, but when instructions were
inserted to replace the second PHI value with a function of the first,
they were ended up going before the cast instruction. Avoid this
problem by remembering the location of the cast instruction, when one
is needed, and inserting the expansion of the new value after it.
This fixes a bug that surfaced in 255.vortex on x86-64 when
instcombine was removed from the middle of the loop optimization
passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51169
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 15 May 2008 22:23:54 +0000 (22:23 +0000)]
Remove the S92 code, which really has nothing to do
with what the test is testing; makes it pass again on ppc32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51167
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 15 May 2008 22:22:37 +0000 (22:22 +0000)]
Evan has implemented this on ppc, so run the test there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51166
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 May 2008 22:13:02 +0000 (22:13 +0000)]
Fix typos and comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51165
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 15 May 2008 20:49:28 +0000 (20:49 +0000)]
Allow an extra bit for CommonLinkage.
This changes the .bc file format, but if I understand
how it works correctly, old .bc files continue to
be readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51161
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 15 May 2008 20:40:58 +0000 (20:40 +0000)]
Actually scalarize the operand to BIT_CONVERT instead of asking someone to do
something with a v1 type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51160
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 15 May 2008 20:09:48 +0000 (20:09 +0000)]
Reverting r51100...I need to use VC++ 2005.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51159
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 May 2008 19:50:34 +0000 (19:50 +0000)]
IR support for extractvalue and insertvalue instructions. Also, begin
moving toward making structs and arrays first-class types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51157
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 May 2008 19:43:55 +0000 (19:43 +0000)]
Use static and anonymous namespaces consistently with other passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51156
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 15 May 2008 18:46:28 +0000 (18:46 +0000)]
Revert 51067 check-in for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51155
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 15 May 2008 18:04:29 +0000 (18:04 +0000)]
Remove useless check.
Patch by Matthijs Kooijman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51154
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 May 2008 17:31:35 +0000 (17:31 +0000)]
Disable JIT symbol table for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51152
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 15 May 2008 11:22:50 +0000 (11:22 +0000)]
Use of UINT_MAX requires climits, at least when
compiling with gcc 4.3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51145
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 May 2008 10:04:30 +0000 (10:04 +0000)]
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 May 2008 09:38:32 +0000 (09:38 +0000)]
ignore generated files and product directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51142
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 May 2008 08:39:06 +0000 (08:39 +0000)]
Make use of vector load and store operations to implement memcpy, memmove, and memset. Currently only X86 target is taking advantage of these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51140
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 May 2008 07:43:15 +0000 (07:43 +0000)]
Remove tail duplication pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 15 May 2008 01:23:11 +0000 (01:23 +0000)]
Move the operator new and operator delete out of line. This fixes an issue with
operator new() referring to the static initTags function, which has to be in the
same linkage unit as any file including User.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51136
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 May 2008 22:53:25 +0000 (22:53 +0000)]
Don't assume underlying APInt type is limited
to 64 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51135
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 14 May 2008 22:45:20 +0000 (22:45 +0000)]
Situations can arise when you have a function called that returns a 'void', but
is bitcast to return a floating point value. The result of the instruction may
not be used by the program afterwards, and LLVM will happily remove all
instructions except the call. But, on some platforms, if a value is returned as
a floating point, it may need to be removed from the stack (like x87). Thus, we
can't get rid of the bitcast even if there isn't a use of the value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51134
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 May 2008 22:05:31 +0000 (22:05 +0000)]
Remove undefined behavior in hex string->APFloat
conversion. Try 0x1.0000a4p+0f. Neil, please review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51132
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 21:08:07 +0000 (21:08 +0000)]
Use a better idiom to silence compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 May 2008 20:38:44 +0000 (20:38 +0000)]
rename SimplifyCFG.cpp -> SimplifyCFGPass.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51130
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 20:33:21 +0000 (20:33 +0000)]
Silence warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51129
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 14 May 2008 20:29:46 +0000 (20:29 +0000)]
Add support to IR builder for new vicmp, vfcmp routines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51127
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 20:29:30 +0000 (20:29 +0000)]
Really silence compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51126
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 14 May 2008 20:28:31 +0000 (20:28 +0000)]
Don't generate unused variables in a no-assert build
Add some checks to the new vicmp,vfcmp instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51125
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 20:26:35 +0000 (20:26 +0000)]
Really silence compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51123
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 May 2008 20:14:09 +0000 (20:14 +0000)]
CommonLinkage (missed a file)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51120
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 May 2008 20:13:36 +0000 (20:13 +0000)]
Generated files for CommonLinkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51119
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 May 2008 20:12:51 +0000 (20:12 +0000)]
Add CommonLinkage; currently tentative definitions
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51118
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 20:07:51 +0000 (20:07 +0000)]
Silence some compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51115
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 May 2008 20:01:01 +0000 (20:01 +0000)]
Simplify internalize pass. Add test case.
Patch by Matthijs Kooijman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51114
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 18:17:09 +0000 (18:17 +0000)]
When bit-twiddling CondCode values for integer comparisons produces
SETOEQ, is it does with (SETEQ & SETULE), map it to SETEQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51112
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 May 2008 18:04:30 +0000 (18:04 +0000)]
Recover nestedloop regression reported by nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51110
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 14 May 2008 16:32:44 +0000 (16:32 +0000)]
Check if llvm-gcc is available before running tests. Patch by Matthijs Kooijman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51108
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 14 May 2008 11:31:39 +0000 (11:31 +0000)]
Detabification. Fixed indentation and spacing.
Changed cout to DOUT, and TODOs to FIXMEs.
Other changes as per coding conventions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51105
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Levenstein [Wed, 14 May 2008 10:17:11 +0000 (10:17 +0000)]
Do not generate by TableGen the hard-coded standard, target-independent part of
DAG instruction selectors. Introudce a dedicated header file for this part:
include/llvm/CodeGen/DAGISelHeader.h
TableGen now only generates the include preprocessor directive to include this
new header.
This is a preparation for supporting multiple implementations of instruction
selectors in the future.
Reviewed and approved by Evan and Dan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51102
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 14 May 2008 09:58:45 +0000 (09:58 +0000)]
Upgrading clang VC++ solution to VC++ express 2008.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51100
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 May 2008 09:46:01 +0000 (09:46 +0000)]
Make this test pass on x86-32 linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51099
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 14 May 2008 09:39:32 +0000 (09:39 +0000)]
Adding missing files to Transforms and VMCore VC++ projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51098
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Wed, 14 May 2008 09:17:12 +0000 (09:17 +0000)]
Add documentation for tail call optimization to CodeGenerator.html. Add a link
referring to it to LangRef.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51097
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 14 May 2008 08:03:23 +0000 (08:03 +0000)]
Added configure switches for PIC16 in configure.ac.
Regenerated configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51096
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Wed, 14 May 2008 07:52:03 +0000 (07:52 +0000)]
Fix typo in ParameterAttribute fields usage. Add an include
to make the Cpp backend output compilable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51095
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 14 May 2008 06:50:01 +0000 (06:50 +0000)]
Fixed the file description header at the top to remove the developer name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51094
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 04:39:40 +0000 (04:39 +0000)]
Commit the header I accidentally left out of 51083.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51093
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 May 2008 02:49:43 +0000 (02:49 +0000)]
Doh. Alignment is in bytes, not in bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51092
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 01:58:56 +0000 (01:58 +0000)]
Change target-specific classes to use more precise static types.
This eliminates the need for several awkward casts, including
the last dynamic_cast under lib/Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51091
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 01:02:49 +0000 (01:02 +0000)]
Move RemoveFromVector out of the global namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51090
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 00:43:10 +0000 (00:43 +0000)]
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51089
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 00:42:30 +0000 (00:42 +0000)]
Make PreVerifyID, IntSigsEnd, and KillSigsEnd const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51088
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 00:40:34 +0000 (00:40 +0000)]
Make getNumContainedManagers and getNumContainedPasses const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51087
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 00:39:39 +0000 (00:39 +0000)]
Make PassInfo noncopyable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51085
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 May 2008 00:26:11 +0000 (00:26 +0000)]
Do not run instruction combiner in middle of loop optimization passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51084
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 May 2008 00:24:14 +0000 (00:24 +0000)]
Split the loop unroll mechanism logic out into a utility function.
Patch by Matthijs Kooijman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51083
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 May 2008 23:18:30 +0000 (23:18 +0000)]
Fix Analysis/BasicAA/pure-const-dce.ll. This turned out to be a correctness
bug as well as a missed optimization. We weren't properly checking for local
dependencies before moving on to non-local ones when doing non-local read-only
call CSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51082
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 13 May 2008 22:51:52 +0000 (22:51 +0000)]
Merge of r51073-51074 from use-diet branch.
Do not rely on std::swap<Use>, provide a (faster) member function instead.
This change is primarily necessitated by MSVC++'s incompatibility with
declaring std::swap<Use> to be a friend of Use.
Also contains some minor tweaks to Use inline functions,
to undo pointless changes that sneaked in with the last merge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51078
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 13 May 2008 22:51:04 +0000 (22:51 +0000)]
Make this function public.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51077
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 May 2008 22:43:21 +0000 (22:43 +0000)]
Dominance Frontier is cfg only pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51075
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 May 2008 21:25:37 +0000 (21:25 +0000)]
Fix memdep's handling of invokes when finding the dependency of another call
instruction. This fixes some Ada miscompiles reported in PR2324.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 May 2008 20:56:51 +0000 (20:56 +0000)]
Update the Win32 project files, patch by Razvan Aciu!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51067
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 May 2008 20:06:43 +0000 (20:06 +0000)]
Fix for PR 2323, infinite loop in tail dup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51063
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 May 2008 19:56:20 +0000 (19:56 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51062
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 May 2008 18:59:59 +0000 (18:59 +0000)]
- Fix the pasto in the fix for a previous pasto.
- Incorporate Chris' comment suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51061
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 May 2008 18:48:54 +0000 (18:48 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51060
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 May 2008 18:16:06 +0000 (18:16 +0000)]
s/indicies/indices/ and clarify the extractvalue and insertvalue are
working with struct field or array element values. Thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51059
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 13 May 2008 17:52:09 +0000 (17:52 +0000)]
Fix one more encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51057
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 13 May 2008 17:37:32 +0000 (17:37 +0000)]
Added configure switches for PIC16 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51056
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 May 2008 16:45:56 +0000 (16:45 +0000)]
- Don't treat anyext 16-bit load as a 32-bit load if it's volatile.
- Correct a pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51054
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 13 May 2008 15:03:16 +0000 (15:03 +0000)]
Add thin layer over StringMap to form StringSet. By Mikhail Glushenkov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51048
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 May 2008 13:41:23 +0000 (13:41 +0000)]
Make the non-local CSE safety checks slightly more thorough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51035
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 13 May 2008 09:02:57 +0000 (09:02 +0000)]
Adding files for Microchip's PIC16 target.
A brief description about PIC16:
===============================
PIC16 is an 8-bit microcontroller with only one 8-bit register which is the
accumulator. All arithmetic/load/store operations are 8-bit only.
The architecture has two address spaces: program and data. The program memory
is divided into 2K pages and the data memory is divided into banks of 128 byte, with only 80 usable bytes, resulting in an non-contiguous data memory.
It supports direct data memory access (by specifying the address as part of the instruction) and indirect data and program memory access (in an unorthodox fashion which utilize a 16 bit pointer register).
Two classes of registers exist: (8-bit class which is only one
accumulator) (16-bit class, which contains one or more 16 bit
pointer(s))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51027
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 May 2008 08:35:03 +0000 (08:35 +0000)]
Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset.
pshufd $1, (%rdi), %xmm0
movd %xmm0, %eax
=>
movl 4(%rdi), %eax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51026
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 May 2008 08:17:44 +0000 (08:17 +0000)]
Add a testcase for non-local CSE of read-only calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51025
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 May 2008 08:17:22 +0000 (08:17 +0000)]
Add support for non-local CSE of read-only calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51024
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 13 May 2008 07:09:08 +0000 (07:09 +0000)]
Derive GetResultInst from UnaryInstruction, this simplifies code and removes a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51023
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 May 2008 02:05:11 +0000 (02:05 +0000)]
Change class' public PassInfo variables to by initialized with the
address of the PassInfo directly instead of calling getPassInfo.
This eliminates a bunch of dynamic initializations of static data.
Also, fold RegisterPassBase into PassInfo, make a bunch of its
data members const, and rearrange some code to initialize data
members in constructors instead of using setter member functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51022
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 13 May 2008 01:48:26 +0000 (01:48 +0000)]
80 col / tabs fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51021
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 13 May 2008 01:47:52 +0000 (01:47 +0000)]
Fix and encoding error in the psrad xmm, imm8 instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51020
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 May 2008 00:54:02 +0000 (00:54 +0000)]
On x86, it's safe to treat i32 load anyext as a normal i32 load. Ditto for i8 anyext load to i16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51019
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 May 2008 00:00:25 +0000 (00:00 +0000)]
Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 12 May 2008 23:51:09 +0000 (23:51 +0000)]
Initial documentation for first-class aggregates changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51013
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 12 May 2008 23:38:42 +0000 (23:38 +0000)]
Fix a malformed %gt;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51011
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 12 May 2008 23:09:43 +0000 (23:09 +0000)]
Teach Legalize how to scalarize VSETCC
Teach X86 a few more vsetcc patterns. Custom lowering for unsupported ones is next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51009
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 12 May 2008 23:04:07 +0000 (23:04 +0000)]
Xform bitconvert(build_pair(load a, load b)) to a single load if the load locations are at the right offset from each other.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51008
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 12 May 2008 22:59:44 +0000 (22:59 +0000)]
New test for tail merging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51007
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 12 May 2008 22:53:12 +0000 (22:53 +0000)]
Be more aggressive about tail-merging small blocks
if those blocks consist entirely of common instructions;
merging will not add an extra branch in this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51006
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 12 May 2008 22:15:05 +0000 (22:15 +0000)]
Constify isSourceDefinedByImplicitDef function. Otherwise, just formatting
changes that don't change functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51004
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 12 May 2008 20:54:26 +0000 (20:54 +0000)]
Constify the machine instruction passed into the
"is{Trivially,Really}ReMaterializable" methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51001
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 12 May 2008 20:34:32 +0000 (20:34 +0000)]
Initial X86 codegen support for VSETCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51000
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 12 May 2008 20:33:57 +0000 (20:33 +0000)]
Further rework of tail merge algorithm. Not quite
semantically identical, but little difference in
either results or execution speed; but it's much
easier to read, at least IMO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50999
91177308-0d34-0410-b5e6-
96231b3b80d8