Tobias Grosser [Fri, 11 Oct 2013 07:38:50 +0000 (07:38 +0000)]
Move to CLooG 0.18.1 and isl 0.12.1
llvm-svn: 192426
Craig Topper [Fri, 11 Oct 2013 06:59:57 +0000 (06:59 +0000)]
Remove another unnecessary filter from the disassembler.
llvm-svn: 192425
Rui Ueyama [Fri, 11 Oct 2013 06:26:16 +0000 (06:26 +0000)]
Propagate Resolver::resolveUndefines()'s failure to caller.
llvm-svn: 192424
Rui Ueyama [Fri, 11 Oct 2013 06:16:35 +0000 (06:16 +0000)]
Remove excessive allowRemainingUndefines() check.
allowRemainingUndefines() is already checked in Resolver::resolve(), so we
don't need to check it again after returning from it. It's actually not only
superfluous but buggy because a failure of resolve() does not always mean that
there is a remaining undefines.
llvm-svn: 192423
Rui Ueyama [Fri, 11 Oct 2013 06:16:33 +0000 (06:16 +0000)]
Return true from Resolver::resolve() on success.
llvm-svn: 192422
NAKAMURA Takumi [Fri, 11 Oct 2013 04:52:03 +0000 (04:52 +0000)]
LiveRangeCalc.h: Update a description corresponding to r192396. [-Wdocumentation]
llvm-svn: 192421
Jason Molenda [Fri, 11 Oct 2013 04:29:38 +0000 (04:29 +0000)]
Expand some embedded tab chars to spaces - no changes other than whitespace.
llvm-svn: 192420
Douglas Gregor [Fri, 11 Oct 2013 04:25:21 +0000 (04:25 +0000)]
Diagnose by-copy captures of abstract classes.
Fixes <rdar://problem/
14468891>.
llvm-svn: 192419
Rui Ueyama [Fri, 11 Oct 2013 04:20:29 +0000 (04:20 +0000)]
Replace a recursive tail call with an infinite loop.
This eliminates _elements's size check from the loop.
llvm-svn: 192418
Nick Lewycky [Fri, 11 Oct 2013 03:52:43 +0000 (03:52 +0000)]
The emitted IR is the same, we need these flags to actually use the LLVM target.
Mark it as requiring the x86 target.
llvm-svn: 192417
Rui Ueyama [Fri, 11 Oct 2013 03:51:19 +0000 (03:51 +0000)]
Remove an unused variable added in r192415.
llvm-svn: 192416
Rui Ueyama [Fri, 11 Oct 2013 03:48:06 +0000 (03:48 +0000)]
Use switch instead of if, and handle all enum values.
This patch also handles errors other than no_more_files error. They were silently
ignored.
llvm-svn: 192415
Shankar Easwaran [Fri, 11 Oct 2013 03:41:24 +0000 (03:41 +0000)]
Fix return after llvm_unreachable
llvm-svn: 192414
Nick Lewycky [Fri, 11 Oct 2013 03:35:10 +0000 (03:35 +0000)]
Add -fno-function-sections and -fno-data-sections. Since
-f{function,data}-sections had no tests at all, add some, and verify that the
-fno variants work as well.
llvm-svn: 192413
Nick Lewycky [Fri, 11 Oct 2013 03:33:53 +0000 (03:33 +0000)]
Fix typo in comment. No functionality change.
llvm-svn: 192412
Kevin Qin [Fri, 11 Oct 2013 02:34:30 +0000 (02:34 +0000)]
Implemented aarch64 SIMD copy related ACLE intrinsic :
vget_lane, vset_lane, vcopy_lane, vcreate, vdup_n, vdup_lane, vmov_n.
llvm-svn: 192411
Kevin Qin [Fri, 11 Oct 2013 02:33:55 +0000 (02:33 +0000)]
Implement aarch64 neon instruction set AdvSIMD (copy).
llvm-svn: 192410
Shankar Easwaran [Fri, 11 Oct 2013 01:50:04 +0000 (01:50 +0000)]
[ELF] Fix Atoms in the same file had overlapping ordinals.
This also reverts the LayoutPass to use std::sort as all files
have an ordinal now.
llvm-svn: 192409
Ed Maste [Fri, 11 Oct 2013 01:16:08 +0000 (01:16 +0000)]
Support mips shared object debug info
MIPS's .dyanamic section is read-only. Instead of using DT_DEBUG for
the pointer to dyld information it uses a separate tag DT_MIPS_RLD_MAP
which points to storage in the read-write .rld_map section, which in
turn points to the dyld information.
Review: http://llvm-reviews.chandlerc.com/D1890
llvm-svn: 192408
Fariborz Jahanian [Thu, 10 Oct 2013 23:57:58 +0000 (23:57 +0000)]
ObjectiveC migrator. When migrating to NS_ENUM/NS_OPTIONS,
don't leave a blank line behind replacing the typedef
decl. // rdar://
15200949
llvm-svn: 192407
Matt Arsenault [Thu, 10 Oct 2013 23:05:37 +0000 (23:05 +0000)]
Fix typo
llvm-svn: 192406
Hans Wennborg [Thu, 10 Oct 2013 23:04:06 +0000 (23:04 +0000)]
clang-cl: simplify the -m32 -m64 test
This was just broken.
llvm-svn: 192405
Matthias Braun [Thu, 10 Oct 2013 22:37:49 +0000 (22:37 +0000)]
Tests: Do not unnecessarily depend on kill comments
llvm-svn: 192404
Matthias Braun [Thu, 10 Oct 2013 22:37:47 +0000 (22:37 +0000)]
Tests: Use CHECK-LABEL where possible
llvm-svn: 192403
Hans Wennborg [Thu, 10 Oct 2013 22:36:20 +0000 (22:36 +0000)]
clang-cl: Expose the -m32 and -m64 command-line options
And add a test to check that they work.
llvm-svn: 192402
Rui Ueyama [Thu, 10 Oct 2013 22:29:48 +0000 (22:29 +0000)]
Fix typo
llvm-svn: 192401
Jason Molenda [Thu, 10 Oct 2013 22:02:09 +0000 (22:02 +0000)]
Document the QEnvironmentHexEncoded packet, and explain why it is
often preferable to use this instead of QEnvironment.
llvm-svn: 192400
Fariborz Jahanian [Thu, 10 Oct 2013 21:58:04 +0000 (21:58 +0000)]
ObjectiveC. ObjectiveC's collection selector expression in
the fereach loop must be a non-const lvalue expression as
it will be assigned to at the beginning of the loop.
// rdar://
15123684
llvm-svn: 192399
Matthias Braun [Thu, 10 Oct 2013 21:29:05 +0000 (21:29 +0000)]
Print register in LiveInterval::print()
llvm-svn: 192398
Matthias Braun [Thu, 10 Oct 2013 21:29:02 +0000 (21:29 +0000)]
Represent RegUnit liveness with LiveRange instance
Previously LiveInterval has been used, but having a spill weight and
register number is unnecessary for a register unit.
llvm-svn: 192397
Matthias Braun [Thu, 10 Oct 2013 21:28:57 +0000 (21:28 +0000)]
Work on LiveRange instead of LiveInterval where possible
Also change some pointer arguments to references at some places where
0-pointers are not allowed.
llvm-svn: 192396
Matthias Braun [Thu, 10 Oct 2013 21:28:54 +0000 (21:28 +0000)]
Change MachineVerifier to work on LiveRange + LiveInterval
llvm-svn: 192395
Matthias Braun [Thu, 10 Oct 2013 21:28:52 +0000 (21:28 +0000)]
Pass LiveQueryResult by value
This makes the API a bit more natural to use and makes it easier to make
LiveRanges implementation details private.
llvm-svn: 192394
Matthias Braun [Thu, 10 Oct 2013 21:28:47 +0000 (21:28 +0000)]
Refactor LiveInterval: introduce new LiveRange class
LiveRange just manages a list of segments and a list of value numbers
now as LiveInterval did previously, but without having details like spill
weight or a fixed register number.
LiveInterval is now a subclass of LiveRange and simply adds the spill weight
and the register number.
llvm-svn: 192393
Matthias Braun [Thu, 10 Oct 2013 21:28:43 +0000 (21:28 +0000)]
Rename LiveRange to LiveInterval::Segment
The Segment struct contains a single interval; multiple instances of this struct
are used to construct a live range, but the struct is not a live range by
itself.
llvm-svn: 192392
Matthias Braun [Thu, 10 Oct 2013 21:28:38 +0000 (21:28 +0000)]
Rename parameter: defined regs are not incoming.
llvm-svn: 192391
Mark Lacey [Thu, 10 Oct 2013 20:57:00 +0000 (20:57 +0000)]
Make CodeGenTypes data members private.
No functionality differences.
llvm-svn: 192390
Sriram Murali [Thu, 10 Oct 2013 20:24:53 +0000 (20:24 +0000)]
test commit
- fix comments on vector type legalization
llvm-svn: 192389
Ed Maste [Thu, 10 Oct 2013 19:17:07 +0000 (19:17 +0000)]
Update comment (MIPS also has 32-bit opcodes)
llvm-svn: 192388
Ed Maste [Thu, 10 Oct 2013 19:14:55 +0000 (19:14 +0000)]
Initial FreeBSD mips64 ProcessMonitor support
Committing early to ease tracking other ongoing POSIX changes.
Review: http://llvm-reviews.chandlerc.com/D1886
llvm-svn: 192387
Matt Arsenault [Thu, 10 Oct 2013 19:09:05 +0000 (19:09 +0000)]
Use getPointerSizeInBits() rather than 8 * getPointerSize()
llvm-svn: 192386
Tom Stellard [Thu, 10 Oct 2013 19:09:01 +0000 (19:09 +0000)]
Port pocl's gen_convert.py script to libclc
This script generates implementations for the entire set of convert_*
functions,
llvm-svn: 192385
Tom Stellard [Thu, 10 Oct 2013 19:08:56 +0000 (19:08 +0000)]
Implement sign() builtin
llvm-svn: 192384
Tom Stellard [Thu, 10 Oct 2013 19:08:51 +0000 (19:08 +0000)]
Implement nextafter() builtin
There are two implementations of nextafter():
1. Using clang's __builtin_nextafter. Clang replaces this builtin with
a call to nextafter which is part of libm. Therefore, this
implementation will only work for targets with an implementation of
libm (e.g. most CPU targets).
2. The other implementation is written in OpenCL C. This function is
known internally as __clc_nextafter and can be used by targets that
don't have access to libm.
llvm-svn: 192383
Tom Stellard [Thu, 10 Oct 2013 19:08:41 +0000 (19:08 +0000)]
Implement isnan() builtin
llvm-svn: 192382
Tom Stellard [Thu, 10 Oct 2013 19:08:29 +0000 (19:08 +0000)]
Add missing as_{float,double} functions
llvm-svn: 192381
Matt Arsenault [Thu, 10 Oct 2013 18:47:35 +0000 (18:47 +0000)]
Fix grammar / missing words
llvm-svn: 192380
Manman Ren [Thu, 10 Oct 2013 18:40:16 +0000 (18:40 +0000)]
Debug Info: update testing cases when the context field of subprogram is updated
to use DIScopeRef.
Paired commit with r192378.
llvm-svn: 192379
Manman Ren [Thu, 10 Oct 2013 18:40:01 +0000 (18:40 +0000)]
Debug Info: In DIBuilder, the context field of subprogram is updated to use
DIScopeRef.
A paired commit at clang is required due to changes to DIBuilder.
llvm-svn: 192378
Fariborz Jahanian [Thu, 10 Oct 2013 18:23:13 +0000 (18:23 +0000)]
ObjectiveC migrator: For 'default' and 'shared' family of
methods, infer their self's type as their result type.
// rdar://
15145218
llvm-svn: 192377
Manman Ren [Thu, 10 Oct 2013 18:13:17 +0000 (18:13 +0000)]
Add comments to debug info testing case.
llvm-svn: 192376
Matt Arsenault [Thu, 10 Oct 2013 18:04:16 +0000 (18:04 +0000)]
R600: Fix trunc i64 to i32 on SI
llvm-svn: 192375
Hans Wennborg [Thu, 10 Oct 2013 18:03:08 +0000 (18:03 +0000)]
Locate VS InstallDir in the presence of newer runtime
This fixes getSystemRegistryString() in WindowsToolChain.cpp to
make sure that the VS version that it picks has an InstallDir.
Previously we would look for the highest version os VS and check
for InstallDir afterwards.
Patch by Yaron Keren!
llvm-svn: 192374
Greg Clayton [Thu, 10 Oct 2013 17:53:50 +0000 (17:53 +0000)]
<rdar://problem/
14146606>
Fixed an issue where environment variables that contained special characters '$' and '#' would hose up the GDB server packet. We now use the QEnvironmentHexEncoded packet that has existed for a long time when we need to. Also added code that will stop sending the QEnvironmentHexEncoded and QEnvironment packets if they aren't supported.
llvm-svn: 192373
Greg Clayton [Thu, 10 Oct 2013 17:51:57 +0000 (17:51 +0000)]
Removed the -t options from linking flags to avoid having the linker print out all .o files it was linking with.
llvm-svn: 192372
Hans Wennborg [Thu, 10 Oct 2013 17:32:01 +0000 (17:32 +0000)]
Provide msbuild integration for vs2013.
Patch by Josh Samuel!
llvm-svn: 192371
Hans Wennborg [Thu, 10 Oct 2013 17:31:54 +0000 (17:31 +0000)]
Fix msbuild integration install script.
We previously failed to check whether the SUCCESS variable was set,
and would thus always exit with a failure if vs2012 didn't exist.
llvm-svn: 192370
Shankar Easwaran [Thu, 10 Oct 2013 17:27:49 +0000 (17:27 +0000)]
[ELF] Initial design to handle Linker scripts for ELF.
llvm-svn: 192369
Shankar Easwaran [Thu, 10 Oct 2013 17:12:50 +0000 (17:12 +0000)]
[test] Ignore failure for now for Darwin.
This is only a step to clean the buildbot.
llvm-svn: 192368
Tom Stellard [Thu, 10 Oct 2013 17:11:55 +0000 (17:11 +0000)]
R600/SI: Implement SIInstrInfo::verifyInstruction() for VOP*
The function is used by the machine verifier and checks that VOP*
instructions have legal operands.
llvm-svn: 192367
Tom Stellard [Thu, 10 Oct 2013 17:11:46 +0000 (17:11 +0000)]
R600/SI: Use -verify-machineinstrs for most tests
We can't enable the verifier for tests with SI_IF and SI_ELSE, because
these instructions are always followed by a COPY which copies their
result to the next basic block. This violates the machine verifier's
rule that non-terminators can not folow terminators.
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 192366
Tom Stellard [Thu, 10 Oct 2013 17:11:24 +0000 (17:11 +0000)]
R600/SI: Define a separate MIMG instruction for each possible output value type
During instruction selection, we rewrite the destination register
class for MIMG instructions based on their writemasks. This creates
machine verifier errors since the new register class does not match
the register class in the MIMG instruction definition.
We can avoid this by defining different MIMG instructions for each
possible destination type and then switching to the correct instruction
when we change the register class.
llvm-svn: 192365
Tom Stellard [Thu, 10 Oct 2013 17:11:19 +0000 (17:11 +0000)]
R600/SI: Mark the EXEC register as reserved
This prevents the machine verifier from complaining about uses of
an undefined physical register.
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 192364
Tom Stellard [Thu, 10 Oct 2013 17:11:12 +0000 (17:11 +0000)]
R600: Use StructurizeCFGPass for non SI targets
StructurizeCFG pass allows to make complex cfg reducible ; it allows a lot of
shader from shadertoy (which exhibits complex control flow constructs) to works
correctly with respect to CFG handling (and allow us to detect potential bug in
other part of the backend).
We provide a cmd line argument to disable the pass for debug purpose.
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 192363
Hao Liu [Thu, 10 Oct 2013 17:01:49 +0000 (17:01 +0000)]
Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem).
Including following 14 instructions:
4 ld1 insts: load multiple 1-element structure to sequential 1/2/3/4 registers.
ld2/ld3/ld4: load multiple N-element structure to sequential N registers (N=2,3,4).
4 st1 insts: store multiple 1-element structure from sequential 1/2/3/4 registers.
st2/st3/st4: store multiple N-element structure from sequential N registers (N = 2,3,4).
llvm-svn: 192362
Hao Liu [Thu, 10 Oct 2013 17:00:52 +0000 (17:00 +0000)]
Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem).
Including following 14 instructions:
4 ld1 insts: load multiple 1-element structure to sequential 1/2/3/4 registers.
ld2/ld3/ld4: load multiple N-element structure to sequential N registers (N=2,3,4).
4 st1 insts: store multiple 1-element structure from sequential 1/2/3/4 registers.
st2/st3/st4: store multiple N-element structure from sequential N registers (N = 2,3,4).
llvm-svn: 192361
Shankar Easwaran [Thu, 10 Oct 2013 16:59:53 +0000 (16:59 +0000)]
[ELF] Return error from invalid linker script parse.
llvm-svn: 192360
Timur Iskhodzhanov [Thu, 10 Oct 2013 16:38:32 +0000 (16:38 +0000)]
Disable RTTI in one test so clang doesn't assert behind the scenes
llvm-svn: 192359
Ed Maste [Thu, 10 Oct 2013 16:09:31 +0000 (16:09 +0000)]
POSIX dyld: handle extra MIPS link map field
On at least FreeBSD and NetBSD there is an extra field in the dyld link
map struct. I've left an assert for other OSes (i.e., Linux/mips) until
it's determined if they do the same.
llvm-svn: 192358
Dmitry Vyukov [Thu, 10 Oct 2013 16:03:24 +0000 (16:03 +0000)]
tsan: minor refactoring
Replace duplicate code snippet with function.
llvm-svn: 192357
Tim Northover [Thu, 10 Oct 2013 16:00:08 +0000 (16:00 +0000)]
Revert "Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem). "
This reverts commit r192351. The LLVM side broke the build and the Clang tests
will inevitably fail without it.
llvm-svn: 192356
Dmitry Vyukov [Thu, 10 Oct 2013 15:58:12 +0000 (15:58 +0000)]
tsan: add annotations to ignore synchronization operations
The annotations are AnnotateIgnoreSyncBegin/End,
may be useful to ignore some infrastructure synchronization
that introduces lots of false negatives.
llvm-svn: 192355
Rafael Espindola [Thu, 10 Oct 2013 15:15:17 +0000 (15:15 +0000)]
Revert "Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem). Including following 14 instructions: 4 ld1 insts: load multiple 1-element structure to sequential 1/2/3/4 registers. ld2/ld3/ld4: load multiple N-element structure to sequential N registers (N=2,3,4). 4 st1 insts: store multiple 1-element structure from sequential 1/2/3/4 registers. st2/st3/st4: store multiple N-element structure from sequential N registers (N = 2,3,4)."
This reverts commit r192352. It broke the build.
llvm-svn: 192354
Rafael Espindola [Thu, 10 Oct 2013 15:04:21 +0000 (15:04 +0000)]
Revert "Use aliases for more constructors and destructors."
This reverts commit r192300.
The change itself looks correct, but it found issues on how we handle aliases
in llvm.
llvm-svn: 192353
Hao Liu [Thu, 10 Oct 2013 15:01:24 +0000 (15:01 +0000)]
Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem).
Including following 14 instructions:
4 ld1 insts: load multiple 1-element structure to sequential 1/2/3/4 registers.
ld2/ld3/ld4: load multiple N-element structure to sequential N registers (N=2,3,4).
4 st1 insts: store multiple 1-element structure from sequential 1/2/3/4 registers.
st2/st3/st4: store multiple N-element structure from sequential N registers (N = 2,3,4).
llvm-svn: 192352
Hao Liu [Thu, 10 Oct 2013 14:59:36 +0000 (14:59 +0000)]
Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem).
Including following 14 instructions:
4 ld1 insts: load multiple 1-element structure to sequential 1/2/3/4 registers.
ld2/ld3/ld4: load multiple N-element structure to sequential N registers (N=2,3,4).
4 st1 insts: store multiple 1-element structure from sequential 1/2/3/4 registers.
st2/st3/st4: store multiple N-element structure from sequential N registers (N = 2,3,4).
E.g. ld1(3 registers version) will load 32-bit elements {A, B, C, D, E, F} sequentially into the three 64-bit vectors list {BA, DC, FE}.
E.g. ld3 will load 32-bit elements {A, B, C, D, E, F} into the three 64-bit vectors list {DA, EB, FC}.
llvm-svn: 192351
Benjamin Kramer [Thu, 10 Oct 2013 14:35:45 +0000 (14:35 +0000)]
ARM: Put isV8EligibleForIT into the llvm namespace. While there make it inline.
llvm-svn: 192350
Alexander Kornienko [Thu, 10 Oct 2013 13:36:20 +0000 (13:36 +0000)]
Correctly detect colon in bit fields. Fixes PR17333.
Summary: Colon was incorrectly detected as a start of inheritance list. Fixed.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1884
llvm-svn: 192349
Benjamin Kramer [Thu, 10 Oct 2013 12:46:23 +0000 (12:46 +0000)]
Disable function padding to get this test to pass on atom.
llvm-svn: 192348
Benjamin Kramer [Thu, 10 Oct 2013 12:24:40 +0000 (12:24 +0000)]
Parser: Avoid a crash-on-invalid when trying to diagnose function calls with -> in it.
Use the existing convenience function.
llvm-svn: 192347
Benjamin Kramer [Thu, 10 Oct 2013 09:44:41 +0000 (09:44 +0000)]
Sema: Taking the address of a dtor is illegal per C++ [class.dtor]p2.
Emit a proper error instead of crashing in CodeGen. PR16892.
llvm-svn: 192345
Tim Northover [Thu, 10 Oct 2013 09:28:20 +0000 (09:28 +0000)]
ARM: correct liveness flags during ARMLoadStoreOpt
When we had a sequence like:
s1 = VLDRS [r0, 1], Q0<imp-def>
s3 = VLDRS [r0, 2], Q0<imp-use,kill>, Q0<imp-def>
s0 = VLDRS [r0, 0], Q0<imp-use,kill>, Q0<imp-def>
s2 = VLDRS [r0, 4], Q0<imp-use,kill>, Q0<imp-def>
we were gathering the {s0, s1} loads below the s3 load. This is fine,
but confused the verifier since now the s3 load had Q0<imp-use> with
no definition above it.
This should mark such uses <undef> as well. The liveness structure at
the beginning and end of the block is unaffected, and the true sN
definitions should prevent any dodgy reorderings being introduced
elsewhere.
rdar://problem/
15124449
llvm-svn: 192344
Simon Atanasyan [Thu, 10 Oct 2013 07:57:44 +0000 (07:57 +0000)]
[Mips] Support FSF Mips toolchain directories tree in the Clang driver.
The patch reviewed by Rafael Espindola.
http://llvm-reviews.chandlerc.com/D1843
llvm-svn: 192343
Rui Ueyama [Thu, 10 Oct 2013 05:39:43 +0000 (05:39 +0000)]
[PECOFF] Add files appear in .drectve to input graph
-- so that command line options to specify new input files, such as
/defaultlib:foo, is handled properly. Such options were ignored before
this patch.
llvm-svn: 192342
Craig Topper [Thu, 10 Oct 2013 05:33:31 +0000 (05:33 +0000)]
Allow non-AVX form of pmovmskb to take a GR64 operand.
llvm-svn: 192341
Craig Topper [Thu, 10 Oct 2013 05:01:22 +0000 (05:01 +0000)]
Remove duplicate instructions.
llvm-svn: 192340
Craig Topper [Thu, 10 Oct 2013 04:26:52 +0000 (04:26 +0000)]
Fix so CRC32r64r8 isn't accidentally filtered from the disassembler tables.
llvm-svn: 192339
Ted Kremenek [Thu, 10 Oct 2013 02:12:25 +0000 (02:12 +0000)]
Make test portable.
llvm-svn: 192338
Hans Wennborg [Thu, 10 Oct 2013 01:15:16 +0000 (01:15 +0000)]
Add a section about clang-cl to UsersManual.rst
Differential Revision: http://llvm-reviews.chandlerc.com/D1881
llvm-svn: 192337
Ed Maste [Thu, 10 Oct 2013 01:04:21 +0000 (01:04 +0000)]
POSIX RegisterContext for mips64
Based on the POSIX x86_64 register context. This is sufficient for opening
a mips64 (big endian) core file. Subsequent changes will connect the
disassembler, dynamic loader support, ABI, etc.
Review: http://llvm-reviews.chandlerc.com/D1873
(Missed "svn add" on this file in r192335)
llvm-svn: 192336
Ed Maste [Thu, 10 Oct 2013 00:59:47 +0000 (00:59 +0000)]
POSIX RegisterContext for mips64
Based on the POSIX x86_64 register context. This is sufficient for opening
a mips64 (big endian) core file. Subsequent changes will connect the
disassembler, dynamic loader support, ABI, etc.
Review: http://llvm-reviews.chandlerc.com/D1873
llvm-svn: 192335
Ted Kremenek [Thu, 10 Oct 2013 00:54:01 +0000 (00:54 +0000)]
Fix getIntegerTypeOrder() to properly handle enums by first unwrapping their underlying integer type. This is a precondition for calling getIntegerRank().
Fixes an assertion failure in a test case involving vectors.
Fixes <rdar://problem/
15091442>
Please somebody check this.
llvm-svn: 192334
Sean Callanan [Thu, 10 Oct 2013 00:39:23 +0000 (00:39 +0000)]
Fixed a leak of ASTStructExtractors and also
made sure we don't keep around no-longer-valid
ASTTransformers.
<rdar://problem/
15182379>
llvm-svn: 192333
Michael Sartain [Thu, 10 Oct 2013 00:16:10 +0000 (00:16 +0000)]
Merge RegisterContextPOSIX_x86_64 and RegisterContextPOSIX_i386 into RegisterContextPOSIX_x86
llvm-svn: 192332
Hans Wennborg [Wed, 9 Oct 2013 23:41:48 +0000 (23:41 +0000)]
Use KEY_WOW64_32KEY when reading the registry in WindowsToolChain.cpp (PR17033)
This exposes a 32-bit view of the registry even when Clang is built as a 64-bit
program. Since Visual Studio is a 32-bit application, this is necessary for us
to find it.
llvm-svn: 192331
Akira Hatanaka [Wed, 9 Oct 2013 23:36:17 +0000 (23:36 +0000)]
[mips] Do not generate INS/EXT nodes if target does not have support for
ins/ext.
llvm-svn: 192330
Rui Ueyama [Wed, 9 Oct 2013 23:15:49 +0000 (23:15 +0000)]
Revert "llvm-c: Make target initializer functions external functions in lib."
This reverts commit r192316. The original change introduced circular
dependencies between libTarget and backends. That would broke a build unless
link everything into one big binary.
llvm-svn: 192329
Ted Kremenek [Wed, 9 Oct 2013 22:34:33 +0000 (22:34 +0000)]
Refine string literal concatenation warning within an NSArray literal to not warn when the literal comes from a macro expansion. Fixes <rdar://problem/
15147688>.
llvm-svn: 192328
Sean Callanan [Wed, 9 Oct 2013 22:33:34 +0000 (22:33 +0000)]
Implemented the reverse-lookup API in the AST
importer to avoid duplicate imports of anonymous
structs.
<rdar://problem/
14421722>
llvm-svn: 192327
Daniel Malea [Wed, 9 Oct 2013 22:11:30 +0000 (22:11 +0000)]
Initial checkin of curses-based LLDB UI (lui)
LLDB (Terminal) User Interface
==============================
This directory contains the curses user interface for LLDB. To use it, ensure Python can find your lldb module. You may have to modify PYTHONPATH for that purpose:
$ export PYTHONPATH=/path/to/lldb/module
Then, run the lui.py. To load a core file:
$ ./lui.py --core core
To create a target from an executable:
$ ./lui.py /bin/echo "hello world"
To attach to a running process:
$ ./lui.py --attach <pid>
Known Issues
============
1. Resizing the terminal will most likely cause lui to crash.
2. Missing paging in command-window
3. Only minimal testing (on Ubuntu Linux x86_64)
Missing Features
================
- stdin/stdout/stderr windows
- memory window
- backtrace window
- threads window
- tab-completion
- syntax-highlighting (via pygments library)
- (local) variables window
- registers window
- disassembly window
- custom layout
llvm-svn: 192326