Sanjiv Gupta
7310fe4a69
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
2010-02-18 18:00:35 +00:00
Sanjiv Gupta
d6d9fb503d
Re-factoring.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96589 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 17:32:25 +00:00
Duncan Sands
18619b2aeb
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
2010-02-18 14:37:52 +00:00
Duncan Sands
1aecd15bd1
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
2010-02-18 14:10:41 +00:00
Duncan Sands
7e7ae5ad69
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
2010-02-18 14:08:13 +00:00
Chris Lattner
1a7d087154
add a missing type cast.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96574 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 06:33:42 +00:00
Bob Wilson
9f6c4c141f
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
2010-02-18 06:05:53 +00:00
Johnny Chen
adb561d4e0
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
2010-02-18 03:27:42 +00:00
Evan Cheng
89bb7b5640
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
2010-02-18 02:13:50 +00:00
Johnny Chen
fd6037d613
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
2010-02-18 00:19:08 +00:00
Daniel Dunbar
eb3804e39a
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
2010-02-17 23:45:16 +00:00
Bob Wilson
69bfbd61c6
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
2010-02-17 22:42:54 +00:00
Johnny Chen
b943627915
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
2010-02-17 22:37:58 +00:00
Bob Wilson
3c0f96e054
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
2010-02-17 22:23:11 +00:00
Johnny Chen
fb566795c6
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
2010-02-17 21:39:10 +00:00
David Greene
1157f791c9
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
2010-02-17 20:21:42 +00:00
Jakob Stoklund Olesen
de12e4351c
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
2010-02-17 20:18:50 +00:00
Daniel Dunbar
d2a5c0d856
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
2010-02-17 20:08:42 +00:00
Jakob Stoklund Olesen
1bf1691ed3
Dead code elimination.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96496 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 19:13:56 +00:00
Chris Lattner
f3047cdbd4
"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
2010-02-17 18:57:19 +00:00
Chris Lattner
0a3f39985b
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
2010-02-17 18:52:56 +00:00
Chris Lattner
7180f10fc7
add a note, from PR5100
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 18:42:24 +00:00
Sanjiv Gupta
94c3ddbcc6
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
2010-02-17 18:11:29 +00:00
Duncan Sands
9a7795cbed
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
2010-02-17 14:52:22 +00:00
Sanjiv Gupta
139eda6054
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
2010-02-17 06:48:50 +00:00
Sanjiv Gupta
11979aa23e
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
2010-02-17 06:46:23 +00:00
Johnny Chen
b2503c096f
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
2010-02-17 06:31:48 +00:00
Chris Lattner
409ac586e8
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
2010-02-17 06:28:22 +00:00
Chris Lattner
64b4986c94
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
2010-02-17 06:07:47 +00:00
Anton Korobeynikov
4e9c6dfb8b
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
2010-02-17 05:53:11 +00:00
Lang Hames
a6b80dd031
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
2010-02-17 03:42:51 +00:00
Dan Gohman
9feae9f0de
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
2010-02-17 02:39:31 +00:00
Devang Patel
22fb4b2a57
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
2010-02-17 02:20:34 +00:00
Chris Lattner
52be68d86c
daniel remembered why this was needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96440 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 01:55:54 +00:00
Chris Lattner
feeb93ecd2
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
2010-02-17 01:38:01 +00:00
Sanjiv Gupta
e74c3bae3a
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
2010-02-17 01:11:53 +00:00
Dan Gohman
9ee7123ab4
Fold bswap(undef) to undef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:54:58 +00:00
Dan Gohman
378c0b35a7
Delete some unneeded casts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:42:19 +00:00
Dan Gohman
968cb939e5
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
2010-02-17 00:41:53 +00:00
Dan Gohman
36b01cb885
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
2010-02-17 00:37:20 +00:00
Bob Wilson
9abe19d0b9
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
2010-02-17 00:31:29 +00:00
Bill Wendling
b76beda30a
Make error statement more personal.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96410 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 22:47:14 +00:00
Chris Lattner
92d3ada814
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
2010-02-16 22:35:06 +00:00
Bob Wilson
0eb0c7401c
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
2010-02-16 22:01:59 +00:00
Johnny Chen
0296f3e504
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
2010-02-16 21:59:54 +00:00
Dale Johannesen
5994fd0f4d
Really reserve R2 on PPC Darwin. PR 6314.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96399 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:53:27 +00:00
Devang Patel
3d821aaae2
Use line and column number to distinguish two lexical blocks at the same level.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:39:34 +00:00
Jim Grosbach
80dc116ce3
80 column cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96393 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:23:02 +00:00
Evan Cheng
ae3ecf9603
Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)).
...
If there exists a use of a build_vector that's the bitwise complement of the mask,
then transform the node to
(and (xor x, (build_vector -1,-1,-1,-1)), (build_vector ~c1,~c2,~c3,~c4)).
Since this transformation is only useful when 1) the given build_vector will
become a load from constpool, and 2) (and (xor x -1), y) matches to a single
instruction, I decided this is appropriate as a x86 specific transformation.
rdar://7323335
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:09:44 +00:00
Jim Grosbach
6417171026
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 21:07:46 +00:00