Evan Cheng
965b3c7323
Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step
...
in the right direction. It eliminated some hacks and will unblock codegen
work. But it's far from being done. It doesn't reject illegal expressions,
e.g. (FOO - :lower16:BAR). It also doesn't work in Thumb2 mode at all.
llvm-svn: 123369
2011-01-13 07:58:56 +00:00
Eric Christopher
da2d2f4d1f
Experiment with changing the default 32-bit linux stack alignment to
...
16 bytes for PR8969. Update all testcases accordingly.
llvm-svn: 123367
2011-01-13 06:47:10 +00:00
Rafael Espindola
9ebe8ce68c
Keep unnamed_addr when linking.
...
llvm-svn: 123364
2011-01-13 05:12:34 +00:00
Rafael Espindola
026d152e58
Reject uses of unnamed_addr in declarations.
...
llvm-svn: 123358
2011-01-13 01:30:30 +00:00
Kevin Enderby
4d58d5f88f
Add a FIXME and two asserts for now in the ARMAsmParser when it sees .code 16 or
...
.code 32 if the TargetMachine's isThumb() boolean does not match. The correct
fix is to switch ARM subtargets at that point and is tracked by rdar://8856789
which is bigger task.
llvm-svn: 123353
2011-01-13 01:07:01 +00:00
Dan Gohman
958620dd6d
Fix r123346 to handle scalar types too.
...
llvm-svn: 123352
2011-01-13 01:06:51 +00:00
Jakob Stoklund Olesen
9472847bcc
Add missing space in debug output
...
llvm-svn: 123351
2011-01-13 00:57:35 +00:00
Jason W Kim
9322997b60
Change call to Error() to assert()
...
llvm-svn: 123350
2011-01-13 00:27:00 +00:00
Jason W Kim
39e36e7ab4
Style clean up - break up the breaks.
...
llvm-svn: 123347
2011-01-13 00:07:51 +00:00
Dan Gohman
6e017a1134
Apply the patch from PR8958, which allows llc to get slightly
...
further on the associated testcase before aborting.
llvm-svn: 123346
2011-01-12 23:56:26 +00:00
Michael J. Spencer
d9960c69b5
Support/Path: Deprecate PathV1::IsSymlink and replace all uses with PathV2::is_symlink.
...
llvm-svn: 123345
2011-01-12 23:55:06 +00:00
Jakob Stoklund Olesen
74ded57bb8
Try again enabling LiveDebugVariables.
...
llvm-svn: 123342
2011-01-12 23:36:21 +00:00
Jason W Kim
1455842275
Added clarifying comment
...
llvm-svn: 123341
2011-01-12 23:25:02 +00:00
Jason W Kim
e9eae0f887
JimG sez: "The value-kinds look like masks, but they're not consistently used
...
that way, unfortunately. If you want to change them to work additively instead
of a one-variant-kind-per-symbolref, that's great and I completely agree it's
worth doing, but it really should be a separate patch. Until then, this isn't
correct."
So I am reverting this bit until a more opportune time.
llvm-svn: 123340
2011-01-12 23:21:49 +00:00
Jakob Stoklund Olesen
e63dfeee36
Don't emit a DBG_VALUE for a spill slot that the rewriter decided not to use after all.
...
llvm-svn: 123339
2011-01-12 23:14:07 +00:00
Jakob Stoklund Olesen
2ffee66e10
Fix braino in dominator tree walk.
...
llvm-svn: 123338
2011-01-12 23:14:04 +00:00
Jakob Stoklund Olesen
1a3534afc4
Sometimes, old virtual registers can linger on DBG_VALUE instructions.
...
Make sure we don't crash in that case, but simply turn them into %noreg instead.
llvm-svn: 123335
2011-01-12 22:37:49 +00:00
Jakob Stoklund Olesen
013c4649c0
Teach VirtRegRewriter to update slot indexes when erasing instructions.
...
It was leaving dangling pointers in the slot index maps.
llvm-svn: 123334
2011-01-12 22:28:51 +00:00
Jakob Stoklund Olesen
71a3853332
Annotate VirtRegRewriter debug output with slot indexes.
...
llvm-svn: 123333
2011-01-12 22:28:48 +00:00
Jakob Stoklund Olesen
58b6f4d832
Verify slot index ordering.
...
The slot indexes must be monotonically increasing through the function.
llvm-svn: 123324
2011-01-12 21:27:48 +00:00
Jakob Stoklund Olesen
62e01eefde
Assert if anybody tries to put a slot index on a DBG_VALUE instruction.
...
llvm-svn: 123323
2011-01-12 21:27:45 +00:00
Jakob Stoklund Olesen
b5b4a5d0ba
Verify that machine instruction parent pointers are consistent.
...
llvm-svn: 123322
2011-01-12 21:27:41 +00:00
Bill Wendling
e6ff05c59d
Sort the register list based on the *actual* register numbers rather than the
...
enum values we give to them. <rdar://problem/8823730>
llvm-svn: 123321
2011-01-12 21:20:59 +00:00
Devang Patel
30f3ebbc1f
Use SmallVector instead of SmallPtrSet and avoid non-deterministic behavior.
...
llvm-svn: 123318
2011-01-12 19:12:45 +00:00
Matt Beaumont-Gay
3077bb64e9
Mostly undo r123297, but move the default case in EvaluateAsPCRel to the top
...
of the switch block to appease GCC.
llvm-svn: 123317
2011-01-12 18:02:55 +00:00
Nick Lewycky
7ecc2fc4ca
Add another note taken from the gcc bugzilla.
...
llvm-svn: 123315
2011-01-12 09:06:19 +00:00
Venkatraman Govindaraju
d964580fea
Implement RETURNADDR and FRAMEADDR lowering in SPARC backend.
...
llvm-svn: 123310
2011-01-12 05:08:36 +00:00
Venkatraman Govindaraju
ee347f8091
Remove SPARC backend getpcx instruction's Uses. Also, insert an assert to
...
ensure %o7 is not assigned as the destination of getpcx instruction.
llvm-svn: 123304
2011-01-12 03:52:59 +00:00
Chris Lattner
dd5f60b7a7
revert 123144, reenabling the rest of memset formation.
...
llvm-svn: 123302
2011-01-12 03:25:15 +00:00
Venkatraman Govindaraju
3b71b0ae3d
Fix SPARC backend call instruction so that arguments passed through registers
...
are correctly marked as used instead of passing all possible argument registers
as used.
llvm-svn: 123301
2011-01-12 03:18:21 +00:00
Chris Lattner
654098f411
revert r123146 which disabled code that wasn't the root cause
...
of the bootstrap miscompare issue.
llvm-svn: 123299
2011-01-12 01:52:23 +00:00
Chris Lattner
fa7c29d255
revert r123149, reenabling an improvement to memcpyopt that wasn't
...
the source of the bootstrap problem.
llvm-svn: 123298
2011-01-12 01:43:46 +00:00
Matt Beaumont-Gay
ea43172297
Prefer llvm_unreachable to assert(0)
...
llvm-svn: 123297
2011-01-12 01:42:42 +00:00
Jason W Kim
9c5b65d289
1. Support ELF pcrel relocations for movw/movt:
...
R_ARM_MOVT_PREL and R_ARM_MOVW_PREL_NC.
2. Fix minor bug in ARMAsmPrinter - treat bitfield flag as a bitfield, not an enum.
3. Add support for 3 new elf section types (no-ops)
llvm-svn: 123294
2011-01-12 00:19:25 +00:00
Jason W Kim
1f7bc0707d
Workaround for bug 8721.
...
.s Test added.
llvm-svn: 123292
2011-01-11 23:53:41 +00:00
Jakob Stoklund Olesen
43812bfa92
The world is not ready for LiveDebugVariables yet.
...
llvm-svn: 123290
2011-01-11 23:20:33 +00:00
Jakob Stoklund Olesen
12cc296bd4
Remove the PR8954 workaround.
...
llvm-svn: 123288
2011-01-11 22:56:41 +00:00
Jakob Stoklund Olesen
f2407aa98b
Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor.
...
DT->changeImmediateDominator() trivially ignores identity updates, so there is
really no need for the uniqueing provided by SmallPtrSet.
I expect this to fix PR8954.
llvm-svn: 123286
2011-01-11 22:54:38 +00:00
Jakob Stoklund Olesen
8c98495f43
Enable LiveDebugVariables by default.
...
llvm-svn: 123282
2011-01-11 22:45:28 +00:00
Venkatraman Govindaraju
4d6ade0e31
SPARC backend: correct ICC/FCC uses for ADDX and SELECT_CC
...
llvm-svn: 123281
2011-01-11 22:38:28 +00:00
Cameron Zwarich
cb9c4f85ec
Dial back the speculative fix for PR8954 a bit, so that we only recompute dominators
...
once at the beginning of GVN instead of once per iteration.
llvm-svn: 123278
2011-01-11 22:14:42 +00:00
Jakob Stoklund Olesen
803f48bcd1
Don't insert DBG_VALUE instructions after the first terminator.
...
For one, MachineBasicBlock::getFirstTerminator() doesn't understand what is
happening, and it also makes sense to have all control flow run through the
DBG_VALUE.
llvm-svn: 123277
2011-01-11 22:11:16 +00:00
Evan Cheng
e45d685895
Clean up ARM subtarget code by using Triple ADT.
...
llvm-svn: 123276
2011-01-11 21:46:47 +00:00
Devang Patel
447cb38fbe
Appropriately truncate debug info range in dwarf output.
...
This is not yet completely enabled.
llvm-svn: 123274
2011-01-11 21:42:10 +00:00
Jakob Stoklund Olesen
819eb4ed0b
Put the Dominator improvements back in. They were not the cause of bootstrap miscomparisons.
...
llvm-svn: 123273
2011-01-11 21:23:09 +00:00
Cameron Zwarich
51eb403907
Attempt to fix the bootstrap buildbot. Rafael says this works for him on x86-64 Linux.
...
llvm-svn: 123270
2011-01-11 20:23:34 +00:00
Jakob Stoklund Olesen
32bd3a1e9a
Speculatively revert the recent improvements to Dominators.h in an attempt to track down the gcc bootstrap miscompare.
...
llvm-svn: 123254
2011-01-11 19:26:30 +00:00
Daniel Dunbar
09264124c1
McARM: Fill in GetMnemonicAcceptInfo().
...
llvm-svn: 123253
2011-01-11 19:06:29 +00:00
Daniel Dunbar
6492807291
McARM: Write a silly Python script to compute some hard coded info from the
...
generated ARM match table, which is substantially more efficient than dealing
with tblgen.
llvm-svn: 123252
2011-01-11 19:06:26 +00:00
Owen Anderson
0022a4b417
Remove dead variable, const-ref-ize an APInt.
...
llvm-svn: 123248
2011-01-11 18:26:37 +00:00