Chris Lattner [Thu, 18 Feb 2010 22:03:03 +0000 (22:03 +0000)]
add support for referencing registers and immediates,
building the tree to represent them but not emitting
table entries for them yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96617
91177308-0d34-0410-b5e6-
96231b3b80d8
Talin [Thu, 18 Feb 2010 21:43:45 +0000 (21:43 +0000)]
replaceUsesOfWithOnConstant implementation for unions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96616
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 21:34:02 +0000 (21:34 +0000)]
Hoist this loop-invariant logic out of the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96614
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 18 Feb 2010 21:33:05 +0000 (21:33 +0000)]
Always normalize spill weights, also for intervals created by spilling.
Moderate the weight given to very small intervals.
The spill weight given to new intervals created when spilling was not
normalized in the same way as the original spill weights calculated by
CalcSpillWeights. That meant that restored registers would tend to hang around
because they had a much higher spill weight that unspilled registers.
This improves the runtime of a few tests by up to 10%, and there are no
significant regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96613
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 21:25:53 +0000 (21:25 +0000)]
Make CodePlacementOpt detect special EH control flow by
checking whether AnalyzeBranch disagrees with the CFG
directly, rather than looking for EH_LABEL instructions.
EH_LABEL instructions aren't always at the end of the
block, due to FP_REG_KILL and other things. This fixes
an infinite loop compiling MultiSource/Benchmarks/Bullet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96611
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 18 Feb 2010 21:03:36 +0000 (21:03 +0000)]
Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96610
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 18 Feb 2010 20:53:16 +0000 (20:53 +0000)]
Destroy MDNodes gracefully while deleting llvm context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96609
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 18 Feb 2010 19:52:12 +0000 (19:52 +0000)]
Ignore target dependent value in grep search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96604
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 18 Feb 2010 18:51:15 +0000 (18:51 +0000)]
Generate DBG_VALUE from dbg.value intrinsics. These currently
comes out as comments but will eventually generate DWARF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96601
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 18:40:29 +0000 (18:40 +0000)]
Clarify that ptrtoint+inttoptr are an alternative to GEP which are
not restricted by the GEP rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96598
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 18:22:41 +0000 (18:22 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96597
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 18:22:18 +0000 (18:22 +0000)]
Clarify that the rules about object hopping kick in when a pointer is
deferenced, rather than when the pointer value is computed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96596
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 18 Feb 2010 18:19:17 +0000 (18:19 +0000)]
Fix typos Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96594
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 18 Feb 2010 18:00:35 +0000 (18:00 +0000)]
Remap the call sites of a shared function in interrupt line functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96591
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 18 Feb 2010 17:32:25 +0000 (17:32 +0000)]
Re-factoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96589
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 18 Feb 2010 14:37:52 +0000 (14:37 +0000)]
Uniformize the way these options are printed. Requested by
Russell Wallace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96580
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 18 Feb 2010 14:10:41 +0000 (14:10 +0000)]
Remove terminating dot in description. Inconsistency pointed
out by Russell Wallace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96579
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 18 Feb 2010 14:08:13 +0000 (14:08 +0000)]
Refer to -help instead of --help since this is what tools themselves say.
Also, have tools output -help-hidden rather than refer to --help-hidden,
for consistency, and likewise adjust documentation. This doesn't change
every mention of --help, only those which seemed clearly safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96578
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 18 Feb 2010 12:57:05 +0000 (12:57 +0000)]
Avoid a dangling pointer dereference, PassManager::add can delete the Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 06:47:49 +0000 (06:47 +0000)]
start sketching out the structure of code for result emission generation.
Nothing real here yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 06:33:42 +0000 (06:33 +0000)]
add a missing type cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 06:29:06 +0000 (06:29 +0000)]
remove empty file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96573
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 18 Feb 2010 06:05:53 +0000 (06:05 +0000)]
Use NEON vmin/vmax instructions for floating-point selects.
Radar
7461718.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96572
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 18 Feb 2010 04:43:02 +0000 (04:43 +0000)]
Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96569
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Thu, 18 Feb 2010 03:27:42 +0000 (03:27 +0000)]
Added LDRSBT, LDRHT, LDRSHT for disassembly only. And fixed encoding errors
of AI3ldsbpo, AI3ldhpo, and AI3ldshpo in ARMInstrFormats.td in the process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 02:53:41 +0000 (02:53 +0000)]
rename the child field to 'next'. This is not a parent/child
relationship, this is a linear list relationship.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 02:49:24 +0000 (02:49 +0000)]
eliminate the MatcherNodeWithChild class, give the 'child'
field to MatcherNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96560
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 18 Feb 2010 02:36:02 +0000 (02:36 +0000)]
Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.) Always link the
example programs shared to test that the shared library keeps working.
On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.
Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96559
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 Feb 2010 02:13:50 +0000 (02:13 +0000)]
Some dag combiner goodness:
Transform br (xor (x, y)) -> br (x != y)
Transform br (xor (xor (x,y), 1)) -> br (x == y)
Also normalize (and (X, 1) == / != 1 -> (and (X, 1)) != / == 0 to match to "test on x86" and "tst on arm"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96556
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 18 Feb 2010 00:53:49 +0000 (00:53 +0000)]
New test case for r96543.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Feb 2010 00:23:27 +0000 (00:23 +0000)]
fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96541
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Thu, 18 Feb 2010 00:19:08 +0000 (00:19 +0000)]
Added for disassembly only the variants of DMB, DSB, and ISB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96540
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 17 Feb 2010 23:55:26 +0000 (23:55 +0000)]
Fix a few unused parameter warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96533
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 17 Feb 2010 23:45:16 +0000 (23:45 +0000)]
MC/Mach-O: Update fixup values for change to X86 offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96532
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 22:54:10 +0000 (22:54 +0000)]
Make this an unnumbered list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96528
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 22:50:12 +0000 (22:50 +0000)]
HTML validation fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96527
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 22:47:06 +0000 (22:47 +0000)]
Add an "advanced" GetElementPtr FAQ document, with answers to
questions left unanswered by the first GetElementPtr FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96526
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 17 Feb 2010 22:42:54 +0000 (22:42 +0000)]
Remove the NEON N2VSInt instruction class: it's only used in one place and
since it has no pattern, there's not much point in distinguishing an "N2VS"
class for intrinsics anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96525
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 17 Feb 2010 22:37:58 +0000 (22:37 +0000)]
Added CLREX (Clear-Exclusive) for disassembly only.
A8.6.30
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96523
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 17 Feb 2010 22:23:11 +0000 (22:23 +0000)]
More cleanup for NEON:
* Use "S" abbreviation for scalar single FP registers in class and pattern
names, instead of keeping the "D" (for "double") abbreviation and tacking on
an "s" elsewhere in the name.
* Move the scalar single FP register classes and patterns to be more
consistent with other definitions in the file.
* Rename "VNEGf32d" definition to "VNEGfd" for consistency.
* Deleted the N2VDIntsPat pattern; N2VSPat is good enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96521
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 17 Feb 2010 21:39:10 +0000 (21:39 +0000)]
Added RFE for disassembly only.
B6.1.8 RFE Return From Exception loads the PC and the CPSR from the word at the
specified address and the following word respectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96519
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 17 Feb 2010 20:21:42 +0000 (20:21 +0000)]
Make the non-temporal bit "significant" in MemSDNodes so they aren't
CSE'd or otherwise combined with temporal MemSDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96505
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 17 Feb 2010 20:18:50 +0000 (20:18 +0000)]
Remember to define super registers in mips calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96504
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 17 Feb 2010 20:08:42 +0000 (20:08 +0000)]
Add Regex::sub, for doing regular expression substitution with backreferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96503
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 19:54:34 +0000 (19:54 +0000)]
irbuilder is doing constant folding now by default, PR6092
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 19:51:31 +0000 (19:51 +0000)]
fix some out of date prose dating from the LLVMContext changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96500
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 17 Feb 2010 19:26:45 +0000 (19:26 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 19:19:50 +0000 (19:19 +0000)]
redisable this to save people a small amount of build time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96497
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 17 Feb 2010 19:13:56 +0000 (19:13 +0000)]
Dead code elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 18:57:19 +0000 (18:57 +0000)]
"Fix and issue in SparcAsmPrinter where multiple identical .LLGETPCHn symbols could be emitted in the same file (it was uniqued by block number, but not by function number). " Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 18:52:56 +0000 (18:52 +0000)]
move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 18:42:24 +0000 (18:42 +0000)]
add a note, from PR5100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 18:39:56 +0000 (18:39 +0000)]
add missing method, PR6284
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 18:33:13 +0000 (18:33 +0000)]
add optional debian instructions, PR6272
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96488
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 17 Feb 2010 18:11:29 +0000 (18:11 +0000)]
Added routine to clone the body of a function and maintain a map of already
cloned functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96485
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 17 Feb 2010 17:20:17 +0000 (17:20 +0000)]
Mention an API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96480
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 17 Feb 2010 14:52:22 +0000 (14:52 +0000)]
Pacify gcc-4.5, which warns (correctly) that these switches have
cases that are not part of the enum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96477
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 17 Feb 2010 08:53:27 +0000 (08:53 +0000)]
Revert:
r95605 | dpatel | 2010-02-08 15:27:46 -0800 (Mon, 08 Feb 2010) | 2 lines
test case for r95604.
Which was the testcase for the patch reverted from llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96474
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:53:36 +0000 (06:53 +0000)]
reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96466
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 17 Feb 2010 06:48:50 +0000 (06:48 +0000)]
Added a function to clone locals of a function.( which for pic16 are globals
with mangled names).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96465
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:47:35 +0000 (06:47 +0000)]
improve comments, the matcher is now feature complete, on to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96464
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 17 Feb 2010 06:46:23 +0000 (06:46 +0000)]
Removed header files from .h by adding forward decls.
Renamed PIC16FrameOverlay namespace to PIC16OVERLAY.
Renamed PIC16FrameOverlay class to PIC16Overlay.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96463
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 17 Feb 2010 06:31:48 +0000 (06:31 +0000)]
Added BFI for disassembly only.
A8.6.18 BFI - Bitfield insert (Encoding A1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96462
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:28:22 +0000 (06:28 +0000)]
sink special case "cannotyetselect" for intrinsics out of the
tblgen splatted code into the implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:23:39 +0000 (06:23 +0000)]
Emulate the current isel's "IsChainCompatible" logic for now.
I'd like to eventually rip it out, but for now producing the
same selections as the old matcher is more important.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:08:25 +0000 (06:08 +0000)]
properly record chain inputs to complex patterns,
resolving a fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 06:07:47 +0000 (06:07 +0000)]
rename and document some arguments so I don't have to keep
reverse engineering what they are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96456
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 17 Feb 2010 05:53:11 +0000 (05:53 +0000)]
Use pointer-wide encoding for LSDA and FDE on Darwin.
Hopefully, this will fix the remaining issues seen there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96454
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 05:35:28 +0000 (05:35 +0000)]
simplify IsChainCompatible codegen, add comments. no
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96453
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Wed, 17 Feb 2010 03:42:51 +0000 (03:42 +0000)]
Removed an early out which was causing the PBQP allocator to not compute live-in sets or run the rewriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96450
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 02:39:31 +0000 (02:39 +0000)]
Fix SCEVExpander's existing PHI reuse checking to recognize the
case where there are loop-invariant instructions somehow left
inside the loop, and in a position where they won't dominate
the IV increment position.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96448
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 17 Feb 2010 02:20:34 +0000 (02:20 +0000)]
Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 02:16:19 +0000 (02:16 +0000)]
Prep work to handle input chains of matched patterns and checking for
'ischaincompatible' when a pattern has more than one input chain. Need
to do some commenting and cleanup now that I understand how this works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96443
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 01:55:54 +0000 (01:55 +0000)]
daniel remembered why this was needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 01:38:01 +0000 (01:38 +0000)]
add a comment explaining why darwin/i386 uses ## as a comment.
It's not clear why this is really required, but it was explicitly
added in r48808 with no real explanation or rdar #.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 01:34:15 +0000 (01:34 +0000)]
record input chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 01:27:29 +0000 (01:27 +0000)]
prefix captured value names with $ so they look like
variables. Use the fancy OpNo variable instead of i,
which has the right index including chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96436
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 17 Feb 2010 01:11:53 +0000 (01:11 +0000)]
Initial implementation of PIC16 Cloner pass.
This pass is supposed to be run on the linked .bc module.
It traveses the module call graph twice. Once starting from the main function
and marking each reached function as "ML". Again, starting from the ISR
and cloning any reachable function that was marked as "ML". After cloning
the function, it remaps all the call sites in IL functions to call the
cloned functions.
Currently only marking is being done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96435
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 01:08:57 +0000 (01:08 +0000)]
Don't check for comments, which vary between subtargets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96434
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 01:03:09 +0000 (01:03 +0000)]
improve comments on OPC_Record to say what we're recording a node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96433
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 00:54:58 +0000 (00:54 +0000)]
Fold bswap(undef) to undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96432
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 00:42:19 +0000 (00:42 +0000)]
Delete some unneeded casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96429
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 00:41:53 +0000 (00:41 +0000)]
Don't attempt to divide INT_MIN by -1; consider such cases to
have overflowed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96428
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 00:41:34 +0000 (00:41 +0000)]
make the new isel's interpreter loop call the generated
CheckComplexPattern function. Though it is logically const,
I don't have the fortitude to clean up all the targets now,
and it not being const doesn't block anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 00:39:26 +0000 (00:39 +0000)]
improve comments in generated matcher a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96422
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 17 Feb 2010 00:37:20 +0000 (00:37 +0000)]
Make the operand and format specifier match, and print all
64 bits, fixing a variety of problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96421
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 00:31:50 +0000 (00:31 +0000)]
make the new isel generator plop out a CheckComplexPattern function
for evaluating complex patterns. Some cleanup has to happen before
this can be used though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96419
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 17 Feb 2010 00:31:29 +0000 (00:31 +0000)]
Wrap lines to 80 columns and generally try to clean up whitespace and
indentation. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 00:29:06 +0000 (00:29 +0000)]
roundss is an sse 4 thing, fix the test on non-sse41 builders
like llvm-gcc-x86_64-darwin10-selfhost
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96417
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Feb 2010 00:11:30 +0000 (00:11 +0000)]
fix inverted condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96416
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 16 Feb 2010 23:25:23 +0000 (23:25 +0000)]
Make g5 target explicit; scheduling affects register choice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Feb 2010 23:16:25 +0000 (23:16 +0000)]
complex patterns don't get 'record' nodes, they implicitly
record all their results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Feb 2010 23:13:59 +0000 (23:13 +0000)]
clean up some code, eliminate NodeIsComplexPattern, which
does the same thing as getComplexPatternInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96411
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 16 Feb 2010 22:47:14 +0000 (22:47 +0000)]
Make error statement more personal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Feb 2010 22:38:31 +0000 (22:38 +0000)]
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96409
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Feb 2010 22:35:06 +0000 (22:35 +0000)]
fix rdar://
7653908, a crash on a case where we would fold a load
into a roundss intrinsic, producing a cyclic dag. The root cause
of this is badness handling ComplexPattern nodes in the old dagisel
that I noticed through inspection. Eliminate a copy of the of the
code that handled ComplexPatterns by making EmitChildMatchCode call
into EmitMatchCode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96408
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 16 Feb 2010 22:31:31 +0000 (22:31 +0000)]
Adjust register numbers in tests to compensate for the
new lack of R2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Feb 2010 22:13:43 +0000 (22:13 +0000)]
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96404
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 16 Feb 2010 22:01:59 +0000 (22:01 +0000)]
Handle tGPR register class in a few more places. This fixes some llvm-gcc
build failures due to my fix for pr6111.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96402
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 16 Feb 2010 21:59:54 +0000 (21:59 +0000)]
Add SMC (Secure Monitor Call) system instruction for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96401
91177308-0d34-0410-b5e6-
96231b3b80d8