Michael J. Spencer
618d21978d
Cleanup Whitespace.
...
llvm-svn: 112587
2010-08-31 06:36:46 +00:00
Michael J. Spencer
18f5005eb0
System: Fix getMagicNumber on windows.
...
getMagicNumber was treating the _binary_ data it read in as a
null terminated string. This resulted in the std::string
calculating the length, and causing an assert in other code that
assumed that the length it passed was the same as the length of
the string it would get back.
llvm-svn: 112586
2010-08-31 06:36:33 +00:00
Michael J. Spencer
1279e737f5
Fix spelling/typo.
...
llvm-svn: 112585
2010-08-31 06:36:22 +00:00
Devang Patel
417d72823a
Offset is not always unsigned number.
...
llvm-svn: 112584
2010-08-31 06:12:08 +00:00
Devang Patel
2cfc3af181
Simplify.
...
llvm-svn: 112583
2010-08-31 06:11:28 +00:00
Nick Lewycky
0464d1d7ec
Switch to DenseSet, simplifying much more code. We now have a single iteration
...
where we hash, compare and fold, instead of one iteration where we build up
the hash buckets and a second one to fold.
llvm-svn: 112582
2010-08-31 05:53:05 +00:00
Owen Anderson
376597c13e
Remove r111665, which implemented store-narrowing in InstCombine. Chris discovered a miscompilation in it, and it's not easily
...
fixable at the optimizer level. I'll investigate reimplementing it in DAGCombine.
llvm-svn: 112575
2010-08-31 04:41:06 +00:00
Bruno Cardoso Lopes
d9ef4a1a24
zap unused method. x86 is the only user and already has a more powerfull version
...
llvm-svn: 112571
2010-08-31 02:36:20 +00:00
Bruno Cardoso Lopes
dfd9dd5d75
Use X86ISD::MOVSS and MOVSD to represent the movl mask pattern, also fix the handling of those nodes when seeking for scalars inside vector shuffles
...
llvm-svn: 112570
2010-08-31 02:26:40 +00:00
Eric Christopher
901176a755
Rewrite slightly so we can expand for floating point types easier.
...
llvm-svn: 112568
2010-08-31 01:28:42 +00:00
Jakob Stoklund Olesen
9c39690edf
Add experimental -disable-physical-join command line option.
...
Eventually, we want to disable physreg coalescing completely, and let the
register allocator do its job using hints.
This option makes it possible to measure the impact of disabling physreg
coalescing.
llvm-svn: 112567
2010-08-31 01:27:49 +00:00
Owen Anderson
b58b3c0dda
Fix a typo.
...
llvm-svn: 112560
2010-08-30 23:59:30 +00:00
Eric Christopher
bbd1098989
If we have an unhandled type then assert, we shouldn't get here for
...
things we can't handle.
llvm-svn: 112559
2010-08-30 23:48:26 +00:00
Dan Gohman
f2d817192b
Update the descriptions of NoModRef and ModRef to be consistent
...
with the descriptions of Mod and Ref.
llvm-svn: 112557
2010-08-30 23:47:24 +00:00
Anton Korobeynikov
3a1d87a7ba
Fix borken test
...
llvm-svn: 112555
2010-08-30 23:41:49 +00:00
Owen Anderson
70b17c50e2
Combine these two tests, and make sure there's a newline at the end of the file.
...
llvm-svn: 112554
2010-08-30 23:37:41 +00:00
Owen Anderson
b974dbbdd7
Cleanups suggested by Chris.
...
llvm-svn: 112553
2010-08-30 23:34:17 +00:00
Owen Anderson
c910acb54a
Re-apply r112539, being more careful to respect the return values of the constant folding methods. Additionally,
...
use the ConstantExpr::get*() methods to simplify some constant folding.
llvm-svn: 112550
2010-08-30 23:22:36 +00:00
Anton Korobeynikov
48043d0173
Expand MOVi32imm in ARM mode after regalloc. This provides
...
scheduling opportunities (extra instruction can go in between
MOVT / MOVW pair removing the stall).
llvm-svn: 112546
2010-08-30 22:50:36 +00:00
Owen Anderson
30bacbdfdf
Add statistics to evaluate this pass.
...
llvm-svn: 112545
2010-08-30 22:45:55 +00:00
Owen Anderson
1ddcbbe49c
Revert r112539. It accidentally introduced a miscompilation.
...
llvm-svn: 112543
2010-08-30 22:33:41 +00:00
Owen Anderson
75f6037c7c
Fixes and cleanups pointed out by Chris. In general, be careful to handle 0 results from ComputeValueKnownInPredecessors
...
(indicating undef), and re-use existing constant folding APIs.
llvm-svn: 112539
2010-08-30 22:07:52 +00:00
Bill Wendling
87bb14c566
Use the existing T2I_bin_s_irs pattern instead of creating T2I_bin_sw_irs, which
...
is meant to do exactly the same thing. Thanks to Jim Grosbach for pointing this
out! :-)
llvm-svn: 112538
2010-08-30 22:05:23 +00:00
NAKAMURA Takumi
fe933eb8f6
Fix a comment.
...
llvm-svn: 112535
2010-08-30 21:54:03 +00:00
Jakob Stoklund Olesen
4d30f90e35
Remember to clear the shadow kill flag at the same time as clearing the real
...
kill flag.
This could cause duplicate kill flags when the same register was used twice in a
continuous sequence of STRs.
There is no small test case. <rdar://problem/8218046>
llvm-svn: 112534
2010-08-30 21:52:40 +00:00
Dan Gohman
60bcc102d7
Fix llc to run the verifier once, not twice.
...
llvm-svn: 112532
2010-08-30 21:41:20 +00:00
Owen Anderson
f45ee8128c
Remove this from the main tree. I'll host it out of tree.
...
llvm-svn: 112529
2010-08-30 21:34:26 +00:00
Dan Gohman
62ddc15f06
Add comments explaining why it's not necessary to include the
...
is-function-local flag in metadata uniquing bits.
llvm-svn: 112528
2010-08-30 21:18:41 +00:00
Bob Wilson
4cd8a126c3
Remove NEON vmovn intrinsic, replacing it with vector truncate operations.
...
Auto-upgrade the old intrinsic and update tests.
llvm-svn: 112507
2010-08-30 20:02:30 +00:00
Jim Grosbach
fef37287a8
Make ARM add rN, sp, #imm instructions rematerializable. That's how the address of locals is calculated, so this should
...
help relieve register pressure a bit. Recalculating the local address is
almost always going to be better than spilling.
llvm-svn: 112503
2010-08-30 19:49:58 +00:00
Eric Christopher
e7a9db16bb
Fix LLVM target initialization to deal with sociopathic outside projects
...
that like to randomly define things like "X86", regenerate autoconf bits
and update cmake.
Fixes PR7852.
Patch by Xerxes Rånby!
llvm-svn: 112499
2010-08-30 18:34:48 +00:00
Eric Christopher
470e84cfeb
Kill a couple of unused variables.
...
llvm-svn: 112498
2010-08-30 18:31:44 +00:00
Chris Lattner
3f54837161
nuke dead ivar which was supposed to be committed with r112496
...
llvm-svn: 112497
2010-08-30 18:16:27 +00:00
Chris Lattner
34bfab0ad5
two changes:
...
1) nuke ConstDataCoalSection, which is dead.
2) revise my previous patch for rdar://8018335,
which was completely wrong. Specifically, it doesn't
make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS,
because it is for readonly data. templates (it turns out)
go to const_coal_nt. The real fix for rdar://8018335 was
to give ConstTextCoalSection a section kind of ReadOnly
instead of Text.
llvm-svn: 112496
2010-08-30 18:12:35 +00:00
Bob Wilson
e2f8bdac14
When expanding NEON VST pseudo instructions, if the original super-register
...
operand is killed, add it to the expanded instruction as an implicit kill
operand instead of marking the individual subregs with kill flags. This
should work better in general and also handles the case for VST3 where one
of the subregs was not referenced in the expanded instruction and so was
not marked killed.
llvm-svn: 112494
2010-08-30 18:10:48 +00:00
Benjamin Kramer
b1b493bcab
MCELF: The value of all common symbols is the offset from the start of the section. Patch by Roman Divacky.
...
llvm-svn: 112492
2010-08-30 17:20:17 +00:00
Owen Anderson
9517943d11
It is possible to try to merge a not-constant with a constantrage, when dealing with ptrtoint ConstantExpr's.
...
Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is
sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order.
llvm-svn: 112489
2010-08-30 17:03:45 +00:00
Michael J. Spencer
2f997cdedf
Partially revert r112480. Caused test failures.
...
llvm-svn: 112486
2010-08-30 15:34:08 +00:00
NAKAMURA Takumi
e53cf6f85d
coff-dump.py: Fix PR7996. Now it is compatible to Python-2.4.
...
llvm-svn: 112485
2010-08-30 15:19:56 +00:00
Michael J. Spencer
7983340465
Fix constant-over-index.ll test on windows.
...
llvm-svn: 112483
2010-08-30 15:08:02 +00:00
Michael J. Spencer
41c18853c8
Test: Fix LLVMC tests on CMake.
...
The CMake build didn't define TEST_COMPILE_CXX_CMD. The tests assumed gcc.
llvm-svn: 112480
2010-08-30 14:49:00 +00:00
Benjamin Kramer
8548c892a8
Don't print two "0x" prefixes. Use a raw_ostream overload instead of llvm::format.
...
llvm-svn: 112479
2010-08-30 14:46:53 +00:00
NAKAMURA Takumi
9c0e59de64
EE/JIT: Do not invoke parent's ctors/dtors from main()! (PR3897)
...
On Mingw and Cygwin, the symbol __main is resolved to
callee's(eg. tools/lli) one, to invoke wrong duplicated ctors
(and register wrong callee's dtors with atexit(3)).
We expect, by callee, ExecutionEngine::runStaticConstructorsDestructors()
is called before ExecutionEngine::runFunctionAsMain() is called.
llvm-svn: 112474
2010-08-30 14:00:29 +00:00
Benjamin Kramer
8199447851
The value is offset from the start of the section for non-common symbols, submitted by Jordan Gordeev.
...
llvm-svn: 112473
2010-08-30 12:00:16 +00:00
Benjamin Kramer
f791b9fc56
Index external symbols by symbol table instead of parent section, by Roman Divacky.
...
llvm-svn: 112472
2010-08-30 11:59:29 +00:00
Benjamin Kramer
6ebea89316
Mark all common symbols external. This is not exactly correct but it lets apps
...
link for now and can be adjusted later. Patch by Roman Divacky.
llvm-svn: 112471
2010-08-30 11:56:55 +00:00
Duncan Sands
1b6744a376
Remove a hack that tries to understand incorrect triples from the
...
Triple class constructor. Only valid triples should now be used
inside LLVM - front-ends are now responsable for rejecting or
correcting invalid target triples. The Triple::normalize method
can be used to straighten out funky triples provided by users.
Give this a whirl through the buildbots to see if I caught all
places where triples enter LLVM.
llvm-svn: 112470
2010-08-30 10:57:54 +00:00
Duncan Sands
68c30907cc
Correct bogus module triple specifications.
...
llvm-svn: 112469
2010-08-30 10:48:29 +00:00
Owen Anderson
75c205e7e2
Add a new example to the LLVM distribution: a trace-based Brainfuck compiler that uses LLVM as its code generator.
...
llvm-svn: 112465
2010-08-30 07:33:39 +00:00
Chandler Carruth
1ddaacebf6
Attempt to remove the MSIL backend from CMake as well based on Chris's r112375.
...
llvm-svn: 112464
2010-08-30 07:25:54 +00:00