Oscar Fuentes
f975a7423b
Platform tests for argz_* functions.
...
Patch by arrowdodger!
llvm-svn: 123376
2011-01-13 15:06:32 +00:00
Duncan Sands
69fbfa2b0e
Remove some wrong code which fortunately was never executed (as explained in
...
the comment I added): an extern weak global may have a null address.
llvm-svn: 123373
2011-01-13 10:43:08 +00:00
Duncan Sands
36b007d63b
The most common simplification missed by instsimplify in unoptimized bitcode
...
is "X != 0 -> X" when X is a boolean. This occurs a lot because of the way
llvm-gcc converts gcc's conditional expressions. Add this, and a few other
similar transforms for completeness.
llvm-svn: 123372
2011-01-13 08:56:29 +00:00
Evan Cheng
cc474b4864
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
3821f63f4b
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
0272c002ae
Keep unnamed_addr when linking.
...
llvm-svn: 123364
2011-01-13 05:12:34 +00:00
Rafael Espindola
f6cae95276
Reject uses of unnamed_addr in declarations.
...
llvm-svn: 123358
2011-01-13 01:30:30 +00:00
Kevin Enderby
1f82daa2d8
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
f4ec824435
Fix r123346 to handle scalar types too.
...
llvm-svn: 123352
2011-01-13 01:06:51 +00:00
Jakob Stoklund Olesen
6cdcc6287b
Add missing space in debug output
...
llvm-svn: 123351
2011-01-13 00:57:35 +00:00
Jason W Kim
af9782e470
Change call to Error() to assert()
...
llvm-svn: 123350
2011-01-13 00:27:00 +00:00
Jason W Kim
3b5ac1631f
Style clean up - break up the breaks.
...
llvm-svn: 123347
2011-01-13 00:07:51 +00:00
Dan Gohman
5bbd766a7b
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
b9cf8adbe7
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
3987889b61
Try again enabling LiveDebugVariables.
...
llvm-svn: 123342
2011-01-12 23:36:21 +00:00
Jason W Kim
5c1d7cc0ca
Added clarifying comment
...
llvm-svn: 123341
2011-01-12 23:25:02 +00:00
Jason W Kim
6464be5b92
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
953b1b115d
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
48c7a5cf7e
Fix braino in dominator tree walk.
...
llvm-svn: 123338
2011-01-12 23:14:04 +00:00
Jakob Stoklund Olesen
7a13190a2e
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
59d3b89873
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
8c5c268f05
Annotate VirtRegRewriter debug output with slot indexes.
...
llvm-svn: 123333
2011-01-12 22:28:48 +00:00
Jakob Stoklund Olesen
c1a042a528
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
22bdcea2fd
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
764cce86f0
Verify that machine instruction parent pointers are consistent.
...
llvm-svn: 123322
2011-01-12 21:27:41 +00:00
Bill Wendling
e82361731d
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
52db9b4821
Use SmallVector instead of SmallPtrSet and avoid non-deterministic behavior.
...
llvm-svn: 123318
2011-01-12 19:12:45 +00:00
Matt Beaumont-Gay
fc76b0ce6e
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
fb3f7c11f1
Add another note taken from the gcc bugzilla.
...
llvm-svn: 123315
2011-01-12 09:06:19 +00:00
Venkatraman Govindaraju
2d89fea217
Implement RETURNADDR and FRAMEADDR lowering in SPARC backend.
...
llvm-svn: 123310
2011-01-12 05:08:36 +00:00
Venkatraman Govindaraju
59e9ffc998
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
fdef60bef7
revert 123144, reenabling the rest of memset formation.
...
llvm-svn: 123302
2011-01-12 03:25:15 +00:00
Venkatraman Govindaraju
816f7dfed0
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
e288204194
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
c7a5a12af5
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
033b288e84
Prefer llvm_unreachable to assert(0)
...
llvm-svn: 123297
2011-01-12 01:42:42 +00:00
Jason W Kim
ae183f9862
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
db6eddeea3
Workaround for bug 8721.
...
.s Test added.
llvm-svn: 123292
2011-01-11 23:53:41 +00:00
Jakob Stoklund Olesen
1f7052b53b
The world is not ready for LiveDebugVariables yet.
...
llvm-svn: 123290
2011-01-11 23:20:33 +00:00
Jakob Stoklund Olesen
b935aa1678
Remove the PR8954 workaround.
...
llvm-svn: 123288
2011-01-11 22:56:41 +00:00
Jakob Stoklund Olesen
37fe53c1a9
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
d7a523358c
Enable LiveDebugVariables by default.
...
llvm-svn: 123282
2011-01-11 22:45:28 +00:00
Venkatraman Govindaraju
f681d4e782
SPARC backend: correct ICC/FCC uses for ADDX and SELECT_CC
...
llvm-svn: 123281
2011-01-11 22:38:28 +00:00
Cameron Zwarich
b0e688cc7c
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
1cd577b435
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
05ef00f4dc
Clean up ARM subtarget code by using Triple ADT.
...
llvm-svn: 123276
2011-01-11 21:46:47 +00:00
Devang Patel
7b5cf4eafc
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
add3ef6ca2
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
e8c1c44e01
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
264d2e5c08
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