John Criswell
08907c7e39
Added the privbracket project to the list of projects to auto-configure.
...
llvm-svn: 28870
2006-06-20 17:44:40 +00:00
Andrew Lenharth
5fec2abe9b
Fix build on old compilers
...
llvm-svn: 28869
2006-06-20 15:32:17 +00:00
Chris Lattner
3c71a13e06
Fix an error message regression. Print:
...
LI8: (LI8:i64 (imm:i64):$imm)
instead of:
LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm)
llvm-svn: 28868
2006-06-20 00:56:37 +00:00
Chris Lattner
868a75bec6
Remove some now-unneeded casts from instruction patterns. With the casts
...
removed, tblgen produces identical output to with them in.
llvm-svn: 28867
2006-06-20 00:39:56 +00:00
Chris Lattner
94d18df658
Add some patterns for ppc64
...
llvm-svn: 28866
2006-06-20 00:38:36 +00:00
Chris Lattner
c23e641055
Don't require src/dst patterns to be able to fully resolve their types,
...
because information about one can help refine the other. This allows us to
write:
def : Pat<(i32 (extload xaddr:$src, i8)),
(LBZX xaddr:$src)>;
as:
def : Pat<(extload xaddr:$src, i8),
(LBZX xaddr:$src)>;
because tblgen knows LBZX returns i32.
llvm-svn: 28865
2006-06-20 00:31:27 +00:00
Chris Lattner
dbec49d574
Remove some ugly now-redundant casts.
...
llvm-svn: 28864
2006-06-20 00:25:29 +00:00
Chris Lattner
9500b343db
Make sure to use the result of the pattern to infer the result type of the
...
instruction, and the result type of the instruction to refine the pattern.
This allows us to write things like this:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
as:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)>
and fixes a ppc64 issue.
llvm-svn: 28863
2006-06-20 00:18:02 +00:00
Chris Lattner
55594634d7
Fix some mismatched type constraints
...
llvm-svn: 28862
2006-06-20 00:12:37 +00:00
Jim Laskey
2837e3204f
References need to be section relative.
...
llvm-svn: 28861
2006-06-19 19:49:42 +00:00
Evan Cheng
cd58e9d8b9
Minor clean up.
...
llvm-svn: 28860
2006-06-19 19:25:30 +00:00
Andrew Lenharth
a565dfda8e
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes)
...
llvm-svn: 28859
2006-06-19 18:23:36 +00:00
Jim Laskey
f32058a2b7
References need to be section relative.
...
llvm-svn: 28858
2006-06-19 15:48:00 +00:00
Andrew Lenharth
4335b3486a
Fix a bug, don't drop indirect call sites, especially if there is nothing known about them yet, and restore a simple version of a removed function
...
llvm-svn: 28857
2006-06-19 15:42:47 +00:00
Jim Laskey
90cd68acc6
Handle versioning of compile unit.
...
llvm-svn: 28855
2006-06-19 12:54:15 +00:00
Rafael Espindola
a88966fd5e
initial implementation of ARMRegisterInfo::eliminateFrameIndex
...
fixes test/Regression/CodeGen/ARM/ret_arg5.ll
llvm-svn: 28854
2006-06-18 00:08:07 +00:00
Chris Lattner
7a708989df
Constant fold sqrtf
...
llvm-svn: 28853
2006-06-17 18:17:52 +00:00
Chris Lattner
0b2652027b
Just a minor tweak so you can run things like:
...
TestRunner.sh Foo/Bar/test.ll
instead of just
TestRunner.sh test.ll
which is convenient in conjunction with find.
llvm-svn: 28852
2006-06-17 08:06:33 +00:00
Evan Cheng
0c9be0a2be
Clean up
...
llvm-svn: 28851
2006-06-17 01:42:20 +00:00
Chris Lattner
053fb9319d
Fix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where a
...
"LCSSA" phi node causes indvars to break dominance properties. This fixes
causes indvars to avoid inserting aggressive code in this case, instead
indvars should be fixed to be more aggressive in the face of lcssa phi's.
llvm-svn: 28850
2006-06-17 01:02:31 +00:00
Chris Lattner
fefc14d891
new testcase that crashes indvars
...
llvm-svn: 28849
2006-06-17 01:01:30 +00:00
Evan Cheng
a54b9643aa
A new entry.
...
llvm-svn: 28848
2006-06-17 00:45:49 +00:00
Chris Lattner
49cadab385
Implement the getPointerRegClass method, which is required for the ptr_rc
...
magic to work.
llvm-svn: 28847
2006-06-17 00:01:04 +00:00
Jim Laskey
8dd21436db
Forgot operands were hard coded for compile unit.
...
llvm-svn: 28846
2006-06-16 23:36:12 +00:00
Jim Laskey
6b6e369e8a
Include information of svn repository for llvm-gcc4.
...
llvm-svn: 28845
2006-06-16 23:34:49 +00:00
Jim Laskey
34ea26a8b9
Include information about svn repository for llvm-gcc4.
...
llvm-svn: 28844
2006-06-16 23:20:21 +00:00
Evan Cheng
d2e9a67cd9
Later models likely to have Yonah like attributes.
...
llvm-svn: 28843
2006-06-16 21:58:49 +00:00
Chris Lattner
64e85f309f
Do not hardcode random paths into the makefile. Make the user specify the
...
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.
llvm-svn: 28842
2006-06-16 21:47:59 +00:00
Chris Lattner
638ee4ee15
Upgrade some load/store instructions to use the proper addressing mode stuff.
...
llvm-svn: 28841
2006-06-16 21:29:41 +00:00
Chris Lattner
e8fe5e2bf4
In 64-bit mode, addr mode operands use G8RC instead of GPRC.
...
llvm-svn: 28840
2006-06-16 21:29:03 +00:00
Chris Lattner
a5190ae7a9
fix some assumptions that pointers can only be 32-bits. With this, we can
...
now compile:
static unsigned long X;
void test1() {
X = 0;
}
into:
_test1:
lis r2, ha16(_X)
li r3, 0
stw r3, lo16(_X)(r2)
blr
Totally amazing :)
llvm-svn: 28839
2006-06-16 21:01:35 +00:00
Chris Lattner
b429983988
Split 64-bit instructions out into a separate .td file
...
llvm-svn: 28838
2006-06-16 20:22:01 +00:00
Chris Lattner
61d703183e
Force 64-bit register availability in 64-bit mode. For real.
...
llvm-svn: 28837
2006-06-16 20:05:06 +00:00
Chris Lattner
c9ede19a8e
Document known xcode 2.3 issue
...
llvm-svn: 28836
2006-06-16 19:53:39 +00:00
Chris Lattner
a7d9db2fa5
Remove the -darwin and -aix llc options, inferring darwinism and aixism from
...
the target triple & subtarget info. woo.
llvm-svn: 28835
2006-06-16 18:50:48 +00:00
Evan Cheng
8a417a2fde
Add missing casts. This fixed some regressions.
...
llvm-svn: 28834
2006-06-16 18:37:15 +00:00
Chris Lattner
4b464768d1
Improve a comment.
...
llvm-svn: 28833
2006-06-16 18:25:06 +00:00
Chris Lattner
6c79005b0d
Simplify TargetData ctor call
...
llvm-svn: 28832
2006-06-16 18:24:38 +00:00
Chris Lattner
16cf81306e
Don't pass target name into TargetData anymore, it is never used or needed.
...
llvm-svn: 28831
2006-06-16 18:23:49 +00:00
Chris Lattner
f3b5b92e58
Don't pass target name into TargetData anymore, it is never used or needed.
...
Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
llvm-svn: 28830
2006-06-16 18:22:52 +00:00
Chris Lattner
e16e1cbf3a
Simplify the targetdata ctor by not passing in a "targetname" which is always
...
ignored.
llvm-svn: 28829
2006-06-16 18:21:53 +00:00
Chris Lattner
7f043b52ff
Remove ctor with each piece specifyable (which causes overload ambiguities),
...
add a new init method.
llvm-svn: 28828
2006-06-16 18:11:26 +00:00
Chris Lattner
e796266d58
Only count instructions as code size, not constant pools and other per-function stuff.
...
llvm-svn: 28827
2006-06-16 18:09:26 +00:00
Chris Lattner
91f228b291
Simplify interpreter construction.
...
llvm-svn: 28826
2006-06-16 18:08:38 +00:00
Chris Lattner
16682fff2b
Document the subtarget features better, make sure that 64-bit mode, 64-bit
...
support, and 64-bit register use are all consistent with each other.
Add a new "IsPPC" feature, to distinguish ppc32 vs ppc64 targets, use this
to configure TargetData differently. This not makes ppc64 blow up on lots
of stuff :)
llvm-svn: 28825
2006-06-16 17:50:12 +00:00
Chris Lattner
a35f306740
Rename some subtarget features. A CPU now can *have* 64-bit instructions,
...
can in 32-bit mode we can choose to optionally *use* 64-bit registers.
llvm-svn: 28824
2006-06-16 17:34:12 +00:00
Chris Lattner
29052c849f
apple's compiler works too
...
llvm-svn: 28823
2006-06-16 17:20:33 +00:00
Jim Laskey
c1066841bd
PR# not associated with XFAIL
...
llvm-svn: 28822
2006-06-16 16:57:43 +00:00
Jim Laskey
fd4b2e234a
debug info is alive again
...
llvm-svn: 28821
2006-06-16 16:50:24 +00:00
Chris Lattner
9cce4a54aa
This test isn't implemented yet
...
llvm-svn: 28820
2006-06-16 16:36:50 +00:00
Andrew Lenharth
0686842037
Add a error message to cbu to match bu
...
llvm-svn: 28819
2006-06-16 14:43:36 +00:00
Andrew Lenharth
fbee2e56cf
move header
...
llvm-svn: 28818
2006-06-16 14:33:53 +00:00
Jim Laskey
b6a6f7971f
add decimal form of LLVMDebugVersion
...
llvm-svn: 28817
2006-06-16 13:45:38 +00:00
Jim Laskey
b2ff2d481e
1. Revise vector debug support.
...
2. Update docs for vector debug support and new version control.
3. Simplify serialization of DebugDescInfo subclasses.
llvm-svn: 28816
2006-06-16 13:14:03 +00:00
Evan Cheng
1fc4025a9c
More libcall transformations:
...
printf("%s\n", str) -> puts(str)
printf("%c", c) -> putchar(c)
Also fixed fprintf(file, "%c", c) -> fputc(c, file)
llvm-svn: 28815
2006-06-16 08:36:35 +00:00
Evan Cheng
f2ea587aa2
Simplify fprintf(file, "%s", str) to fputs(str, file).
...
llvm-svn: 28814
2006-06-16 04:52:30 +00:00
Chris Lattner
0c4aa14deb
First baby step towards ppc64 support. This adds a new -march=ppc64 backend
...
that is currently just like ppc32 :)
llvm-svn: 28813
2006-06-16 01:37:27 +00:00
Chris Lattner
44ab8aefa6
Fix Regression/Linker/2006-06-15-GlobalVarAnment.ll
...
llvm-svn: 28812
2006-06-16 01:24:04 +00:00
Chris Lattner
e9ad44e8b1
New testcase, the linker is not merging alignments right.
...
llvm-svn: 28811
2006-06-16 01:20:58 +00:00
Reid Spencer
57e8e38a6f
Only print the stack trace if it was requested. Previously, any call into
...
the Signals module that registered the handlers would cause the stack trace
to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal
in order for that to happen.
llvm-svn: 28810
2006-06-16 00:00:57 +00:00
Chris Lattner
4ff6c1646f
Teach the local allocator to know that live-in values (e.g. arguments) are
...
live at function entry. This prevents it from using arg registers for other
purposes before the arguments are used.
llvm-svn: 28809
2006-06-15 22:21:53 +00:00
Chris Lattner
cb29586ce4
Add a note that Nate noticed.
...
llvm-svn: 28808
2006-06-15 21:33:31 +00:00
Jim Laskey
19f964e048
1. Support standard dwarf format (was bootstrapping in Apple format.)
...
2. Add vector support.
llvm-svn: 28807
2006-06-15 20:51:43 +00:00
Jim Laskey
3519b87758
Was pointed out that structure alignment and type alignment are not the same
...
thing. Doubles still need to be special cased.
llvm-svn: 28806
2006-06-15 19:37:14 +00:00
Jim Laskey
9095eec0a2
Make sure global doubles and vectors are aligned properly.
...
llvm-svn: 28805
2006-06-15 19:35:07 +00:00
Chris Lattner
9d343d2799
Add some more matcher classes for shifts.
...
llvm-svn: 28804
2006-06-15 19:25:28 +00:00
Chris Lattner
c482a9e31a
Implement Transforms/InstCombine/bswap.ll, turning common shift/and/or bswap
...
idioms into bswap intrinsics.
llvm-svn: 28803
2006-06-15 19:07:26 +00:00
Chris Lattner
c09a6ea07a
new testcase, instcombine should turn these into llvm.bswap intrinsics.
...
llvm-svn: 28802
2006-06-15 19:06:42 +00:00
Chris Lattner
3743bd84cd
Fix building on case-sensitive file systems, grr :)
...
llvm-svn: 28801
2006-06-15 17:31:22 +00:00
Reid Spencer
aba6398f8b
Actually add instructions to the list of defined values so it gets
...
recognized as such! This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.
llvm-svn: 28800
2006-06-15 16:09:59 +00:00
Jim Laskey
dce07568f2
Alignment of globals has not been quite right. Needed to drop the pointer type
...
to get the alignment of the element type.
llvm-svn: 28799
2006-06-15 13:10:58 +00:00
Evan Cheng
66f0e09313
Vector extract / insert index operand should have ptr type.
...
llvm-svn: 28798
2006-06-15 08:19:05 +00:00
Evan Cheng
94bb93f8f7
Type of extract_element index operand should be iPTR.
...
llvm-svn: 28797
2006-06-15 08:18:06 +00:00
Evan Cheng
de7156f12c
Type of vector extract / insert index operand should be iPTR.
...
llvm-svn: 28796
2006-06-15 08:14:54 +00:00
Evan Cheng
ef9e07d3f0
Consistency. EXTRACT_ELEMENT index operand should have ptr type.
...
llvm-svn: 28795
2006-06-15 08:11:54 +00:00
Evan Cheng
df63179d95
Assert. Rather than silently stop printing.
...
llvm-svn: 28794
2006-06-15 08:10:56 +00:00
Evan Cheng
1dfdffb9b2
Avoid undesirable behavior when assert is not enabled.
...
llvm-svn: 28793
2006-06-15 08:10:27 +00:00
Evan Cheng
55772ccfd6
Instructions with variable operands (variable_ops) can have a number required
...
operands. e.g.
def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops),
"call {*}$dst", [(X86call GR32:$dst)]>;
TableGen should emit operand informations for the "required" operands.
Added a target instruction info flag M_VARIABLE_OPS to indicate the target
instruction may have more operands in addition to the minimum required
operands.
llvm-svn: 28791
2006-06-15 07:22:16 +00:00
Evan Cheng
5d038cf802
Allow more use of iPTR in patterns.
...
llvm-svn: 28790
2006-06-15 00:16:37 +00:00
Evan Cheng
c8734381ac
X86 call instructions can take variable number of operands. Parameters of
...
vector types are passed via XMM registers.
llvm-svn: 28789
2006-06-14 22:24:55 +00:00
Evan Cheng
ff7c28dfdd
Added support for variable_ops.
...
llvm-svn: 28788
2006-06-14 22:22:20 +00:00
Chris Lattner
37c1c44c14
add a note
...
llvm-svn: 28787
2006-06-14 21:26:18 +00:00
Chris Lattner
4fce8940b0
new testcase, not currently working.
...
llvm-svn: 28786
2006-06-14 21:24:57 +00:00
Evan Cheng
1ce02e4c49
Fix support for optional input flag.
...
llvm-svn: 28784
2006-06-14 19:27:50 +00:00
Evan Cheng
ca25486603
Add argument registers to the end of call operand list (partial fix).
...
llvm-svn: 28783
2006-06-14 18:17:40 +00:00
Jim Laskey
f0a7a1a117
Change versioning to per debug info descriptor (merged with tag.)
...
llvm-svn: 28782
2006-06-14 14:45:39 +00:00
Jim Laskey
f67bec0579
Place dwarf headers at earliest possible point. Well behaved when skipping
...
functions.
llvm-svn: 28781
2006-06-14 11:35:03 +00:00
Chris Lattner
0c4f5a655a
Fix Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll, a loop unswitch
...
bug exposed by the recent lcssa work.
llvm-svn: 28779
2006-06-14 04:46:17 +00:00
Chris Lattner
d3c7db5fa8
new testcase, distilled from povray
...
llvm-svn: 28778
2006-06-14 04:45:45 +00:00
Owen Anderson
4e744af80c
When asked not to delete useless PHIs, really don't delete them, no matter how
...
redundant they are.
llvm-svn: 28777
2006-06-14 04:43:14 +00:00
Chris Lattner
e3abb14503
Use the PotDoms map to memoize 'dominating value' lookup. With this patch,
...
LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes
39s instead of 289s. :)
llvm-svn: 28776
2006-06-14 01:13:57 +00:00
Evan Cheng
632ee8de55
getOperandNum(): error if specified operand number is out of range.
...
llvm-svn: 28775
2006-06-13 21:47:27 +00:00
Owen Anderson
e714a5c549
Fix another instance where PHI nodes need special treatment.
...
llvm-svn: 28774
2006-06-13 20:50:09 +00:00
Owen Anderson
7e428625c9
Update isLCSSAForm to handle PHI nodes specially for live-out detection. This
...
is the same as the recent patch to LCSSA.cpp.
llvm-svn: 28773
2006-06-13 20:45:22 +00:00
Andrew Lenharth
7c69df968c
I am sure I had commited this workaround before. Perhaps soon I should sort it all out
...
llvm-svn: 28772
2006-06-13 20:34:47 +00:00
Owen Anderson
3f8ff0449a
Fix a bug that was causing major slowdowns in povray. This was due to LCSSA
...
not handling PHI nodes correctly when determining if a value was live-out.
This patch reduces the number of detected live-out variables in the testcase
from 6565 to 485.
llvm-svn: 28771
2006-06-13 19:37:18 +00:00
Andrew Lenharth
f570feeae3
It really helps to be returning to the correct place
...
llvm-svn: 28769
2006-06-13 18:27:39 +00:00
Chris Lattner
c5bb8ab1d5
Port some bugfixes in shift handling from SimplifyDemandedBits over to
...
ComputeMaskedBits. DemandedMasks and KnownZero/One masks should never have
bits set out of the range of the base datatype.
llvm-svn: 28768
2006-06-13 16:52:37 +00:00
Jim Laskey
a48a176321
My original test case was bogus. Reverting to crasher case.
...
llvm-svn: 28767
2006-06-13 15:22:49 +00:00
Jim Laskey
fe25b30c6d
Tests to make sure that ComputeMaskedBits discards bits for shifts.
...
llvm-svn: 28766
2006-06-13 13:10:44 +00:00
Jim Laskey
8cac9cd5f6
TargetLowering::ComputeMaskedBits was not clearing reciprocal bits on shifts.
...
llvm-svn: 28765
2006-06-13 13:08:58 +00:00
Evan Cheng
17ca732b6a
Cygwin support: use _alloca to allocate stack if > 4k. Patch by Anton Korobeynikov.
...
llvm-svn: 28764
2006-06-13 05:14:44 +00:00
Chris Lattner
20ec1654b1
Teach bugpoint to kill optimization passes that run over the timeout limit,
...
which allows it to debug optimizer infinite loops. This patch is contributed
by Nick Lewycky, thanks!
llvm-svn: 28763
2006-06-13 03:10:48 +00:00
Chris Lattner
d2d29a088e
Decribe the "implementation" keyword.
...
llvm-svn: 28762
2006-06-13 03:05:47 +00:00
Chris Lattner
ac59ab515a
Gaar! Don't use r11 for CR save/restore, use R0. R11 can be register
...
allocated, thus live across the save/reload. This fixes
llc-beta /MultiSource/Applications/spiff/spiff
llc-beta /MultiSource/Benchmarks/sim/sim:
llc-beta /MultiSource/Benchmarks/Ptrdist/bc/bc
llc-beta /MultiSource/Benchmarks/McCat/12-IOtest/iotest:
llc-beta /MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow
llc-beta /MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1
llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio
llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio
llc-beta /MultiSource/Benchmarks/mediabench/g721/g721encode/encode
llc-beta /MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg
and probably others, with -regalloc=local.
llvm-svn: 28761
2006-06-12 23:59:16 +00:00
Chris Lattner
6b043a24a1
Fix spilling and reloading of CR regs to reload the right values. This fixes
...
Olden/power (and probably others) with -regalloc=local.
llvm-svn: 28760
2006-06-12 21:50:57 +00:00
Owen Anderson
fd0a3d6e5c
Reapply my 6/9 changes. The bug Evan saw no longer occurs.
...
llvm-svn: 28759
2006-06-12 21:49:21 +00:00
Chris Lattner
b5c9d7a0af
Fix an infinite loop on Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
...
llvm-svn: 28758
2006-06-12 20:18:01 +00:00
Chris Lattner
9c4ddf8314
TEstcase that makes simplifycfg infloop.
...
llvm-svn: 28757
2006-06-12 20:17:44 +00:00
Chris Lattner
b3c62e43d1
Add a new -compileflags options, remove old externals location specifiers.
...
People should just use -with-externals.
llvm-svn: 28756
2006-06-12 19:03:17 +00:00
Chris Lattner
32d92e004d
Make sure to update the CFG correctly if a switch only has a default dest.
...
This fixes CodeGen/Generic/2006-06-12-LowerSwitchCrash.ll
llvm-svn: 28755
2006-06-12 18:25:29 +00:00
Chris Lattner
eecff6c21f
New testcase that crashes llc
...
llvm-svn: 28754
2006-06-12 18:24:32 +00:00
Andrew Lenharth
80528499cf
Let the alpha breakage begin. First Formals and RET. next Calls
...
llvm-svn: 28753
2006-06-12 18:09:24 +00:00
Andrew Lenharth
0e57b2cb92
Start on my todo list
...
llvm-svn: 28752
2006-06-12 16:07:18 +00:00
Rafael Espindola
4e76015e0b
lower more then 4 formal arguments. The offset is currently hard coded.
...
implement SelectFrameIndex
llvm-svn: 28751
2006-06-12 12:28:08 +00:00
Owen Anderson
0ac336965e
Fix for 2006-06-26-MultipleExitsSingleBlock.
...
If a single exit block has multiple predecessors within the loop, it will
appear in the exit blocks list more than once. LCSSA needs to take that into
account so that it doesn't double process that exit block.
llvm-svn: 28750
2006-06-12 07:10:16 +00:00
Owen Anderson
ecb8036e60
Make sure that LCSSA works properly when it encounters an exit block that has
...
more than one predecessor inside the loop.
llvm-svn: 28749
2006-06-12 07:05:47 +00:00
Owen Anderson
b538f14d2a
Re-commit the safe parts of my 6/9 patch. Still working on fixing the unsafe parts.
...
llvm-svn: 28748
2006-06-11 19:22:28 +00:00
Evan Cheng
1b6e310e6f
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others).
...
llvm-svn: 28747
2006-06-11 09:32:57 +00:00
Chris Lattner
bfd0b6d8e4
Add a missing assertion that would have helped out Reid
...
llvm-svn: 28746
2006-06-10 04:16:23 +00:00
Chris Lattner
b055c8737f
Work around a nasty tblgen bug where it doesn't add operands for varargs
...
nodes correctly.
llvm-svn: 28745
2006-06-10 01:15:02 +00:00
Chris Lattner
006b2c6ab9
Fix a problem exposed by the local allocator. CALL instructions are not marked
...
as using incoming argument registers, so the local allocator would clobber them
between their set and use. To fix this, we give the call instructions a variable
number of uses in the CALL MachineInstr itself, so live variables understands
the live ranges of these register arguments.
llvm-svn: 28744
2006-06-10 01:14:28 +00:00
Chris Lattner
deafba0325
Wrap to 80 cols
...
llvm-svn: 28743
2006-06-09 23:59:44 +00:00
Chris Lattner
572e78c2f9
After telling GCC to type of the input file with -x asm/-x c, switch back to
...
-x none, to not foul up autodetection of .a file or .dylibs.
llvm-svn: 28741
2006-06-09 21:31:53 +00:00
Evan Cheng
09cf82992b
Don't pull in environ, not always safe. Global variables are bad anyway.
...
Use execve when explicit environment variables ptr is available. Otherwise
just use execv.
llvm-svn: 28740
2006-06-09 20:43:11 +00:00
Owen Anderson
b1dc1d44f8
Add LCSSA as a requirement for LoopUnswitch, and assert that LoopUnswitch preserves
...
LCSSA.
llvm-svn: 28739
2006-06-09 18:40:32 +00:00
Owen Anderson
505adff3f0
Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass assert
...
on this.
llvm-svn: 28738
2006-06-09 18:33:30 +00:00
Evan Cheng
beedf824e3
Comments to appease sabre.
...
llvm-svn: 28737
2006-06-09 06:25:10 +00:00
Evan Cheng
0e14a56d35
Minor compilation speed improvement.
...
llvm-svn: 28736
2006-06-09 06:24:42 +00:00
Evan Cheng
398f70292c
RewriteExpr, either the new PHI node of induction variable or the
...
post-increment value, should be first cast to the appropriated type (to the
type of the common expr). Otherwise, the rewrite of a use based on (common +
iv) may end up with an incorrect type.
llvm-svn: 28735
2006-06-09 00:12:42 +00:00
Owen Anderson
5d029264ec
Update some comments, and expose LCSSAID in preparation for having other passes
...
require LCSSA.
llvm-svn: 28734
2006-06-08 20:02:53 +00:00
Chris Lattner
c03a9259c0
Fix X86/inline-asm.ll:test2, a case where an input value was implicitly
...
truncated.
llvm-svn: 28733
2006-06-08 18:27:11 +00:00
Chris Lattner
38b318d436
Add new testcase
...
llvm-svn: 28732
2006-06-08 18:26:48 +00:00
Chris Lattner
705948d742
Fix Regression/CodeGen/X86/inline-asm.ll, a case where inline asm causes
...
implement extension of a register.
llvm-svn: 28731
2006-06-08 18:22:48 +00:00
Chris Lattner
1b66dd690c
New testcase, using "AX" as i32.
...
llvm-svn: 28730
2006-06-08 18:20:13 +00:00
Reid Spencer
36bc2b00eb
Squelch a warning about signed/unsigned.
...
llvm-svn: 28729
2006-06-08 18:08:43 +00:00
Chris Lattner
ba1ed585ee
Add support for "m" inline asm constraints.
...
llvm-svn: 28728
2006-06-08 18:03:49 +00:00
Chris Lattner
8f8b5e4631
Fix an assert-on-inline-inline-asm bug.
...
llvm-svn: 28727
2006-06-08 18:00:47 +00:00
Reid Spencer
5e91c03fa9
For PR804:
...
Change the file size field of StatusInfo to be uint64_t instead of size_t
so that we know it is always 64 bits. This prevents some overflow on
systems where size_t is 32 bits when it ought to be 64.
llvm-svn: 28726
2006-06-08 17:00:08 +00:00
Vladimir Prus
9bc4009e9b
Remove dead code.
...
llvm-svn: 28725
2006-06-08 16:03:13 +00:00
Vladimir Prus
b5b6dc49e2
New method BasicBlock::getFirstNonPHI.
...
llvm-svn: 28724
2006-06-08 15:46:18 +00:00
Chris Lattner
c944417749
This no longer needs plugins, this it doesn't need all of VMCore.
...
llvm-svn: 28723
2006-06-08 00:25:44 +00:00
Reid Spencer
ab97f22ccc
For PR787:
...
Provide new llvm::sys::Program facilities for converting the stdout and
stdin to binary mode. There is no standard way to do this and the available
mechanisms are platform specific. Adjust the bytecode reader and writer to
use these methods when their input is stdin or output is stdout. THis avoids
the problem with \n writing CRLF to a bytecode file on windows.
Patch Contributed by Michael Smith.
llvm-svn: 28722
2006-06-07 23:18:34 +00:00
Reid Spencer
ed95105b45
Shorten a value description so --help out isn't so wide.
...
llvm-svn: 28721
2006-06-07 23:07:51 +00:00
Reid Spencer
c1588f624c
Make sure this tool links in all of libVMCore.a because it can --load
...
shared objects.
llvm-svn: 28720
2006-06-07 23:06:50 +00:00
Reid Spencer
5113dc5cfe
For PR780:
...
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.
llvm-svn: 28719
2006-06-07 23:03:13 +00:00
Chris Lattner
5bd30fa310
Add a virtual dtor to the InlineAsm class so that the principle method of
...
the class can be defined in InlineAsm.cpp
llvm-svn: 28718
2006-06-07 22:47:44 +00:00
Chris Lattner
5ff8b962c8
Fix a bug where the types for inlineasm nodes were not properly entered into
...
the compaction table for a function. This broke compilation of hexxagon
on darwin/x86 with recent changes.
llvm-svn: 28717
2006-06-07 22:20:03 +00:00
Reid Spencer
fa80953280
Previous version of this file wasn't supposed to be committed. This version
...
attempts to get all of libVMCore.a through the least number of declarations.
llvm-svn: 28716
2006-06-07 22:09:38 +00:00
Reid Spencer
be535661cc
For PR780:
...
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.
llvm-svn: 28715
2006-06-07 22:00:26 +00:00
Reid Spencer
d4b795902c
Fix a spello in a comment.
...
llvm-svn: 28714
2006-06-07 21:24:10 +00:00
Reid Spencer
1707fcb7db
For PR780:
...
This change was suggested by Chris so that we can select an alternate
(or even no-op) implementation of the link assurance. I'm committing this
for your review, Chris. If the names and definitions are okay, I'll adjust
all the .h and .cpp files in a later patch.
llvm-svn: 28712
2006-06-07 20:35:46 +00:00
Reid Spencer
54cb2d8533
For PR780:
...
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.
llvm-svn: 28709
2006-06-07 20:00:19 +00:00
Evan Cheng
5fc4f3328f
Add -extraflags FLAGS to pass extra compilation options.
...
llvm-svn: 28707
2006-06-07 05:28:07 +00:00
Chris Lattner
3273056546
Remove useless noop argument
...
llvm-svn: 28706
2006-06-07 00:43:18 +00:00
Chris Lattner
64064c2157
Fix a bug in the following scenario.
...
1. llvm is built with objroot = OBJ and installed.
2. OBJ is deleted or install tree is shipped.
3. llvm-config is run.
In this scenario, llvm-config shouldn't emit an error message at #3 , it
should just know it's not running in the objdir :)
llvm-svn: 28704
2006-06-06 23:54:15 +00:00
Evan Cheng
dc614c193e
Added X86FunctionInfo subclass of MachineFunction to record whether the
...
function that is being lowered is forced to use FP. Currently this is only
true for main() / Cygwin.
llvm-svn: 28703
2006-06-06 23:30:24 +00:00
Chris Lattner
7f9dcde368
document --libfiles
...
llvm-svn: 28702
2006-06-06 22:39:59 +00:00
Chris Lattner
330d4d006a
Add a new --libfiles option, for getting fully-qualified pathnames to libraries.
...
This can be used for tools that want makefile rules to depend on the libraries
(e.g. so the tool is relinked when a library changes).
llvm-svn: 28701
2006-06-06 22:38:29 +00:00
Chris Lattner
d63b1b5a1f
Move toolrunner out of libsupport into the bugpoint tool
...
llvm-svn: 28700
2006-06-06 22:31:36 +00:00
Chris Lattner
ffac286737
Move ToolRunner.(cpp|h) into the bugpoint directory
...
llvm-svn: 28699
2006-06-06 22:30:59 +00:00
Chris Lattner
95cebb082f
Fix a bug in a recent patch. This fixes UnitTests/Vector/Altivec/casts.c on
...
PPC/altivec
llvm-svn: 28698
2006-06-06 22:26:02 +00:00
Chris Lattner
16826c3503
Now that PR633 is implemented, the CBE can know to emit _setjmp/_longjmp
...
when available. This speeds up hexxagon from 18.61s to 16.61s with the CBE on
PPC Mac OS (for reference, LLC is 15.48s and GCC is 23.35s).
llvm-svn: 28697
2006-06-06 21:45:47 +00:00
Chris Lattner
c8587d4b81
Add PowerPC intrinsics to support dcbz[l]
...
llvm-svn: 28696
2006-06-06 21:29:23 +00:00
Chris Lattner
54a417be00
Make the llvm-config library dependency database depend on all of the libraries.
...
llvm-svn: 28695
2006-06-06 17:43:03 +00:00
Owen Anderson
ac601b4c4b
Fix some formatting, and use inLoop() when appropriate.
...
llvm-svn: 28694
2006-06-06 04:36:36 +00:00
Owen Anderson
9e81c1bb03
Stop a memory leak, and update some comments.
...
llvm-svn: 28693
2006-06-06 04:28:30 +00:00
Reid Spencer
c3065b7d3f
Add the -Xlinker option to bugpoint which allows an option to be passed
...
through to gcc when its being used as a linker. This allows -L and -l
(and any other) options to be added so that non-complete bytecode files
can be processed with bugpoint. The -Xlinker option can be added as many
times as needed.
llvm-svn: 28692
2006-06-06 00:00:42 +00:00
Rafael Espindola
6306becc49
add R0 to liveout
...
expand "ret null" (implements test/Regression/CodeGen/ARM/ret_void.ll)
note that a Flag link is missing between the copy and the branch
llvm-svn: 28691
2006-06-05 22:26:14 +00:00
Reid Spencer
0075b2f5b0
Document the cl::SetVersionPrinter function.
...
llvm-svn: 28690
2006-06-05 17:30:16 +00:00
Reid Spencer
9017064cc7
For PR778:
...
Move file-scoped documentation to class-scoped so it is more readily
accessible.
llvm-svn: 28689
2006-06-05 16:29:06 +00:00
Reid Spencer
614cb2ff82
For PR798:
...
Provide GraphViz support for MingW32. Patch provided by Anton Korobeynikov
llvm-svn: 28688
2006-06-05 16:26:06 +00:00
Reid Spencer
b3171678ee
Make it possible to override the standard version printer. Not all tools
...
built with CommandLine.h will want the --version option to report that the
tool belongs to LLVM. To override simply pass a void func() to the
cl::SetVersionPrinter() function and that void func() will be called when
it is time to print the version information.
llvm-svn: 28687
2006-06-05 16:22:56 +00:00
Reid Spencer
a31ac4eae9
For PR633:
...
Add configure checks for setjmp/longjmp for Chris. I can't believe this easy
PR has been outstanding for so long. If I don't get to something, please
remind me! :)
llvm-svn: 28686
2006-06-05 16:11:07 +00:00
Reid Spencer
627023a491
Some enhancements for gv/graphviz/dot/dotty support and better handling of
...
paths under MingW.
llvm-svn: 28685
2006-06-05 15:54:38 +00:00
Reid Spencer
7c77323e1d
For PR798:
...
Add support for Graphviz. Patch contributed by Anton Korobeynikov.
llvm-svn: 28684
2006-06-05 15:44:46 +00:00
Evan Cheng
0f29df98a1
A few new entries.
...
llvm-svn: 28683
2006-06-04 09:08:00 +00:00
Evan Cheng
0de66677e7
Be consistent with gcc.
...
llvm-svn: 28682
2006-06-04 07:24:07 +00:00
Owen Anderson
9e69c67ebe
Update the regression tests, and add a new one encountered while compiling crtend.
...
llvm-svn: 28681
2006-06-04 00:56:30 +00:00
Owen Anderson
766f90b08e
Some more clean-up, and squash an IDF-Phi related bug.
...
llvm-svn: 28680
2006-06-04 00:55:19 +00:00
Andrew Lenharth
b47461350c
ignore ordered/unordered for now
...
llvm-svn: 28679
2006-06-04 00:25:51 +00:00
Owen Anderson
eb33815f1b
Various clean-ups suggested by Chris.
...
llvm-svn: 28678
2006-06-04 00:02:23 +00:00
Owen Anderson
d00eacc4f9
Fix a bug in Phi-noded insertion. Also, update some comments to reflect what's
...
actually going on.
llvm-svn: 28677
2006-06-03 23:22:50 +00:00
Reid Spencer
b9303d6b61
Document the LINK_LIBS_IN_SHARED control variable.
...
llvm-svn: 28676
2006-06-03 18:55:33 +00:00
Chris Lattner
78e03500ed
temporarily add back this option, I will remove it in a couple days
...
llvm-svn: 28675
2006-06-02 23:43:27 +00:00
Reid Spencer
432b315843
For PR798:
...
Have configure find the "dotty" program and adjust configuration.
llvm-svn: 28674
2006-06-02 23:13:18 +00:00
Chris Lattner
2ad80c2d17
More of PR728, don't install utils either.
...
llvm-svn: 28673
2006-06-02 22:41:18 +00:00
Evan Cheng
e8a42360c5
Cygwin support. Patch by Anton Korobeynikov!
...
llvm-svn: 28672
2006-06-02 22:38:37 +00:00
Chris Lattner
f566821f36
Part of PR728, don't install examples or projects.
...
llvm-svn: 28671
2006-06-02 22:34:39 +00:00
Chris Lattner
e2e2492d8a
Fix a -pedantic warning
...
llvm-svn: 28670
2006-06-02 22:11:06 +00:00
Chris Lattner
dfa9b5aa68
Add flags to get access to build_mode, objdir, srcdir etc.
...
If installed, ignore the prefix the tree is configured with: always use the
prefix that llvm-config is currently at, which may be different if the tree
was moved.
llvm-svn: 28669
2006-06-02 22:03:50 +00:00
Chris Lattner
c04e4c13cc
Make llvm-config "do the right thing" when an install tree is relocated or
...
when run out of a build directory.
llvm-svn: 28668
2006-06-02 21:48:10 +00:00
Evan Cheng
a2efb9f3ec
Use xor to clear a register.
...
llvm-svn: 28667
2006-06-02 21:20:34 +00:00
Evan Cheng
7ae8632cb4
Incorrect AT&T opcode.
...
llvm-svn: 28666
2006-06-02 21:09:10 +00:00
Chris Lattner
753a92bdb7
Capture the build mode (e.g. Debug/Release) in the llvm-config script.
...
llvm-svn: 28665
2006-06-02 19:13:29 +00:00
Chris Lattner
540886f0ae
Remove unneeded hook. Patch by Anton K. Thanks!
...
llvm-svn: 28664
2006-06-02 19:11:46 +00:00
Chris Lattner
076f7336d4
Convert to standard file header
...
llvm-svn: 28663
2006-06-02 18:58:21 +00:00
Chris Lattner
0c32b9666d
Remove a couple of things no longer figured out by autoconf
...
llvm-svn: 28662
2006-06-02 18:55:36 +00:00
Chris Lattner
8fd1036612
Add mingw support, patch contributed by Anton
...
llvm-svn: 28661
2006-06-02 18:54:01 +00:00
Chris Lattner
02e0b4ddb7
Force anything that #includes llvm/Transforms/Utils/UnifyFunctionExitNodes.h
...
to link in the implementation. Thanks to Anton Korobeynikov for figuring out
what was going on here.
llvm-svn: 28660
2006-06-02 18:40:06 +00:00