Misha Brukman [Thu, 8 Jan 2009 04:48:20 +0000 (04:48 +0000)]
* Added unittests for StringMap
* Fixed but in StringMap::clear()
* Removed trailing whitespace
Original patch by Talin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61914
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Jan 2009 02:49:34 +0000 (02:49 +0000)]
Add APIs to record regions and variables.
Again, shamelessly copied from MMI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61912
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Jan 2009 02:33:41 +0000 (02:33 +0000)]
Add APIs to manage scope using DebugInfo interface.
This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61908
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 8 Jan 2009 02:21:23 +0000 (02:21 +0000)]
* Fixed spelling of "sentinel"
* Removed trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61907
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 8 Jan 2009 02:17:30 +0000 (02:17 +0000)]
Use VIM's built-in shorthand for whitespace in regex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61906
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 8 Jan 2009 02:16:13 +0000 (02:16 +0000)]
Be sure to ignore the end-of-line character when considering trailing
whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61905
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 8 Jan 2009 02:11:55 +0000 (02:11 +0000)]
Removed trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61904
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 8 Jan 2009 01:56:06 +0000 (01:56 +0000)]
Fix failure messages in Verifier::PerformTypeCheck. The argument numbers
passed in to this function changed to support multiple return values,
leading to some incorrect argument numbers in the failure messages.
With this change, the ArgNo values used for return values and parameters are
disjoint, and the new IntrinsicParam function translates those ArgNo values
to strings that can be used in the messages. This also fixes a few places
where PerformTypeCheck did not return false following calls to CheckFailed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61903
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Thu, 8 Jan 2009 00:18:52 +0000 (00:18 +0000)]
CMake: removed lib/VMCore/DebugInfoBuilder.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61900
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Jan 2009 23:44:27 +0000 (23:44 +0000)]
Assert that VectorType::getTruncatedElementVectorType is not used with
odd bit-width vector elements. Add a check in the verifier for this also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 23:25:06 +0000 (23:25 +0000)]
remove DebugInfoBuilder, it has been subsumed by Analysis/DebugInfo.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61898
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 7 Jan 2009 23:07:29 +0000 (23:07 +0000)]
Fix off-by-one error in traversing an array; this fixes a test.
The error was reported by gcc-4.3.0 during compilation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61896
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 7 Jan 2009 23:07:22 +0000 (23:07 +0000)]
revert to functionally equivalent formulation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61895
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 7 Jan 2009 22:39:29 +0000 (22:39 +0000)]
use the obvious getters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61893
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 22:30:55 +0000 (22:30 +0000)]
Remove redundant 'else's. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61891
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 22:28:56 +0000 (22:28 +0000)]
Add empty() methods for register def lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61890
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 7 Jan 2009 21:13:53 +0000 (21:13 +0000)]
Minor cleanup for unittest:
* Fixed {copy,assignment} constructor test names
* s/EXPECT_EQ(true, ...)/ASSERT_TRUE(...)/
Patch by Talin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61883
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Jan 2009 20:01:06 +0000 (20:01 +0000)]
Whitespace - correct formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61879
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Jan 2009 19:39:06 +0000 (19:39 +0000)]
Remove alloca tracking from nocapture analysis. Not only
was it not very helpful, it was also wrong! The problem
is shown in the testcase: the alloca might be passed to
a nocapture callee which dereferences it and returns the
original pointer. But because it was a nocapture call we
think we don't need to track its uses, but we do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61876
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 7 Jan 2009 19:24:44 +0000 (19:24 +0000)]
CMake: replace `rm' with portable invocations of cmake.
Based on a bug report by Yonggang Luo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61875
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Jan 2009 19:17:02 +0000 (19:17 +0000)]
Reorder these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61873
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Jan 2009 19:10:21 +0000 (19:10 +0000)]
Use a switch rather than a sequence of "isa" tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61872
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Jan 2009 18:45:53 +0000 (18:45 +0000)]
The verifier checks that the aliasee is not null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 08:11:13 +0000 (08:11 +0000)]
Implement the first half of PR3290: if there is a store of an
integer to a (transitive) bitcast the alloca and if that integer
has the full size of the alloca, then it clobbers the whole thing.
Handle this by extracting pieces out of the stored integer and
filing them away in the SROA'd elements.
This triggers fairly frequently because the CFE uses integers to
pass small structs by value and the inliner exposes these. For
example, in kimwitu++, I see a bunch of these with i64 stores to
"%struct.std::pair<std::_Rb_tree_const_iterator<kc::impl_abstract_phylum*>,bool>"
In 176.gcc I see a few i32 stores to "%struct..0anon".
In the testcase, this is a difference between compiling test1 to:
_test1:
subl $12, %esp
movl 20(%esp), %eax
movl %eax, 4(%esp)
movl 16(%esp), %eax
movl %eax, (%esp)
movl (%esp), %eax
addl 4(%esp), %eax
addl $12, %esp
ret
vs:
_test1:
movl 8(%esp), %eax
addl 4(%esp), %eax
ret
The second half of this will be to handle loads of the same form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 07:18:45 +0000 (07:18 +0000)]
Factor a bunch of code out into a helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61852
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 06:39:58 +0000 (06:39 +0000)]
use continue to simplify code and reduce nesting, no functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 06:34:28 +0000 (06:34 +0000)]
Get TargetData once up front and cache as an ivar instead of
requerying it all over the place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 06:25:07 +0000 (06:25 +0000)]
Use the hasAllZeroIndices predicate to simplify some
code, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61849
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Jan 2009 02:08:57 +0000 (02:08 +0000)]
The coalescer does not coalesce a virtual register to a physical register if any of the physical register's sub-register live intervals overlaps with the virtual register. This is overly conservative. It prevents a extract_subreg from being coalesced away:
v1024 = EDI // not killed
=
= EDI
One possible solution is for the coalescer to examine the sub-register live intervals in the same manner as the physical register. Another possibility is to examine defs and uses (when needed) of sub-registers. Both solutions are too expensive. For now, look for "short virtual intervals" and scan instructions to look for conflict instead.
This is a small win on x86-64. e.g. It shaves 403.gcc by ~80 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Jan 2009 01:48:08 +0000 (01:48 +0000)]
add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61845
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 01:00:24 +0000 (01:00 +0000)]
Add patterns to match conditional moves with loads folded
into their left operand, rather than their right. Do this
by commuting the operands and inverting the condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61842
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 00:44:53 +0000 (00:44 +0000)]
Add load-folding table entries for cmovno too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61841
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 00:35:10 +0000 (00:35 +0000)]
Define instructions for cmovo and cmovno.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61836
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Jan 2009 00:15:08 +0000 (00:15 +0000)]
X86_COND_C and X86_COND_NC are alternate mnemonics for
X86_COND_B and X86_COND_AE, respectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61835
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Jan 2009 00:09:01 +0000 (00:09 +0000)]
Improve support for type-generic vector intrinsics by teaching TableGen how
to handle LLVMMatchType intrinsic parameters, and by adding new subclasses
of LLVMMatchType to match vector types with integral elements that are
either twice as wide or half as wide as the elements of the matched type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61834
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 23:48:10 +0000 (23:48 +0000)]
Now that fold-pcmpeqd-0.ll is effectively testing that scheduling helps
avoid the need for spilling, add a new testcase that tests that the
pcmpeqd used for V_SETALLONES is changed to a constant-pool load as
needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61831
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 23:34:46 +0000 (23:34 +0000)]
Revert r42653 and forward-port the code that lets INC64_32r be
converted to LEA64_32r in x86's convertToThreeAddress. This
replaces code like this:
movl %esi, %edi
inc %edi
with this:
lea 1(%rsi), %edi
which appears to be beneficial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61830
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 6 Jan 2009 23:10:38 +0000 (23:10 +0000)]
CellSPU:
- Add preliminary support for v2i32; load/store generates the right code but
there's a lot work to be done to make this vector type operational.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61829
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 22:53:52 +0000 (22:53 +0000)]
Fix a bug in ComputeLinearIndex computation handling multi-level
aggregate types. Don't increment the current index after reaching
the end of a struct, as it will already be pointing at
one-past-the end. This fixes PR3288.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61828
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Jan 2009 21:07:30 +0000 (21:07 +0000)]
Set up DwarfDebug using DebugInfo API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61822
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Jan 2009 19:13:55 +0000 (19:13 +0000)]
Forgot that this was needed for Linux. This should fix the builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61819
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 6 Jan 2009 07:53:32 +0000 (07:53 +0000)]
The phi construction algorithm used for interval reconstruction is complicated by
two address instructions. We need to keep track of things we've processed AS USES
independetly of whether we've processed them as defs.
This fixes all known miscompilations when reconstruction is turned on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61802
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 6 Jan 2009 03:51:14 +0000 (03:51 +0000)]
CellSPU: Update the README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61785
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 6 Jan 2009 03:36:14 +0000 (03:36 +0000)]
CellSPU:
- Fix bugs 3194, 3195: i128 load/stores produce correct code (although, we
need to ensure that i128 is 16-byte aligned in real life), and 128 zero-
extends are supported.
- New td file: SPU128InstrInfo.td: this is where all new i128 support should
be put in the future.
- Continue to hammer on i64 operations and test cases; ensure that the only
remaining problem will be i64 mul.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61784
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 01:36:23 +0000 (01:36 +0000)]
Delete this test; it's a duplicate of 2006-07-03-schedulers.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61781
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 01:28:56 +0000 (01:28 +0000)]
Update these argument lists for the isNormalMemory
argument. This doesn't affect current functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61779
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Jan 2009 01:19:04 +0000 (01:19 +0000)]
Use a latency value of 0 for the artificial edges inserted by
AddPseudoTwoAddrDeps. This lets the scheduling infrastructure
avoid recalculating node heights. In very large testcases this
was a major bottleneck. Thanks to Roman Levenstein for finding
this!
As a side effect, fold-pcmpeqd-0.ll is now scheduled better
and it no longer requires spilling on x86-32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61778
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Jan 2009 00:06:25 +0000 (00:06 +0000)]
no need to negate the APInt for 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 23:53:12 +0000 (23:53 +0000)]
Change m_ConstantInt and m_SelectCst to take their constant integers
as template arguments instead of as instance variables, exposing more
optimization opportunities to the compiler earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61776
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 23:45:50 +0000 (23:45 +0000)]
make m_ConstantInt(int64_t) safely match ConstantInt's that are larger than i64.
This fixes an instcombine crash on PR3235.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61775
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 23:21:35 +0000 (23:21 +0000)]
Construct subprogram DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61772
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 23:11:11 +0000 (23:11 +0000)]
Construct global variable DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61771
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 23:03:32 +0000 (23:03 +0000)]
Construct compile unit dies using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61768
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 23:03:03 +0000 (23:03 +0000)]
Fix a thinko in the grammar for thread_local variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61767
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 5 Jan 2009 22:53:45 +0000 (22:53 +0000)]
Revert r61415 and r61484. Duncan was correct that these weren't needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61765
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 22:40:26 +0000 (22:40 +0000)]
Don't call setDepthDirty/setHeightDirty when adding an edge
with latency 0, since it doesn't affect the depth or height.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61762
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 22:35:52 +0000 (22:35 +0000)]
Extract source location info from DebugInfo.
Add methods to add source location info in a DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61761
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 21:47:57 +0000 (21:47 +0000)]
Add type DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61757
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 21:33:06 +0000 (21:33 +0000)]
Add a note about passing MVT::Other to getSetCCResultType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61756
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 5 Jan 2009 21:27:59 +0000 (21:27 +0000)]
Strength test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61755
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 21:24:45 +0000 (21:24 +0000)]
Teach the internalize pass to also internalize
global aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61754
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 21:19:53 +0000 (21:19 +0000)]
When checking if an Argument escapes, check if
the argument is marked nocapture - no need to
analyze the argument if the answer is already
known!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61753
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 Jan 2009 21:17:27 +0000 (21:17 +0000)]
Find loop back edges only after empty blocks are eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61752
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 21:07:34 +0000 (21:07 +0000)]
testcase for bill's patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61751
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 20:47:56 +0000 (20:47 +0000)]
Not having an aliasee is a theoretical possibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61745
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 20:39:50 +0000 (20:39 +0000)]
Format more neatly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61744
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 20:38:27 +0000 (20:38 +0000)]
Remove trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61743
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 5 Jan 2009 20:37:33 +0000 (20:37 +0000)]
Delete unused global aliases with internal linkage.
In fact this also deletes those with linkonce linkage,
however this is currently dead because for the moment
aliases aren't allowed to have this linkage type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61742
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 19:55:51 +0000 (19:55 +0000)]
Construct composite type DIE using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61741
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 19:55:07 +0000 (19:55 +0000)]
Add classof() methods so that dwarf writer can decide what DIDescriptor is in its hand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61740
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 19:47:30 +0000 (19:47 +0000)]
Add <climits>, to get the definition of CHAR_BIT. This should fix
build errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61736
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 19:40:39 +0000 (19:40 +0000)]
TargetLowering.h #includes SelectionDAGNodes.h, so it doesn't need its
own OpActionsCapacity magic number; it can just use ISD::BUILTIN_OP_END,
as long as it takes care to round up when needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61733
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 19:31:28 +0000 (19:31 +0000)]
Delete an unused variable and simplify the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61732
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 19:07:53 +0000 (19:07 +0000)]
s/ConstructType/ConstructTypeDIE/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 19:01:32 +0000 (19:01 +0000)]
make llvm-ld smart enough to link against native libraries that are
not in system library directories by checking -L paths as well.
Patch by Axel Naumann!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61730
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 18:59:44 +0000 (18:59 +0000)]
Construct stuct field DIEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:56:52 +0000 (18:56 +0000)]
fix wordo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61728
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 5 Jan 2009 18:48:47 +0000 (18:48 +0000)]
Remove redundant ValID::ValID:: scoping (doesn't compile on Windows).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61727
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 18:38:38 +0000 (18:38 +0000)]
Construct enumerator DIE using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:34:07 +0000 (18:34 +0000)]
Reject PR3281:accepted03.ll with:
llvm-as: accepted03.ll:1:35: invalid unresolved type up reference
declare void @r({ \7, opaque, \10 } %su)
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61725
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 18:33:01 +0000 (18:33 +0000)]
Construct array/vector type DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61724
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 5 Jan 2009 18:32:26 +0000 (18:32 +0000)]
Get rid of sentinel insertion in interval reconstruction. It just masked the
problem, rather than fixing it. The problem has now been fixed the right way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:27:50 +0000 (18:27 +0000)]
reject PR3281:crash11.ll with:
llvm-as: crash11.ll:2:27: function may not return return opaque type
"xw" = tail call opaque @608(label %31)
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:24:23 +0000 (18:24 +0000)]
reject PR3281:crash10.ll with:
llvm-as: crash10.ll:3:35: floating point constant does not have type 'ppc_fp128'
"dumy" = fcmp ult ppc_fp128 "j",9209.4
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:19:46 +0000 (18:19 +0000)]
reject PR3281:crash09.ll with this diagnostic:
llvm-as: crash09.ll:3:1: self referential type is invalid
type %0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Jan 2009 18:12:21 +0000 (18:12 +0000)]
allow opaque undefs. This resolves PR3282 and fixes
test/Assembler/2005-05-05-OpaqueUndefValues.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61719
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 18:06:21 +0000 (18:06 +0000)]
Now, getTag() is used by DwarfWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61718
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 17:59:02 +0000 (17:59 +0000)]
Tidy up #includes, deleting a bunch of unnecessary #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 17:57:47 +0000 (17:57 +0000)]
Construct basic and derived type DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61714
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 5 Jan 2009 17:52:54 +0000 (17:52 +0000)]
Handle iAny and fAny types in TreePatternNode::UpdateNodeType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61713
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 17:45:59 +0000 (17:45 +0000)]
subsume ConstructPointerType()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61711
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 17:44:11 +0000 (17:44 +0000)]
Add the keyword 'default'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61710
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 17:44:11 +0000 (17:44 +0000)]
subsume ConstructBasicType().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61709
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 5 Jan 2009 17:42:15 +0000 (17:42 +0000)]
Renamed Google Test license file from COPYING to LICENSE.TXT to match LLVM
conventions, per John Criswell.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61708
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Jan 2009 17:31:22 +0000 (17:31 +0000)]
squash warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61707
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Jan 2009 17:29:42 +0000 (17:29 +0000)]
A few more polygen grammar updates.
- After GlobalAssign, emit addrspace before global/constant, to follow
the new syntax.
- Eliminate "type void", which is now invalid.
- Fix invalid liblists like [, "foo"].
- Tweak whitespace in a few places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61706
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Mon, 5 Jan 2009 17:27:39 +0000 (17:27 +0000)]
set standard ignores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61703
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 5 Jan 2009 17:23:09 +0000 (17:23 +0000)]
Fix spelling in some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61702
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Mon, 5 Jan 2009 17:19:25 +0000 (17:19 +0000)]
another fix to my previous commit:
* some picky <g> compilers get insulted by const-incorrectness
* respect 80-char limit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61701
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 Jan 2009 17:17:04 +0000 (17:17 +0000)]
Fix misplaced right parentheses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61699
91177308-0d34-0410-b5e6-
96231b3b80d8