Johnny Chen
16fda6982b
In the same spirit of r101524, which removed the assert() from printAddrMode2OffsetOperand(),
...
this patch removes the assert() from printAddrMode3OffsetOperand() and adds a test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101529 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:57:21 +00:00
Dan Gohman
5b13a1a4c3
Revert 101520, which depended on 101503, which was reverted.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101528 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:36:41 +00:00
Johnny Chen
2fb10f17d8
Multiclass LdStCop was using pre-UAL syntax LDC<c>L for the L fragment. Changed
...
to the UAL syntax of LDCL<c>, instead.
Add a test case for this change which also tests the removal of assert() from
printAddrMode2OffsetOperand().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101527 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:33:23 +00:00
Duncan Sands
f72a53db44
Revert commit 101503 (johannes), in the hope of fixing the dragonegg build,
...
see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693
Original commit text:
Use a ValueMap not a std::map for the reason indicated
in the comment. This was causing nondeterministic changes
in inlining decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:28:59 +00:00
Johnny Chen
d73d187e33
Remove the assert() from printAddrMode2OffsetOperand(). " #0 and #-0" are
...
considered legal instructions.
Refs: A8.6.51 LDC, LDC2 (immediate) -- page A8-107, A8.6.58 LDR (immediate, ARM)
-- page A8-121, and A8.6.194 STR (immediate, ARM) -- page A8-395.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101524 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:10:52 +00:00
Dan Gohman
899dd9be7f
Trim a #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101520 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 18:45:11 +00:00
Dan Gohman
ec1fb6d09a
Revert r101455, which fails on the llvm-arm-linux buildbot.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101515 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 18:37:31 +00:00
Dale Johannesen
d4ed2a8636
Use a ValueMap not a std::map for the reason indicated
...
in the comment. This was causing nondeterministic changes
in inlining decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 18:16:08 +00:00
Evan Cheng
53f6ed9560
80 col.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101501 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 17:58:41 +00:00
Evan Cheng
182465c589
80 col.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101500 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 17:57:59 +00:00
Dan Gohman
33b7a291aa
Avoid creating virtual registers for unused values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101480 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 17:15:02 +00:00
Dan Gohman
ac7d05c4bf
Fix an assertion string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 16:55:18 +00:00
Dan Gohman
a44e522b7d
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101477 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 16:52:37 +00:00
Dan Gohman
b391bb8947
Disable inlining of recursive calls. It can complicate tailcallelim and
...
dependent analyses, and increase code size, so doing it profitably would
require more complex heuristics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 16:01:18 +00:00
Dan Gohman
ea25b48af3
Refine the detection of seemingly infinitely recursive calls where the
...
callee is expected to be expanded to something else by codegen, so that
normal infinitely recursive calls are still transformed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:57:50 +00:00
Gabor Greif
4ec2258ffb
reapply r101434
...
with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:33:14 +00:00
Dan Gohman
52d55bd224
Make callIsSmall accessible as a utility function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:14:50 +00:00
Dan Gohman
a5145c8d5a
Fix SCEVCommutativeExpr::print to be robust in the case of improper
...
expression canonicalization. Its job is to print what's there, not to
make judgements about it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:03:25 +00:00
Dan Gohman
630b58bb5a
Delete a blank line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 13:32:55 +00:00
Dan Gohman
54a48f448a
Add Debug+Coverage to more svn:ignore properties.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101457 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 13:29:35 +00:00
Bill Wendling
fef4c69728
Add JIT exception handling test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101455 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 09:04:28 +00:00
Bill Wendling
47639fc5be
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
...
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
section for the MCSymbol is never set. And thus the MCSymbol for the EH label
isn't marked as "defined". Because of that, TidyLandingPads removes the needed
landing pads from the JIT output. This breaks EH for every JIT program.
This is a work-around for this limitation. We pass in the label locations
map. If the label has a non-zero value, then it was "emitted" by the JIT and
TidyLandingPads shouldn't remove that label.
A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
upon the section being set to determine if it's defined or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 08:46:10 +00:00
Chris Lattner
8b5d9c8914
completed my pass over all 6+ months of commits, next step, format and make comprehendable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 06:20:22 +00:00
Evan Cheng
64b7bf71e8
Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding.
...
x86 support is off by default. It can be enabled with -promote-16bit.
Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101448 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 06:14:10 +00:00
Evan Cheng
47b7b9f228
Use getAL() rather than a major constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101446 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 05:46:06 +00:00
Dan Gohman
0772751edd
Add Debug+Coverage and friends to svn:ignore properties.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101445 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 05:31:57 +00:00
Eric Christopher
e429182c01
Add a check for posix_spawn.
...
Regenerate configure and other autoconf files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 05:14:21 +00:00
Dan Gohman
f89d1dc9b7
Refine further the scope where the global DebugLoc value is active.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 05:06:56 +00:00
Nick Lewycky
4b67bc1e80
Revert r64616 which worked around http://gcc.gnu.org/PR42757 , we just didn't
...
know it at the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101439 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 04:32:20 +00:00
Eric Christopher
107ae0ad8b
Silence an unused variable warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101438 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 04:02:04 +00:00
Chris Lattner
a0bada729f
fix comment noticed by Bob
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101437 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 02:32:17 +00:00
Gabor Greif
607a7ab3da
back out r101423 and r101397, they break llvm-gcc self-host on darwin10
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 01:16:20 +00:00
Chris Lattner
5f0378251c
move comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 01:05:52 +00:00
Chris Lattner
d55c1c1659
fix PR6832: we were using the alignment of a pointer when we
...
wanted the alignment of the pointee.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 01:05:38 +00:00
Dan Gohman
aa08c55e18
Create an exports file, so that the plugin only exports the onload symbol.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101431 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:43:25 +00:00
Dan Gohman
f6920033e0
Make things static that don't need to be referenced from outside the file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101430 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:42:57 +00:00
Chris Lattner
a001b66498
improve comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:38:19 +00:00
Dan Gohman
0b09e12bc7
Add an svn:ignore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:26:43 +00:00
Chris Lattner
4cc576bc5e
pull all the ConvertToScalarInfo code together into one
...
place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101427 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:24:57 +00:00
Chris Lattner
593375d04a
more refactoring: suck some stuff out of SRoA into
...
ConvertToScalarInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:20:00 +00:00
Gabor Greif
8db3f2c2ab
shift intrinsic operand
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101423 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 00:06:45 +00:00
Chris Lattner
c447207264
introduce a new ConvertToScalarInfo struct to simplify
...
CanConvertToScalar/MergeInType. Eliminate a pointless
LLVMContext argument to MergeInType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:50:26 +00:00
Jakob Stoklund Olesen
626f3d7a57
Avoid sinking machine instructions into a loop.
...
MachineLoopInfo is already available when MachineSinking runs, so the check is
free.
There is no test case because it would require a critical edge into a loop, and
CodeGenPrepare splits those. This check is just to be extra careful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101420 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:41:02 +00:00
Johnny Chen
cd52932dce
Added another test case for am3offset operand, testing Rn, #+/-imm8.
...
Previous checkin tested Rn, #+/-Rm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101418 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:23:40 +00:00
Jakob Stoklund Olesen
4b231c5705
Add test case for machine-sink on critical edges
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101416 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:19:16 +00:00
Johnny Chen
1cfa094562
Fixed a bug in ARM disassembly where LDRSBT should have am3offset operand, not
...
am2offset. Modified the instruction table entry and added a new test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101415 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:12:47 +00:00
Dan Gohman
7c52f2ee06
Make the export files absolute paths, and change Makefile.rules
...
to expect them this way, to fix srcdir!=objdir builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101414 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:08:00 +00:00
Dan Gohman
2d675f1308
Add a dependency on the .dir file to make sure that the directory
...
is created before the native exports file is built in a parallel build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101413 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 22:46:27 +00:00
Evan Cheng
3a1588a2e3
Use default lowering of DYNAMIC_STACKALLOC. As far as I can tell, ARM isle is doing the right thing and codegen looks correct for both Thumb and Thumb2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101410 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 22:20:34 +00:00
Chris Lattner
31d80103d5
tidy interface to isOnlyCopiedFromConstantGlobal
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101405 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 21:59:20 +00:00