Dan Gohman
612fbfa641
Convert the DebugInfo classes dump() methods into print(raw_ostream &)
...
methods, and add dump functions implemented in terms of the print.
llvm-svn: 103254
2010-05-07 15:30:29 +00:00
Tobias Grosser
1961507018
Document graphviz passes for the (post) dominator tree.
...
Add documentation for:
-dot-dom
-dot-dom-only
-dot-postdom
-dot-postdom-only
-view-dom
-view-dom-only
-view-postdom
-view-postdom-only
llvm-svn: 103251
2010-05-07 09:33:18 +00:00
Evan Cheng
2d9c4df15f
Use VLD2q32 / VST2q32 to reload / spill QQ (pair of Q) registers when stack slot is sufficiently aligned. Use VLDMD / VSTMD otherwise.
...
llvm-svn: 103235
2010-05-07 02:04:02 +00:00
Evan Cheng
859a6d2135
Use VSTMD / VLDMD for spills and reloads of Q registers instead of VSTMQ / VLDQ. The later are aliases which ought to be eliminated but we can't because they are used for storing and loading v2f64 values.
...
llvm-svn: 103234
2010-05-07 01:54:08 +00:00
Nick Lewycky
3e5720a898
Revert r103133 and add testcase from PR7066.
...
llvm-svn: 103233
2010-05-07 01:45:38 +00:00
Dan Gohman
79efb5a2ad
When rematerializing, use the debug location of the original
...
instruction, rather than a location near where the new instruction
is being inserted.
llvm-svn: 103232
2010-05-07 01:28:10 +00:00
Dale Johannesen
e5ca1fe49e
Adjust tests affected by llvm-gcc 103229.
...
All results here match gcc-4.2.
llvm-svn: 103230
2010-05-07 01:11:31 +00:00
Dan Gohman
4d75cfcc09
Transfer debug location information from PHI nodes to resulting
...
lowered copies.
llvm-svn: 103228
2010-05-07 01:10:20 +00:00
Dan Gohman
6650aa28f1
Print debug information for SDNodes.
...
llvm-svn: 103227
2010-05-07 01:09:21 +00:00
Dan Gohman
f863ad3dc5
Disable the new unknown-location code for now. It causes a major
...
increase in the debug line info section, and it's causing
regressions in a gdb testsuite.
llvm-svn: 103226
2010-05-07 01:08:53 +00:00
mike-m
3baf2ffb17
Revert r103213. It broke several sections of live website.
...
llvm-svn: 103219
2010-05-07 00:28:04 +00:00
Evan Cheng
c82be8216f
Remove VLD1q and VST1q for reloading and spilling Q registers. Just use VLD1q64 / VST1q64 and reference sub-registers.
...
llvm-svn: 103218
2010-05-07 00:24:52 +00:00
mike-m
a39025f688
Disable man->postscript and man->pdf doc generation unless explicitly
...
configured via --enable-doxygen. It seems some systems have broken pdfroff
so automatic use of it is not safe.
llvm-svn: 103217
2010-05-07 00:13:23 +00:00
mike-m
577b76fa16
Cleanup unneeded dirs after docs overhaul.
...
llvm-svn: 103215
2010-05-06 23:48:37 +00:00
mike-m
6b8861e9f6
Overhauled llvm/clang docs builds. Closes PR6613.
...
NOTE: 2nd part changeset for cfe trunk to follow.
*** PRE-PATCH ISSUES ADDRESSED
- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
assumptions and make use of absolute root in static html files;
namely CommandGuide tools hard codes a website destination
for cross references and some html cross references assume
website root paths
*** IMPROVEMENTS
- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
if any target (or any variable is evaluated) which attempts
to remove any dirs which match a hard-coded 'safelist', a verbose
error will be printed and make will error-stop.
llvm-svn: 103213
2010-05-06 23:45:43 +00:00
Daniel Dunbar
45589cd853
MC/X86: X86AbsMemAsmOperand is subclass of X86NoSegMemAsmOperand.
...
- This fixes "leal 0, %eax", for example.
llvm-svn: 103205
2010-05-06 22:39:14 +00:00
Chris Lattner
c788971da7
fix rdar://7947167 - llvm-mc doesn't match movsq
...
llvm-svn: 103199
2010-05-06 21:48:14 +00:00
Sean Callanan
4331428e24
Eliminated the classification of control registers into %ecr_
...
and %rcr_, leaving just %cr_ which is what people expect.
Updated the disassembler to support this unified register set.
Added a testcase to verify that the registers continue to be
decoded correctly.
llvm-svn: 103196
2010-05-06 20:59:00 +00:00
Daniel Dunbar
33433c1e3c
MC/X86: Error out if we see a non-constant FK_Data_1 or FK_Data_2 fixup, since
...
we don't currently support relaxing them.
llvm-svn: 103195
2010-05-06 20:34:01 +00:00
Dan Gohman
497e752655
Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it
...
doesn't have to guess.
llvm-svn: 103194
2010-05-06 20:33:48 +00:00
Evan Cheng
80f3051bb7
Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.
...
llvm-svn: 103193
2010-05-06 19:06:44 +00:00
Dan Gohman
3190e5c292
Add a testcase for r103135, explicitly representing unknown
...
locations in debug line info.
llvm-svn: 103189
2010-05-06 17:49:17 +00:00
Evan Cheng
64f7afeec1
80 col violation.
...
llvm-svn: 103185
2010-05-06 16:33:12 +00:00
Bob Wilson
8d0b53dc62
Fix handling of unreachable blocks in the SSAUpdater. The previous code only
...
handled cases where a block had zero predecessors, but failed to detect other
cases like loops with no entries. The SSAUpdater is already doing a forward
traversal through the blocks, so it is not hard to identify the blocks that
were never reached on that traversal. This fixes the crash for ppc on the
stepanov_vector test.
llvm-svn: 103184
2010-05-06 16:24:11 +00:00
Bob Wilson
e5f295c76d
Add a missing break statement to fix unintentional fall-through
...
(replacing the previous patch for the same issue).
llvm-svn: 103183
2010-05-06 16:05:26 +00:00
Jim Grosbach
bffae8af60
Fix unintentional fallthrough. Patch by Edmund Grimley-Evans <Edmund.Grimley-Evans@arm.com>
...
llvm-svn: 103181
2010-05-06 15:32:49 +00:00
Shantonu Sen
0fc6812809
Fix "warning: extra ';' inside a struct or union" when building llvm with clang
...
llvm-svn: 103179
2010-05-06 14:57:47 +00:00
Daniel Dunbar
a3731b17c0
Revert r103137, fix for $ in labels. It looks like we can't actually handle this
...
at the token level. Consider the following horrible test case:
a = 1
.globl $a
movl ($a), %eax
movl $a, %eax
movl $$a, %eax
llvm-svn: 103178
2010-05-06 14:46:38 +00:00
Evan Cheng
4c3022f869
Re-apply 103156 and 103157. 103156 didn't break anything. 10315 exposed a coalescer bug that's fixed by 103170.
...
llvm-svn: 103172
2010-05-06 06:36:08 +00:00
Evan Cheng
07a622c7b6
Fixes a coalescer bug that caused llc to crash on 2009-11-30-LiveVariablesBug.ll
...
with the fix in 103157.
%reg1039:1<def> = VMOVS %S1<kill>, pred:14, pred:%reg0
is not coalescable since none of the super-registers of S1 are in reg1039's
register class: DPR_VFP2. But it is still a legal copy instruction so it should
not assert.
llvm-svn: 103170
2010-05-06 06:23:31 +00:00
Alexis Hunt
24902a84b1
Fix some stylistic issues with my last commit.
...
llvm-svn: 103164
2010-05-06 05:24:38 +00:00
Dan Gohman
ff6a33e8da
Revert r103157, which broke test/CodeGen/ARM/2009-11-30-LiveVariablesBug.ll.
...
llvm-svn: 103163
2010-05-06 05:08:57 +00:00
Eric Christopher
72ca6fc94e
Revert r103156 since it was breaking the build bots.
...
Reverse-merging r103156 into '.':
U lib/Target/ARM/ARMInstrNEON.td
U lib/Target/ARM/ARMRegisterInfo.h
U lib/Target/ARM/ARMBaseRegisterInfo.cpp
U lib/Target/ARM/ARMBaseInstrInfo.cpp
U lib/Target/ARM/ARMRegisterInfo.td
llvm-svn: 103159
2010-05-06 02:29:06 +00:00
Dan Gohman
783a114a69
Handle the case where open(2) or close(2) is interrupted by a signal when
...
automatic syscall restarting is disabled.
Also, fix the build on systems which don't define EWOULDBLOCK.
llvm-svn: 103158
2010-05-06 02:06:20 +00:00
Evan Cheng
b877797172
Fix an obvious bug in isMoveInstr. It needs to return sub-register indices.
...
llvm-svn: 103157
2010-05-06 01:54:03 +00:00
Evan Cheng
f25111f27f
Adding pseudo 256-bit registers QQ0 . . . QQ7 to represent pairs of Q registers. These will be used to model VLD2 / VST2 instructions in order to get substantially better codegen for them.
...
llvm-svn: 103156
2010-05-06 01:52:03 +00:00
Evan Cheng
d02b8d33c4
Cosmetic changes.
...
llvm-svn: 103155
2010-05-06 01:34:11 +00:00
Evan Cheng
960323d4a7
storeRegToStackSlot has forgotten about QPR_8 register class.
...
llvm-svn: 103154
2010-05-06 01:32:54 +00:00
Dan Gohman
3a3eadef40
Handle EWOULDBLOCK as EAGAIN. And add a comment explaining why
...
EAGAIN and EWOULDBLOCK are used here.
Also, handle the case where a write call is interrupted after
some data has already been written.
llvm-svn: 103153
2010-05-06 01:27:36 +00:00
Chris Lattner
5fc1e951f6
make -filetype=obj default to emitting its output to foo.obj
...
when on windows instead of foo.o. Patch by Nathan Jeffords!
llvm-svn: 103150
2010-05-06 00:54:20 +00:00
Dan Gohman
365b0e0f0f
Update LabelsBeforeInsn also, when creating unknown-position labels.
...
llvm-svn: 103145
2010-05-06 00:29:41 +00:00
Chris Lattner
014a954e3d
Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.
...
Users can write broken code that emits the same label twice with asm renaming,
detect this and emit a fatal backend error instead of aborting.
llvm-svn: 103140
2010-05-06 00:05:37 +00:00
Dan Gohman
f7bc83b2ed
In bottom-up mode, defer the materialization of local constant values.
...
llvm-svn: 103139
2010-05-06 00:02:14 +00:00
Dan Gohman
180422793f
Add an "IsBottomUp" member function to FastISel, which will be used to
...
support a new bottom-up mode.
llvm-svn: 103138
2010-05-05 23:58:35 +00:00
Chris Lattner
ca80f41a4d
fix rdar://7946934 - in some limited cases, the assembler should
...
allow $ at the start of a symbol name.
llvm-svn: 103137
2010-05-05 23:51:28 +00:00
Jim Grosbach
e04cc6cb43
Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack
...
instructions to subtarget features and update tests to reflect.
PR5717.
llvm-svn: 103136
2010-05-05 23:44:43 +00:00
Dan Gohman
2f1182c0ac
Emit debug info for MachineInstrs with unknown debug locations, instead
...
of just letting them inherit the debug locations of adjacent instructions.
Debug info should aim to be either accurate or absent.
llvm-svn: 103135
2010-05-05 23:41:32 +00:00
Chris Lattner
9a067dd51f
Fix some ..'s
...
llvm-svn: 103134
2010-05-05 23:29:09 +00:00
Jakob Stoklund Olesen
2e5d12acfa
Fix PR6520. An earlyclobber physreg must not be allocated to anything else.
...
llvm-svn: 103133
2010-05-05 23:07:41 +00:00
Stuart Hastings
edf26ed051
Test case for pr2394 and r102979.
...
llvm-svn: 103129
2010-05-05 22:49:33 +00:00