platform/upstream/llvm.git
9 years agoFix expectedFailureLLGS to expect failure when host platform is not linux.
Robert Flack [Thu, 9 Apr 2015 14:54:26 +0000 (14:54 +0000)]
Fix expectedFailureLLGS to expect failure when host platform is not linux.

expectedFailureLLGS has an early return false if the platform is not linux
except it should be checking the target platform on which the server is
running for remote tests.

Test Plan:
Verify expected failure when running from mac to remote linux llgs:
TestBreakAfterJoin.py, TestCreateDuringStep.py, TestExitDuringBreak.py,
TestProcessLaunch.py, TestThreadStates.py

Differential Revision: http://reviews.llvm.org/D8869

llvm-svn: 234492

9 years agoUse error_t rather than int in a couple of places where we handle files
Timur Iskhodzhanov [Thu, 9 Apr 2015 14:49:53 +0000 (14:49 +0000)]
Use error_t rather than int in a couple of places where we handle files

llvm-svn: 234491

9 years agoUse RenameFile instead of internal_rename in non-POSIX code
Timur Iskhodzhanov [Thu, 9 Apr 2015 14:45:17 +0000 (14:45 +0000)]
Use RenameFile instead of internal_rename in non-POSIX code

llvm-svn: 234490

9 years agoAdd info on running remote test suite to the website
Pavel Labath [Thu, 9 Apr 2015 14:23:24 +0000 (14:23 +0000)]
Add info on running remote test suite to the website

Reviewers: tberghammer, zturner

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8873

llvm-svn: 234489

9 years ago[ARM] add support for Cortex-R4/R4F
Javed Absar [Thu, 9 Apr 2015 14:12:10 +0000 (14:12 +0000)]
[ARM] add support for Cortex-R4/R4F

Adds ARM Cortex-R4 and R4F support and tests in Clang. Though Cortex-R4
support was present, the support for hwdiv in thumb-mode was not defined
or tested properly. This has also been added.

llvm-svn: 234488

9 years agoUse WriteToFile instead of internal_write in non-POSIX code
Timur Iskhodzhanov [Thu, 9 Apr 2015 14:11:25 +0000 (14:11 +0000)]
Use WriteToFile instead of internal_write in non-POSIX code

llvm-svn: 234487

9 years ago[ARM] support for Cortex-R4/R4F
Javed Absar [Thu, 9 Apr 2015 14:07:28 +0000 (14:07 +0000)]
[ARM] support for Cortex-R4/R4F

Currently, llvm (backend) doesn't know cortex-r4, even though it is the
default target for armv7r. Using "--target=armv7r-arm-none-eabi" provokes
'cortex-r4' is not a recognized processor for this target' by llvm.
This patch adds support for cortex-r4 and, very closely related, r4f.

llvm-svn: 234486

9 years agoUse ReadFromFile instead of internal_read in non-POSIX code
Timur Iskhodzhanov [Thu, 9 Apr 2015 13:38:14 +0000 (13:38 +0000)]
Use ReadFromFile instead of internal_read in non-POSIX code

llvm-svn: 234485

9 years agoNothing inherits from the asm streamer.
Rafael Espindola [Thu, 9 Apr 2015 13:04:20 +0000 (13:04 +0000)]
Nothing inherits from the asm streamer.

Make that explicit and remove protected:

llvm-svn: 234484

9 years agoGenerate an event when a pending breakpoint binds
Ilia K [Thu, 9 Apr 2015 12:55:13 +0000 (12:55 +0000)]
Generate an event when a pending breakpoint binds

Summary:
This checkin sends an MI event when a module is loaded that causes a pending breakpoint to bind to it's real address in the target. This allows breakpoints to be set before the process is launched, and the target address of the BP to be discovered when the module loads, prior to the breakpoint being hit.

Patch from chuckr@microsoft.com

Test Plan:
I ran the check-lldb target with and without this patch and saw no change. I am unsure of how to write an MI specific test for this because the new event is buried in module load events. Here is an example (the new event is in bold):

```
(gdb)
-file-exec-and-symbols a.out
^done
(gdb)
=shlibs-added,shlib-info=[num="1",name="a.out",dyld-addr="-",reason="dyld",path="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/a.out",loaded_addr="-",dsym-objpath="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/a.out.dSYM/Contents/Resources/DWARF/a.out"]
-break-insert -f main.cpp:15
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xffffffffffffffff",func="main",file="main.cpp",fullname="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/main.cpp",line="15",pending=["main.cpp:15"],times="0",original-location="main.cpp:15"}
(gdb)
=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xffffffffffffffff",func="main",file="main.cpp",fullname="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/main.cpp",line="15",pending=["main.cpp:15"],times="0",original-location="main.cpp:15"}
-exec-run
^running
=thread-group-started,id="i1",pid="75620"
(gdb)
=thread-created,id="1",group-id="i1"
=thread-selected,id="1"
(gdb)
=shlibs-added,shlib-info=[num="2",name="dyld",dyld-addr="0x7fff5fc00000",reason="dyld",path="/usr/lib/dyld",loaded_addr="0x7fff5fc00000"]
(gdb)
=shlibs-added,shlib-info=[num="3",name="dyld",dyld-addr="0x7fff5fc00000",reason="dyld",path="/usr/lib/dyld",loaded_addr="0x7fff5fc00000"]
(gdb)
*running,thread-id="all"
(gdb)
(gdb)
=shlibs-added,shlib-info=[num="4",name="libc++.1.dylib",dyld-addr="0x7fff85dd0000",reason="dyld",path="/usr/lib/libc++.1.dylib",loaded_addr="0x7fff85dd0000"]
(gdb)
=shlibs-added,shlib-info=[num="5",name="libSystem.B.dylib",dyld-addr="0x7fff851ab000",reason="dyld",path="/usr/lib/libSystem.B.dylib",loaded_addr="0x7fff851ab000"]
(gdb)
=shlibs-added,shlib-info=[num="6",name="libc++abi.dylib",dyld-addr="0x7fff81be8000",reason="dyld",path="/usr/lib/libc++abi.dylib",loaded_addr="0x7fff81be8000"]
(gdb)
=shlibs-added,shlib-info=[num="7",name="libcache.dylib",dyld-addr="0x7fff8b975000",reason="dyld",path="/usr/lib/system/libcache.dylib",loaded_addr="0x7fff8b975000"]
(gdb)
=shlibs-added,shlib-info=[num="8",name="libcommonCrypto.dylib",dyld-addr="0x7fff85d14000",reason="dyld",path="/usr/lib/system/libcommonCrypto.dylib",loaded_addr="0x7fff85d14000"]
(gdb)
=shlibs-added,shlib-info=[num="9",name="libcompiler_rt.dylib",dyld-addr="0x7fff86154000",reason="dyld",path="/usr/lib/system/libcompiler_rt.dylib",loaded_addr="0x7fff86154000"]
(gdb)
=shlibs-added,shlib-info=[num="10",name="libcopyfile.dylib",dyld-addr="0x7fff81ac7000",reason="dyld",path="/usr/lib/system/libcopyfile.dylib",loaded_addr="0x7fff81ac7000"]
(gdb)
=shlibs-added,shlib-info=[num="11",name="libcorecrypto.dylib",dyld-addr="0x7fff87d5d000",reason="dyld",path="/usr/lib/system/libcorecrypto.dylib",loaded_addr="0x7fff87d5d000"]
(gdb)
=shlibs-added,shlib-info=[num="12",name="libdispatch.dylib",dyld-addr="0x7fff8ea8c000",reason="dyld",path="/usr/lib/system/libdispatch.dylib",loaded_addr="0x7fff8ea8c000"]
(gdb)
=shlibs-added,shlib-info=[num="13",name="libdyld.dylib",dyld-addr="0x7fff89087000",reason="dyld",path="/usr/lib/system/libdyld.dylib",loaded_addr="0x7fff89087000"]
(gdb)
=shlibs-added,shlib-info=[num="14",name="libkeymgr.dylib",dyld-addr="0x7fff8e818000",reason="dyld",path="/usr/lib/system/libkeymgr.dylib",loaded_addr="0x7fff8e818000"]
(gdb)
=shlibs-added,shlib-info=[num="15",name="liblaunch.dylib",dyld-addr="0x7fff84936000",reason="dyld",path="/usr/lib/system/liblaunch.dylib",loaded_addr="0x7fff84936000"]
(gdb)
=shlibs-added,shlib-info=[num="16",name="libmacho.dylib",dyld-addr="0x7fff8534e000",reason="dyld",path="/usr/lib/system/libmacho.dylib",loaded_addr="0x7fff8534e000"]
(gdb)
=shlibs-added,shlib-info=[num="17",name="libquarantine.dylib",dyld-addr="0x7fff90f97000",reason="dyld",path="/usr/lib/system/libquarantine.dylib",loaded_addr="0x7fff90f97000"]
(gdb)
=shlibs-added,shlib-info=[num="18",name="libremovefile.dylib",dyld-addr="0x7fff8ccb5000",reason="dyld",path="/usr/lib/system/libremovefile.dylib",loaded_addr="0x7fff8ccb5000"]
(gdb)
=shlibs-added,shlib-info=[num="19",name="libsystem_asl.dylib",dyld-addr="0x7fff8df67000",reason="dyld",path="/usr/lib/system/libsystem_asl.dylib",loaded_addr="0x7fff8df67000"]
(gdb)
=shlibs-added,shlib-info=[num="20",name="libsystem_blocks.dylib",dyld-addr="0x7fff8621c000",reason="dyld",path="/usr/lib/system/libsystem_blocks.dylib",loaded_addr="0x7fff8621c000"]
(gdb)
=shlibs-added,shlib-info=[num="21",name="libsystem_c.dylib",dyld-addr="0x7fff83c0f000",reason="dyld",path="/usr/lib/system/libsystem_c.dylib",loaded_addr="0x7fff83c0f000"]
(gdb)
=shlibs-added,shlib-info=[num="22",name="libsystem_configuration.dylib",dyld-addr="0x7fff8fd71000",reason="dyld",path="/usr/lib/system/libsystem_configuration.dylib",loaded_addr="0x7fff8fd71000"]
(gdb)
=shlibs-added,shlib-info=[num="23",name="libsystem_coreservices.dylib",dyld-addr="0x7fff8a028000",reason="dyld",path="/usr/lib/system/libsystem_coreservices.dylib",loaded_addr="0x7fff8a028000"]
(gdb)
=shlibs-added,shlib-info=[num="24",name="libsystem_coretls.dylib",dyld-addr="0x7fff90996000",reason="dyld",path="/usr/lib/system/libsystem_coretls.dylib",loaded_addr="0x7fff90996000"]
(gdb)
=shlibs-added,shlib-info=[num="25",name="libsystem_dnssd.dylib",dyld-addr="0x7fff8b71f000",reason="dyld",path="/usr/lib/system/libsystem_dnssd.dylib",loaded_addr="0x7fff8b71f000"]
(gdb)
=shlibs-added,shlib-info=[num="26",name="libsystem_info.dylib",dyld-addr="0x7fff8b9f2000",reason="dyld",path="/usr/lib/system/libsystem_info.dylib",loaded_addr="0x7fff8b9f2000"]
(gdb)
=shlibs-added,shlib-info=[num="27",name="libsystem_kernel.dylib",dyld-addr="0x7fff81ad0000",reason="dyld",path="/usr/lib/system/libsystem_kernel.dylib",loaded_addr="0x7fff81ad0000"]
(gdb)
=shlibs-added,shlib-info=[num="28",name="libsystem_m.dylib",dyld-addr="0x7fff84953000",reason="dyld",path="/usr/lib/system/libsystem_m.dylib",loaded_addr="0x7fff84953000"]
(gdb)
=shlibs-added,shlib-info=[num="29",name="libsystem_malloc.dylib",dyld-addr="0x7fff887bd000",reason="dyld",path="/usr/lib/system/libsystem_malloc.dylib",loaded_addr="0x7fff887bd000"]
(gdb)
=shlibs-added,shlib-info=[num="30",name="libsystem_network.dylib",dyld-addr="0x7fff88304000",reason="dyld",path="/usr/lib/system/libsystem_network.dylib",loaded_addr="0x7fff88304000"]
(gdb)
=shlibs-added,shlib-info=[num="31",name="libsystem_networkextension.dylib",dyld-addr="0x7fff82085000",reason="dyld",path="/usr/lib/system/libsystem_networkextension.dylib",loaded_addr="0x7fff82085000"]
(gdb)
=shlibs-added,shlib-info=[num="32",name="libsystem_notify.dylib",dyld-addr="0x7fff8eb69000",reason="dyld",path="/usr/lib/system/libsystem_notify.dylib",loaded_addr="0x7fff8eb69000"]
(gdb)
=shlibs-added,shlib-info=[num="33",name="libsystem_platform.dylib",dyld-addr="0x7fff89ac7000",reason="dyld",path="/usr/lib/system/libsystem_platform.dylib",loaded_addr="0x7fff89ac7000"]
(gdb)
=shlibs-added,shlib-info=[num="34",name="libsystem_pthread.dylib",dyld-addr="0x7fff83ff8000",reason="dyld",path="/usr/lib/system/libsystem_pthread.dylib",loaded_addr="0x7fff83ff8000"]
(gdb)
=shlibs-added,shlib-info=[num="35",name="libsystem_sandbox.dylib",dyld-addr="0x7fff89084000",reason="dyld",path="/usr/lib/system/libsystem_sandbox.dylib",loaded_addr="0x7fff89084000"]
(gdb)
=shlibs-added,shlib-info=[num="36",name="libsystem_secinit.dylib",dyld-addr="0x7fff8e816000",reason="dyld",path="/usr/lib/system/libsystem_secinit.dylib",loaded_addr="0x7fff8e816000"]
(gdb)
=shlibs-added,shlib-info=[num="37",name="libsystem_stats.dylib",dyld-addr="0x7fff89eaf000",reason="dyld",path="/usr/lib/system/libsystem_stats.dylib",loaded_addr="0x7fff89eaf000"]
(gdb)
=shlibs-added,shlib-info=[num="38",name="libsystem_trace.dylib",dyld-addr="0x7fff8ead4000",reason="dyld",path="/usr/lib/system/libsystem_trace.dylib",loaded_addr="0x7fff8ead4000"]
(gdb)
=shlibs-added,shlib-info=[num="39",name="libunc.dylib",dyld-addr="0x7fff8ab27000",reason="dyld",path="/usr/lib/system/libunc.dylib",loaded_addr="0x7fff8ab27000"]
(gdb)
=shlibs-added,shlib-info=[num="40",name="libunwind.dylib",dyld-addr="0x7fff85cf3000",reason="dyld",path="/usr/lib/system/libunwind.dylib",loaded_addr="0x7fff85cf3000"]
(gdb)
=shlibs-added,shlib-info=[num="41",name="libxpc.dylib",dyld-addr="0x7fff88896000",reason="dyld",path="/usr/lib/system/libxpc.dylib",loaded_addr="0x7fff88896000"]
(gdb)
=shlibs-added,shlib-info=[num="42",name="libobjc.A.dylib",dyld-addr="0x7fff84f13000",reason="dyld",path="/usr/lib/libobjc.A.dylib",loaded_addr="0x7fff84f13000"]
(gdb)
=shlibs-added,shlib-info=[num="43",name="libauto.dylib",dyld-addr="0x7fff85d89000",reason="dyld",path="/usr/lib/libauto.dylib",loaded_addr="0x7fff85d89000"]
(gdb)
=shlibs-added,shlib-info=[num="44",name="libDiagnosticMessagesClient.dylib",dyld-addr="0x7fff822e1000",reason="dyld",path="/usr/lib/libDiagnosticMessagesClient.dylib",loaded_addr="0x7fff822e1000"]
```
=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000f4d",func="main",file="main.cpp",fullname="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/main.cpp",line="15",pending=["main.cpp:15"],times="0",original-location="main.cpp:15"}
```
(gdb)
=shlibs-added,shlib-info=[num="45",name="a.out",dyld-addr="0x100000000",reason="dyld",path="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/a.out",loaded_addr="0x100000000",dsym-objpath="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/a.out.dSYM/Contents/Resources/DWARF/a.out"]
=shlibs-added,shlib-info=[num="46",name="libc++.1.dylib",dyld-addr="0x7fff85dd0000",reason="dyld",path="/usr/lib/libc++.1.dylib",loaded_addr="0x7fff85dd0000"]
=shlibs-added,shlib-info=[num="47",name="libSystem.B.dylib",dyld-addr="0x7fff851ab000",reason="dyld",path="/usr/lib/libSystem.B.dylib",loaded_addr="0x7fff851ab000"]
=shlibs-added,shlib-info=[num="48",name="libc++abi.dylib",dyld-addr="0x7fff81be8000",reason="dyld",path="/usr/lib/libc++abi.dylib",loaded_addr="0x7fff81be8000"]
=shlibs-added,shlib-info=[num="49",name="libcache.dylib",dyld-addr="0x7fff8b975000",reason="dyld",path="/usr/lib/system/libcache.dylib",loaded_addr="0x7fff8b975000"]
=shlibs-added,shlib-info=[num="50",name="libcommonCrypto.dylib",dyld-addr="0x7fff85d14000",reason="dyld",path="/usr/lib/system/libcommonCrypto.dylib",loaded_addr="0x7fff85d14000"]
=shlibs-added,shlib-info=[num="51",name="libcompiler_rt.dylib",dyld-addr="0x7fff86154000",reason="dyld",path="/usr/lib/system/libcompiler_rt.dylib",loaded_addr="0x7fff86154000"]
=shlibs-added,shlib-info=[num="52",name="libcopyfile.dylib",dyld-addr="0x7fff81ac7000",reason="dyld",path="/usr/lib/system/libcopyfile.dylib",loaded_addr="0x7fff81ac7000"]
=shlibs-added,shlib-info=[num="53",name="libcorecrypto.dylib",dyld-addr="0x7fff87d5d000",reason="dyld",path="/usr/lib/system/libcorecrypto.dylib",loaded_addr="0x7fff87d5d000"]
=shlibs-added,shlib-info=[num="54",name="libdispatch.dylib",dyld-addr="0x7fff8ea8c000",reason="dyld",path="/usr/lib/system/libdispatch.dylib",loaded_addr="0x7fff8ea8c000"]
=shlibs-added,shlib-info=[num="55",name="libdyld.dylib",dyld-addr="0x7fff89087000",reason="dyld",path="/usr/lib/system/libdyld.dylib",loaded_addr="0x7fff89087000"]
=shlibs-added,shlib-info=[num="56",name="libkeymgr.dylib",dyld-addr="0x7fff8e818000",reason="dyld",path="/usr/lib/system/libkeymgr.dylib",loaded_addr="0x7fff8e818000"]
=shlibs-added,shlib-info=[num="57",name="liblaunch.dylib",dyld-addr="0x7fff84936000",reason="dyld",path="/usr/lib/system/liblaunch.dylib",loaded_addr="0x7fff84936000"]
=shlibs-added,shlib-info=[num="58",name="libmacho.dylib",dyld-addr="0x7fff8534e000",reason="dyld",path="/usr/lib/system/libmacho.dylib",loaded_addr="0x7fff8534e000"]
=shlibs-added,shlib-info=[num="59",name="libquarantine.dylib",dyld-addr="0x7fff90f97000",reason="dyld",path="/usr/lib/system/libquarantine.dylib",loaded_addr="0x7fff90f97000"]
=shlibs-added,shlib-info=[num="60",name="libremovefile.dylib",dyld-addr="0x7fff8ccb5000",reason="dyld",path="/usr/lib/system/libremovefile.dylib",loaded_addr="0x7fff8ccb5000"]
=shlibs-added,shlib-info=[num="61",name="libsystem_asl.dylib",dyld-addr="0x7fff8df67000",reason="dyld",path="/usr/lib/system/libsystem_asl.dylib",loaded_addr="0x7fff8df67000"]
=shlibs-added,shlib-info=[num="62",name="libsystem_blocks.dylib",dyld-addr="0x7fff8621c000",reason="dyld",path="/usr/lib/system/libsystem_blocks.dylib",loaded_addr="0x7fff8621c000"]
=shlibs-added,shlib-info=[num="63",name="libsystem_c.dylib",dyld-addr="0x7fff83c0f000",reason="dyld",path="/usr/lib/system/libsystem_c.dylib",loaded_addr="0x7fff83c0f000"]
=shlibs-added,shlib-info=[num="64",name="libsystem_configuration.dylib",dyld-addr="0x7fff8fd71000",reason="dyld",path="/usr/lib/system/libsystem_configuration.dylib",loaded_addr="0x7fff8fd71000"]
=shlibs-added,shlib-info=[num="65",name="libsystem_coreservices.dylib",dyld-addr="0x7fff8a028000",reason="dyld",path="/usr/lib/system/libsystem_coreservices.dylib",loaded_addr="0x7fff8a028000"]
=shlibs-added,shlib-info=[num="66",name="libsystem_coretls.dylib",dyld-addr="0x7fff90996000",reason="dyld",path="/usr/lib/system/libsystem_coretls.dylib",loaded_addr="0x7fff90996000"]
=shlibs-added,shlib-info=[num="67",name="libsystem_dnssd.dylib",dyld-addr="0x7fff8b71f000",reason="dyld",path="/usr/lib/system/libsystem_dnssd.dylib",loaded_addr="0x7fff8b71f000"]
=shlibs-added,shlib-info=[num="68",name="libsystem_info.dylib",dyld-addr="0x7fff8b9f2000",reason="dyld",path="/usr/lib/system/libsystem_info.dylib",loaded_addr="0x7fff8b9f2000"]
=shlibs-added,shlib-info=[num="69",name="libsystem_kernel.dylib",dyld-addr="0x7fff81ad0000",reason="dyld",path="/usr/lib/system/libsystem_kernel.dylib",loaded_addr="0x7fff81ad0000"]
=shlibs-added,shlib-info=[num="70",name="libsystem_m.dylib",dyld-addr="0x7fff84953000",reason="dyld",path="/usr/lib/system/libsystem_m.dylib",loaded_addr="0x7fff84953000"]
=shlibs-added,shlib-info=[num="71",name="libsystem_malloc.dylib",dyld-addr="0x7fff887bd000",reason="dyld",path="/usr/lib/system/libsystem_malloc.dylib",loaded_addr="0x7fff887bd000"]
=shlibs-added,shlib-info=[num="72",name="libsystem_network.dylib",dyld-addr="0x7fff88304000",reason="dyld",path="/usr/lib/system/libsystem_network.dylib",loaded_addr="0x7fff88304000"]
=shlibs-added,shlib-info=[num="73",name="libsystem_networkextension.dylib",dyld-addr="0x7fff82085000",reason="dyld",path="/usr/lib/system/libsystem_networkextension.dylib",loaded_addr="0x7fff82085000"]
=shlibs-added,shlib-info=[num="74",name="libsystem_notify.dylib",dyld-addr="0x7fff8eb69000",reason="dyld",path="/usr/lib/system/libsystem_notify.dylib",loaded_addr="0x7fff8eb69000"]
=shlibs-added,shlib-info=[num="75",name="libsystem_platform.dylib",dyld-addr="0x7fff89ac7000",reason="dyld",path="/usr/lib/system/libsystem_platform.dylib",loaded_addr="0x7fff89ac7000"]
=shlibs-added,shlib-info=[num="76",name="libsystem_pthread.dylib",dyld-addr="0x7fff83ff8000",reason="dyld",path="/usr/lib/system/libsystem_pthread.dylib",loaded_addr="0x7fff83ff8000"]
=shlibs-added,shlib-info=[num="77",name="libsystem_sandbox.dylib",dyld-addr="0x7fff89084000",reason="dyld",path="/usr/lib/system/libsystem_sandbox.dylib",loaded_addr="0x7fff89084000"]
=shlibs-added,shlib-info=[num="78",name="libsystem_secinit.dylib",dyld-addr="0x7fff8e816000",reason="dyld",path="/usr/lib/system/libsystem_secinit.dylib",loaded_addr="0x7fff8e816000"]
=shlibs-added,shlib-info=[num="79",name="libsystem_stats.dylib",dyld-addr="0x7fff89eaf000",reason="dyld",path="/usr/lib/system/libsystem_stats.dylib",loaded_addr="0x7fff89eaf000"]
=shlibs-added,shlib-info=[num="80",name="libsystem_trace.dylib",dyld-addr="0x7fff8ead4000",reason="dyld",path="/usr/lib/system/libsystem_trace.dylib",loaded_addr="0x7fff8ead4000"]
=shlibs-added,shlib-info=[num="81",name="libunc.dylib",dyld-addr="0x7fff8ab27000",reason="dyld",path="/usr/lib/system/libunc.dylib",loaded_addr="0x7fff8ab27000"]
=shlibs-added,shlib-info=[num="82",name="libunwind.dylib",dyld-addr="0x7fff85cf3000",reason="dyld",path="/usr/lib/system/libunwind.dylib",loaded_addr="0x7fff85cf3000"]
=shlibs-added,shlib-info=[num="83",name="libxpc.dylib",dyld-addr="0x7fff88896000",reason="dyld",path="/usr/lib/system/libxpc.dylib",loaded_addr="0x7fff88896000"]
=shlibs-added,shlib-info=[num="84",name="libobjc.A.dylib",dyld-addr="0x7fff84f13000",reason="dyld",path="/usr/lib/libobjc.A.dylib",loaded_addr="0x7fff84f13000"]
=shlibs-added,shlib-info=[num="85",name="libauto.dylib",dyld-addr="0x7fff85d89000",reason="dyld",path="/usr/lib/libauto.dylib",loaded_addr="0x7fff85d89000"]
=shlibs-added,shlib-info=[num="86",name="libDiagnosticMessagesClient.dylib",dyld-addr="0x7fff822e1000",reason="dyld",path="/usr/lib/libDiagnosticMessagesClient.dylib",loaded_addr="0x7fff822e1000"]
(gdb)
*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x0000000100000f4d",func="main",args=[{name="argc",value="1"},{name="argv",value="0x00007fff5fbffed8"}],file="main.cpp",fullname="/Users/chuckr/llama/llvm/tools/lldb/test/tools/lldb-mi/main.cpp",line="15"},thread-id="1",stopped-threads="all"
(gdb)
```

Reviewers: abidh, clayborg, ChuckR, jingham

Subscribers: ki.stfu, paulmaybee, lldb-commits

Differential Revision: http://reviews.llvm.org/D8847

llvm-svn: 234483

9 years agoMove more POSIX-specific functions to sanitizer_posix.h
Timur Iskhodzhanov [Thu, 9 Apr 2015 12:54:06 +0000 (12:54 +0000)]
Move more POSIX-specific functions to sanitizer_posix.h

llvm-svn: 234482

9 years agoIntroduce CloseFile to be used instead of internal_close on non-POSIX
Timur Iskhodzhanov [Thu, 9 Apr 2015 12:37:05 +0000 (12:37 +0000)]
Introduce CloseFile to be used instead of internal_close on non-POSIX

llvm-svn: 234481

9 years agoFix MiGdbSetShowTestCase.test_lldbmi_gdb_set_ouptut_radix after r234476
Ilia K [Thu, 9 Apr 2015 12:21:56 +0000 (12:21 +0000)]
Fix MiGdbSetShowTestCase.test_lldbmi_gdb_set_ouptut_radix after r234476

This includes:
* Add CMICmnLLDBUtilSBValue::IsIntegerType to check integer type
* Improve CMICmnLLDBDebugSessionInfoVarObj::GetValueStringFormatted to handle veVarFormat arg

llvm-svn: 234480

9 years agoReplace a hard-coded constant with a named one
Timur Iskhodzhanov [Thu, 9 Apr 2015 12:20:02 +0000 (12:20 +0000)]
Replace a hard-coded constant with a named one

llvm-svn: 234479

9 years agoDo not recommend -polly-vectorizer=polly
Tobias Grosser [Thu, 9 Apr 2015 12:10:36 +0000 (12:10 +0000)]
Do not recommend -polly-vectorizer=polly

Instead, we recommend -polly-vectorizer=stripmine, which pre-vectorizers outer
loops for the LoopVectorizer to take over.

llvm-svn: 234478

9 years agoDifferential Revision: http://reviews.llvm.org/D7249
Lorenzo Martignoni [Thu, 9 Apr 2015 11:42:33 +0000 (11:42 +0000)]
Differential Revision: reviews.llvm.org/D7249

llvm-svn: 234477

9 years agoRefactor CMICmnLLDBDebuggerHandleEvents/CMICmnLLDBDebugSessionInfo/CMICmnLLDBDebugSes...
Ilia K [Thu, 9 Apr 2015 11:17:54 +0000 (11:17 +0000)]
Refactor CMICmnLLDBDebuggerHandleEvents/CMICmnLLDBDebugSessionInfo/CMICmnLLDBDebugSessionInfoVarObj (MI)

Summary:
This patch includes the following changes:

# Refactor GetVariableInfo/GetValueStringFormatted/GetValue to use the same code (MI)
Also it expands the variable value format for strings (aka char*):
was:
```
^done,name="v4",numchild="1",value="0x0000000100000f56",type="const char *",thread-id="1",has_more="0"
```
now:
```
^done,name="v4",numchild="1",value="0x0000000100000f56 \"ab\"",type="const char *",thread-id="1",has_more="0"
```

# Expand the variable value format for arrays (according to GDB)
For example:
was:
```
^done,name="v3",numchild="2",value="{...}",type="char [2]",thread-id="1",has_more="0"
```
now:
```
^done,name="v3",numchild="2",value="[2]",type="char [2]",thread-id="1",has_more="0"
```

# Rename MiGdbSetShowTestCase.test_lldbmi_gdb_show_process_stopatentry_default to test_lldbmi_gdb_show_process_stopatentry (MI)

# Fix a comment in MiGdbSetShowTestCase.test_lldbmi_gdb_show_process_stopatentry (MI)

# Refactor CMICmnLLDBUtilSBValue
## Add CMICmnLLDBUtilSBValue::IsPointerType/IsArrayType
## Refactor CMICmnLLDBUtilSBValue::GetValue
## Fix CMICmnLLDBUtilSBValue::IsChildCharType to ignore a number of childs
## Rename CMICmnLLDBUtilSBValue::IsChildCharType to IsFirstChildCharType
## Fix CMICmnLLDBUtilSBValue::GetValueCString to accept char[]

# Minor changes in CMICmnLLDBUtilSBValue::GetValue

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo family functions (MI)

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
## Remove CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo2
## Improve CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo to accept args

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
## Add vArgInfo arg to CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo
## Move CMICmnLLDBDebugSessionInfo::GetFrameInfo/MIResponseFormFrameInfo to private namespace

# Refactor CMICmnLLDBDebugSessionInfo::GetThreadFrames family functions (MI)
## Remove CMICmnLLDBDebugSessionInfo::GetThreadFrames2
## Improve CMICmnLLDBDebugSessionInfo::GetThreadFrames to accept vnMaxDepth

# Fix vnMaxDepth arg name in CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo (MI)

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
## Merge CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo functions into one

# Don't modify fnName in CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo family functions (MI)
## Remove CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo3
## Improve -CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo to accept vnMaxDepth

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo family functions (MI)
## Remove CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo2
## Add CMICmnLLDBDebugSessionInfo::ThreadInfoFormat_e enum to specify thread format
## Improve CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo to accept veThreadInfoFormat
## Remove vnMaxDepth arg in CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo (not needed because veThreadInfoFormat was added)

# Move CMICmnLLDBDebugSessionInfo::GetThreadFrames to private namespace (MI)

# Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo (MI)
## Add CMICmnLLDBDebugSessionInfo::FrameInfoFormat_e enum to specify frame format
## Improve CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo to accept veFrameInfoFormat
## Remove vnMaxDepth arg in CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo (not needed because veFrameInfoFormat was added)

# Remove duplicated level field in CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)

# Refactor CMICmnLLDBUtilSBValue::GetValue (MI)
## Add CMICmnLLDBUtilSBValue::GetSimpleValue
## Use CMICmnLLDBUtilSBValue::GetSimpleValue in GetVlaue

# Fix CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)
## Add CMICmnLLDBDebugSessionInfo::FrameInfoFormat_e::eFrameInfoFormat_AllArgumentsInSimpleForm which is used to get stack-args in simple form (i.e. show {...} for composite types). It can be done by calling MIResponseFormVariableInfo with vnMaxDepth=0.
## Improve CMICmnLLDBDebugSessionInfo::GetThreadFrames to accept veFrameInfoFormat
## Remove vnMaxDepth from CMICmnLLDBDebugSessionInfo::GetThreadFrames (we should use veFrameInfoFormat instead)

# Refactor CMICmnLLDBUtilSBValue::GetValue to expand composite types (MI)
## Add CMICmnLLDBUtilSBValue::GetCompositeValue to expand composite types
## Add CMICmnLLDBUtilSBValue::m_pComposite to avoid multiple {...} in the code
## Improve CMICmnLLDBUtilSBValue::GetValue to accept vbExpandAggregates option (default=false)
## Clean up CMICmnLLDBDebugSessionInfo::GetVariableInfo to use CMICmnLLDBUtilSBValue::GetValue
## Remove the wrapping into {} in CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo
## Fix MiStackTestCase.test_lldbmi_stack_list_locals test to expect result without superfluous space ' ' around the '{' or '}' brackets:
was:
```
{name=\"var_c\",value=\"{var_a = 10,var_b = 97 'a',inner_ = { var_d = 30 }}
```
now:
```
{name=\"var_c\",value=\"{var_a = 10,var_b = 97 'a',inner_ = {var_d = 30}}
```
## Fix vwrValue arg name in CMICmnLLDBUtilSBValue::GetSimpleValue (was vrValue)

# Refactor CMICmnLLDBDebugSessionInfo::GetVariableInfo (MI)
## Remove vnMaxDepth/vbIsChildValue/vnDepth args in CMICmnLLDBDebugSessionInfo::GetVariableInfo
## Improve CMICmnLLDBDebugSessionInfo::GetVariableInfo to accept vwrStrValue
## Remove vwrMiValueList arg in CMICmnLLDBDebugSessionInfo::GetVariableInfo (we should use vwrStrValue instead)
## Fix CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo to Escape values
was:
```
{name="p",value="0x0000000000000000 """}
```
now:
```
{name="p",value="0x0000000000000000 \"\""}
```

# Refactor CMICmnLLDBUtilSBValue
## Improve CMICmnLLDBUtilSBValue::GetValue to handle PrintExpandAggregates
## Improve CMICmnLLDBUtilSBValue::GetSimpleValue to handle vbHandleArrayType (use it to specify that array should be represented as simple type, i.e. value="[2]")

# Add spacing between fields in CMICmnLLDBUtilSBValue::GetCompositeValue (MI)
For example:
was:
```
^done,name="var3",numchild="3",value="{i = 3,inner = {l = 3},complex_ptr = 0x00007fff5fbff848}",type="complex_type",thread-id="1",has_more="0"
```
now:
```
^done,name="var3",numchild="3",value="{i = 3, inner = {l = 3}, complex_ptr = 0x00007fff5fbff848}",type="complex_type",thread-id="1",has_more="0"
```

# Fix spacing in MiStackTestCase.test_lldbmi_stack_list_locals test (MI)

Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/

Reviewers: abidh

Subscribers: lldb-commits, abidh

Differential Revision: http://reviews.llvm.org/D8913

llvm-svn: 234476

9 years ago[mips] Refactor saved-registers bitmask creation in MipsAsmPrinter::printSavedRegsBit...
Toma Tabacu [Thu, 9 Apr 2015 10:54:16 +0000 (10:54 +0000)]
[mips] Refactor saved-registers bitmask creation in MipsAsmPrinter::printSavedRegsBitmask. NFC.

Summary:
Make the code more readable by fusing the for-loops together and explicitly checking for each register class.

Also, this version is more straightforward because it doesn't assume that FPU registers always come before CPU registers in the CalleeSavedInfo vector.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8033

llvm-svn: 234475

9 years ago[ARM] clang-format ARM sources
Denis Protivensky [Thu, 9 Apr 2015 10:17:22 +0000 (10:17 +0000)]
[ARM] clang-format ARM sources

llvm-svn: 234474

9 years ago[ARM] Add mapping symbols to veneers
Denis Protivensky [Thu, 9 Apr 2015 09:59:18 +0000 (09:59 +0000)]
[ARM] Add mapping symbols to veneers

This required splitting up veneer atoms into pieces,
where every piece is paired with mapping atom of
the corresponding type.

llvm-svn: 234473

9 years ago[Sanitizer] Get rid of PlatformGetListOfModules
Kuba Brecka [Thu, 9 Apr 2015 09:37:46 +0000 (09:37 +0000)]
[Sanitizer] Get rid of PlatformGetListOfModules

Moving the implementation of several functions from sanitizer_symbolizer.cc into sanitizer_symbolizer_libcdep.cc.

Reviewed at http://reviews.llvm.org/D8858

llvm-svn: 234472

9 years ago[AArch64] Add support for dynamic stack alignment
Kristof Beyls [Thu, 9 Apr 2015 08:49:47 +0000 (08:49 +0000)]
[AArch64] Add support for dynamic stack alignment

Differential Revision: http://reviews.llvm.org/D8876

llvm-svn: 234471

9 years ago[ASan] Only include rpc headers if they are available.
Yury Gribov [Thu, 9 Apr 2015 08:06:49 +0000 (08:06 +0000)]
[ASan] Only include rpc headers if they are available.

Reviewed at http://reviews.llvm.org/D8698

llvm-svn: 234470

9 years ago[LLDB][MIPS] Add LinuxSignals for mips64 and change trap opcode for mips64el.
Mohit K. Bhakkad [Thu, 9 Apr 2015 07:12:15 +0000 (07:12 +0000)]
[LLDB][MIPS] Add LinuxSignals for mips64 and change trap opcode for mips64el.
Patch by Sagar Thakur

- Added LinuxSignals for MIPS64.
- Changed software trap opcode for mips64el.

Reviewers: clayborg, tberghammer.

Subscribers: emaste, jaydeep, bhushan, mohit.bhakkad, llvm-commits.

Differential Revision: http://reviews.llvm.org/D8856

llvm-svn: 234469

9 years ago[Compiler-rt][MIPS] Fix for asan test suite build on mips64/mips64el
Mohit K. Bhakkad [Thu, 9 Apr 2015 06:58:32 +0000 (06:58 +0000)]
[Compiler-rt][MIPS] Fix for asan test suite build on mips64/mips64el
Patch by Sagar Thakur

Reviewers: dsanders
llvm-svn: 234468

9 years ago[AArch64] Remove redundant -march option. Also fix a think-o from r234462.
Lang Hames [Thu, 9 Apr 2015 05:34:57 +0000 (05:34 +0000)]
[AArch64] Remove redundant -march option. Also fix a think-o from r234462.

llvm-svn: 234467

9 years agoNot all triples put _ before function names. Specify a triple to make this test pass...
Nick Lewycky [Thu, 9 Apr 2015 05:31:32 +0000 (05:31 +0000)]
Not all triples put _ before function names. Specify a triple to make this test pass on Linux.

llvm-svn: 234466

9 years agoUse SmallVector instead of std::vector for uniquing X86 disassembler operand sets...
Craig Topper [Thu, 9 Apr 2015 04:08:48 +0000 (04:08 +0000)]
Use SmallVector instead of std::vector for uniquing X86 disassembler operand sets. The number of operands is a small fixed size.

llvm-svn: 234465

9 years agoSimplify some printing code by combining new lines onto previous strings. Don't work...
Craig Topper [Thu, 9 Apr 2015 04:08:46 +0000 (04:08 +0000)]
Simplify some printing code by combining new lines onto previous strings. Don't work so hard not to print a comma on the last entry of an array.

llvm-svn: 234464

9 years agoDon't convert enum to strings just to put them in the uniquing map. Use the enum...
Craig Topper [Thu, 9 Apr 2015 04:08:42 +0000 (04:08 +0000)]
Don't convert enum to strings just to put them in the uniquing map. Use the enum directly. Only convert to a string for printing.

llvm-svn: 234463

9 years ago[AArch64] Teach AArch64TargetLowering::getOptimalMemOpType to consider alignment
Lang Hames [Thu, 9 Apr 2015 03:40:33 +0000 (03:40 +0000)]
[AArch64] Teach AArch64TargetLowering::getOptimalMemOpType to consider alignment
restrictions when choosing a type for small-memcpy inlining in
SelectionDAGBuilder.

This ensures that the loads and stores output for the memcpy won't be further
expanded during legalization, which would cause the total number of instructions
for the memcpy to exceed (often significantly) the inlining thresholds.

<rdar://problem/17829180>

llvm-svn: 234462

9 years agoUse the cast machinery to remove dummy uses of formatted_raw_ostream.
Rafael Espindola [Thu, 9 Apr 2015 02:28:12 +0000 (02:28 +0000)]
Use the cast machinery to remove dummy uses of formatted_raw_ostream.

If we know we are producing an object, we don't need to wrap the stream
in a formatted_raw_ostream anymore.

llvm-svn: 234461

9 years agoAdd classof implementations to the raw_ostream classes.
Rafael Espindola [Thu, 9 Apr 2015 02:10:28 +0000 (02:10 +0000)]
Add classof implementations to the raw_ostream classes.

More uses to follow in a another patch.

llvm-svn: 234460

9 years agoDelete unused constructor.
Rafael Espindola [Thu, 9 Apr 2015 01:11:26 +0000 (01:11 +0000)]
Delete unused constructor.

llvm-svn: 234459

9 years agoUpdate comment to refer to software floating point rather than
Eric Christopher [Thu, 9 Apr 2015 00:14:49 +0000 (00:14 +0000)]
Update comment to refer to software floating point rather than
a local variable.

llvm-svn: 234457

9 years agoMissed moving a variable during my previous revision 234455.
Greg Clayton [Thu, 9 Apr 2015 00:12:33 +0000 (00:12 +0000)]
Missed moving a variable during my previous revision 234455.

llvm-svn: 234456

9 years agoDarwin read()/pread()/fread() and write()/pwrite()/fwrite() calls can only write...
Greg Clayton [Thu, 9 Apr 2015 00:06:44 +0000 (00:06 +0000)]
Darwin read()/pread()/fread() and write()/pwrite()/fwrite() calls can only write INT_MAX bytes at a time.

Modify all read/write calls to allow any system to define MAX_READ_SIZE or MAX_WRITE_SIZE so large reads and writes can be divided up correctly.

<rdar://problem/20471411>

llvm-svn: 234455

9 years agoAtomVector: Reorder member orders to use template alias in AtomRange.
Rui Ueyama [Wed, 8 Apr 2015 23:12:48 +0000 (23:12 +0000)]
AtomVector: Reorder member orders to use template alias in AtomRange.

llvm-svn: 234453

9 years agoRename atom_collection -> AtomVector.
Rui Ueyama [Wed, 8 Apr 2015 23:05:59 +0000 (23:05 +0000)]
Rename atom_collection -> AtomVector.

Type names should start with an uppercase letter in the LLVM coding style.

llvm-svn: 234452

9 years agoUse option -march instead of -mtriple to avoid overconditionalizing the test.
Akira Hatanaka [Wed, 8 Apr 2015 23:02:45 +0000 (23:02 +0000)]
Use option -march instead of -mtriple to avoid overconditionalizing the test.

This fixes r234439, which was committed to fix the test failures caused by
r234430.

llvm-svn: 234451

9 years agoSeparate atom_collection type into two different types. NFC.
Rui Ueyama [Wed, 8 Apr 2015 23:02:11 +0000 (23:02 +0000)]
Separate atom_collection type into two different types. NFC.

atom_collection is basically a wrapper for std::vector. The class
provides begin and end member functions, so that it "hides" the
other member functions provided by std::vector. However, you can
still directly access _atoms member since the member is not
protected.

We cannot simply make the member private because we need that member
when we are constructing atom vectors.

This patch splits atom_collection into two types: std::vector<Atom *>
and AtomRange. When we are constructing atom vectors, we use the
former class. We return instances of the latter class from File
objects so that callers cannot add or remove atoms from the lists.

std::vector<Atom *> is automatically converted to AtomRange.

llvm-svn: 234450

9 years agoclang-cl: Support the /fp options (PR23112)
Hans Wennborg [Wed, 8 Apr 2015 22:55:09 +0000 (22:55 +0000)]
clang-cl: Support the /fp options (PR23112)

This hooks up the /fp options as aliases for -f[no-]fast-math and
-f[no]-trapping-math. It probably doesn't match cl.exe's behaviour
completely (e.g. LLVM is currently never as precise as /fp:precise),
but it's close enough.

Differential revision: http://reviews.llvm.org/D8909

llvm-svn: 234449

9 years ago[WinEH] Don't wrap cleanups in terminate actions
Reid Kleckner [Wed, 8 Apr 2015 22:48:50 +0000 (22:48 +0000)]
[WinEH] Don't wrap cleanups in terminate actions

_CxxFrameHandler3 calls terminate if a cleanup action throws, regardless
of what bits you put in the xdata tables. There's no need to model this
in the IR, since we just have to take it out later.

llvm-svn: 234448

9 years agoReland "[SEH] Implement filter capturing in CodeGen"
Reid Kleckner [Wed, 8 Apr 2015 22:23:48 +0000 (22:23 +0000)]
Reland "[SEH] Implement filter capturing in CodeGen"

The test should be fixed. It was failing in NDEBUG builds due to a
missing '*' character in a regex. In asserts builds, the pattern matched
a single digit value, which became a double digit value in NDEBUG
builds. Go figure.

This reverts commit r234261.

llvm-svn: 234447

9 years ago[LTO] do not run internalize pass from compileOptimized.
Manman Ren [Wed, 8 Apr 2015 22:02:11 +0000 (22:02 +0000)]
[LTO] do not run internalize pass from compileOptimized.

The input to compileOptimized is already optimized and internalized, so remove
internalize pass from compileOptimized.

rdar://20227235

llvm-svn: 234446

9 years agoAdd begin() and end() to atom_collection that returns non-const iterators.
Rui Ueyama [Wed, 8 Apr 2015 21:59:08 +0000 (21:59 +0000)]
Add begin() and end() to atom_collection that returns non-const iterators.

llvm-svn: 234445

9 years agoReplace atom_iterator with a template alias.
Rui Ueyama [Wed, 8 Apr 2015 21:59:06 +0000 (21:59 +0000)]
Replace atom_iterator with a template alias.

llvm-svn: 234444

9 years agoMerge atom_collection_vector with atom_collection.
Rui Ueyama [Wed, 8 Apr 2015 21:59:04 +0000 (21:59 +0000)]
Merge atom_collection_vector with atom_collection.

atom_collection_vector is the only derived class of atom_collection.
This patch merges the two.

llvm-svn: 234443

9 years agoRemove atom_collection_empty class.
Rui Ueyama [Wed, 8 Apr 2015 21:59:00 +0000 (21:59 +0000)]
Remove atom_collection_empty class.

llvm-svn: 234442

9 years agoFix resolution of certain recursive types.
Stephane Sezer [Wed, 8 Apr 2015 21:52:45 +0000 (21:52 +0000)]
Fix resolution of certain recursive types.

Summary:
If a struct type S has a member T that has a member that is a function that
returns a typedef of S* the respective field would be duplicated, which caused
an assert down the line in RecordLayoutBuilder. This patch adds a check that
removes the possibility of trying to resolve the same type twice within the
same callstack.

This commit also adds unit tests for these failures.

Fixes https://llvm.org/bugs/show_bug.cgi?id=20486.

Patch by Cristian Hancila.

Test Plan: Run unit tests.

Reviewers: clayborg spyffe

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8561

llvm-svn: 234441

9 years ago[Objective-C Sema] Use canonical type of properties when comparing
Fariborz Jahanian [Wed, 8 Apr 2015 21:34:04 +0000 (21:34 +0000)]
[Objective-C Sema] Use canonical type of properties when comparing
redeclaration of property in class extension and to avoid
bogus error. rdar://20469452

llvm-svn: 234440

9 years agoPass -mtriple to llc to appease buildbot.
Akira Hatanaka [Wed, 8 Apr 2015 21:30:48 +0000 (21:30 +0000)]
Pass -mtriple to llc to appease buildbot.

This fixes the test case I committed in r234430.

llvm-svn: 234439

9 years agoFormmatting correction
Andrew Kaylor [Wed, 8 Apr 2015 21:22:46 +0000 (21:22 +0000)]
Formmatting correction

llvm-svn: 234438

9 years agoFix segfault when doing `thread info` on a thread without stop info.
Chaoren Lin [Wed, 8 Apr 2015 21:19:12 +0000 (21:19 +0000)]
Fix segfault when doing `thread info` on a thread without stop info.

Summary:
E.g., if thread 1 hits a breakpoint, then a `thread info` on thread 2 will cause
a segfault, since thread 2 will have no stop info (intended behavior?).

Reviewers: kubabrecka, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8905

llvm-svn: 234437

9 years agovec.data() and vec.data() + vec.size() are both safe even if the vector is empty.
Rui Ueyama [Wed, 8 Apr 2015 21:13:23 +0000 (21:13 +0000)]
vec.data() and vec.data() + vec.size() are both safe even if the vector is empty.

llvm-svn: 234436

9 years agoYAML: Remove blank class using alias template.
Rui Ueyama [Wed, 8 Apr 2015 21:05:45 +0000 (21:05 +0000)]
YAML: Remove blank class using alias template.

llvm-svn: 234435

9 years agoNative: Remove AtomArray and use atom_collection_vector instead.
Rui Ueyama [Wed, 8 Apr 2015 21:00:33 +0000 (21:00 +0000)]
Native: Remove AtomArray and use atom_collection_vector instead.

llvm-svn: 234434

9 years ago[WinEH] Minor bug fixes.
Andrew Kaylor [Wed, 8 Apr 2015 20:57:22 +0000 (20:57 +0000)]
[WinEH] Minor bug fixes.

Fixed insert point for allocas created for demoted values.
Clear the nested landing pad list after it has been processed.

llvm-svn: 234433

9 years agoNative: Use tempalte to remove duplicate code. NFC.
Rui Ueyama [Wed, 8 Apr 2015 20:40:46 +0000 (20:40 +0000)]
Native: Use tempalte to remove duplicate code. NFC.

llvm-svn: 234432

9 years agoNative: Simplify expressions. NFC.
Rui Ueyama [Wed, 8 Apr 2015 20:40:45 +0000 (20:40 +0000)]
Native: Simplify expressions. NFC.

llvm-svn: 234431

9 years ago[DAGCombine] Fix a bug in MergeConsecutiveStores.
Akira Hatanaka [Wed, 8 Apr 2015 20:34:53 +0000 (20:34 +0000)]
[DAGCombine] Fix a bug in MergeConsecutiveStores.

The bug manifests when there are two loads and two stores chained as follows in
a DAG,

(ld v3f32) -> (st f32) -> (ld v3f32) -> (st f32)

and the stores' values are extracted from the preceding vector loads.

MergeConsecutiveStores would replace the first store in the chain with the
merged vector store, which would create a cycle between the merged store node
and the last load node that appears in the chain.

This commits fixes the bug by replacing the last store in the chain instead.

rdar://problem/20275084

Differential Revision: http://reviews.llvm.org/D8849

llvm-svn: 234430

9 years agoFix -Wformat-pedantic warnings
David Blaikie [Wed, 8 Apr 2015 20:23:52 +0000 (20:23 +0000)]
Fix -Wformat-pedantic warnings

llvm-svn: 234429

9 years agoGo bindings: make various DIBuilder arguments optional.
Peter Collingbourne [Wed, 8 Apr 2015 20:18:57 +0000 (20:18 +0000)]
Go bindings: make various DIBuilder arguments optional.

r234262 changed some code in DIBuilderBindings.cpp to use the unwrap function
to unwrap debug metadata. The problem with this is that unwrap asserts that
its argument is non-null, which is not what we want in a number of places
in DIBuilder where the argument is optional. This change makes certain
arguments optional by adding null checks in places where it is required,
fixing the llgo build.

llvm-svn: 234428

9 years agoDon't repeat names in comments.
Rafael Espindola [Wed, 8 Apr 2015 20:16:23 +0000 (20:16 +0000)]
Don't repeat names in comments.

llvm-svn: 234427

9 years agoRemove unused variable.
Rafael Espindola [Wed, 8 Apr 2015 20:04:20 +0000 (20:04 +0000)]
Remove unused variable.

llvm-svn: 234426

9 years agoEliminate O(n^2) worst-case behavior in SSA construction
Cameron Zwarich [Wed, 8 Apr 2015 18:26:20 +0000 (18:26 +0000)]
Eliminate O(n^2) worst-case behavior in SSA construction

The code uses a priority queue and a worklist, which share the same
visited set, but the visited set is only updated when inserting into
the priority queue. Instead, switch to using separate visited sets
for the priority queue and worklist.

llvm-svn: 234425

9 years ago[LoopAccesses] Allow analysis to complete in the presence of uniform stores
Adam Nemet [Wed, 8 Apr 2015 17:48:40 +0000 (17:48 +0000)]
[LoopAccesses] Allow analysis to complete in the presence of uniform stores

(Re-apply r234361 with a fix and a testcase for PR23157)

Both run-time pointer checking and the dependence analysis are capable
of dealing with uniform addresses. I.e. it's really just an orthogonal
property of the loop that the analysis computes.

Run-time pointer checking will only try to reason about SCEVAddRec
pointers or else gives up. If the uniform pointer turns out the be a
SCEVAddRec in an outer loop, the run-time checks generated will be
correct (start and end bounds would be equal).

In case of the dependence analysis, we work again with SCEVs. When
compared against a loop-dependent address of the same underlying object,
the difference of the two SCEVs won't be constant. This will result in
returning an Unknown dependence for the pair.

When compared against another uniform access, the difference would be
constant and we should return the right type of dependence
(forward/backward/etc).

The changes also adds support to query this property of the loop and
modify the vectorizer to use this.

Patch by Ashutosh Nema!

llvm-svn: 234424

9 years ago[Sanitizer RT] Get rid of internal_isatty
Timur Iskhodzhanov [Wed, 8 Apr 2015 17:42:57 +0000 (17:42 +0000)]
[Sanitizer RT] Get rid of internal_isatty

llvm-svn: 234423

9 years agoRemove redundant virtual for member functions marked 'override'.
David Blaikie [Wed, 8 Apr 2015 17:22:09 +0000 (17:22 +0000)]
Remove redundant virtual for member functions marked 'override'.

llvm-svn: 234422

9 years ago[ARM] make vminnm/vmaxnm work with ?le, ?ge and no-nans-fp-math
Scott Douglass [Wed, 8 Apr 2015 17:18:28 +0000 (17:18 +0000)]
[ARM] make vminnm/vmaxnm work with ?le, ?ge and no-nans-fp-math

Because -menable-no-nans causes fcmp conditions to be rewritten
without 'o' or 'u' the recognition code in needs to cope. Also
extended it to handle 'le' and 'ge.

Differential Revision: http://reviews.llvm.org/D8725

llvm-svn: 234421

9 years agoRemove redundant virtual on member functions marked 'override'.
David Blaikie [Wed, 8 Apr 2015 17:08:27 +0000 (17:08 +0000)]
Remove redundant virtual on member functions marked 'override'.

llvm-svn: 234419

9 years agoMove some POSIX-specific functions from sanitizer_libc.h to a new sanitizer_posix.h
Timur Iskhodzhanov [Wed, 8 Apr 2015 17:08:24 +0000 (17:08 +0000)]
Move some POSIX-specific functions from sanitizer_libc.h to a new sanitizer_posix.h

llvm-svn: 234418

9 years agoRemove redundant virtual on member functions marked 'override'.
David Blaikie [Wed, 8 Apr 2015 17:01:55 +0000 (17:01 +0000)]
Remove redundant virtual on member functions marked 'override'.

llvm-svn: 234417

9 years agoRemove redundant virtual from member functions marked 'override'.
David Blaikie [Wed, 8 Apr 2015 17:00:56 +0000 (17:00 +0000)]
Remove redundant virtual from member functions marked 'override'.

llvm-svn: 234416

9 years agoRemove unused typedefs.
Rui Ueyama [Wed, 8 Apr 2015 16:59:03 +0000 (16:59 +0000)]
Remove unused typedefs.

llvm-svn: 234415

9 years agoRevert "Allow undefined symbols in shared library by default."
Rui Ueyama [Wed, 8 Apr 2015 16:55:03 +0000 (16:55 +0000)]
Revert "Allow undefined symbols in shared library by default."

This reverts commit r234378 because it broke buildbots.

llvm-svn: 234414

9 years agofixed to test features, not CPU models
Sanjay Patel [Wed, 8 Apr 2015 16:51:42 +0000 (16:51 +0000)]
fixed to test features, not CPU models

llvm-svn: 234413

9 years agoDon't repeat names in comments.
Rafael Espindola [Wed, 8 Apr 2015 16:33:46 +0000 (16:33 +0000)]
Don't repeat names in comments.

llvm-svn: 234412

9 years ago[Sanitizers] Make OpenFile more portable
Timur Iskhodzhanov [Wed, 8 Apr 2015 16:03:22 +0000 (16:03 +0000)]
[Sanitizers] Make OpenFile more portable

llvm-svn: 234410

9 years ago[mips] Update MIPS relocations list
Simon Atanasyan [Wed, 8 Apr 2015 14:55:31 +0000 (14:55 +0000)]
[mips] Update MIPS relocations list

No functional changes.

llvm-svn: 234408

9 years agoForce the inclusion of the LLVMSupport lib. Otherwise, the build (might?) fails with...
Sylvestre Ledru [Wed, 8 Apr 2015 14:09:36 +0000 (14:09 +0000)]
Force the inclusion of the LLVMSupport lib. Otherwise, the build (might?) fails with an undefined reference to 'llvm::llvm_is_multithreaded()'

llvm-svn: 234407

9 years ago[mips] [IAS] Do not generate redundant move when expanding lw/sw with symbol.
Toma Tabacu [Wed, 8 Apr 2015 13:52:41 +0000 (13:52 +0000)]
[mips] [IAS] Do not generate redundant move when expanding lw/sw with symbol.

Summary:
Even though there is no 2nd register operand in the "lw/sw $8, symbol" case, we still try to find one,
and we end up with $0, which makes us generate an unnecessary "addu $8, $8, $0" (a.k.a. "move $8, $8").

We can avoid this by checking if the 2nd register operand is different from $0, before generating the addu.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8055

llvm-svn: 234406

9 years agoDon't repeat names in comments. NFC.
Rafael Espindola [Wed, 8 Apr 2015 13:52:09 +0000 (13:52 +0000)]
Don't repeat names in comments. NFC.

llvm-svn: 234405

9 years ago[jitlistener] Remove unused code
Benjamin Kramer [Wed, 8 Apr 2015 13:17:48 +0000 (13:17 +0000)]
[jitlistener] Remove unused code

llvm-svn: 234404

9 years ago[clang-tidy] Fix for http://llvm.org/PR23130
Alexander Kornienko [Wed, 8 Apr 2015 12:54:57 +0000 (12:54 +0000)]
[clang-tidy] Fix for http://llvm.org/PR23130

NamespaceCommentCheck: Don't remove the token placed immediately after the
namespace closing brace.

llvm-svn: 234403

9 years ago[OPENMP] Allow redeclaration of variables as threadprivate.
Alexey Bataev [Wed, 8 Apr 2015 12:45:41 +0000 (12:45 +0000)]
[OPENMP] Allow redeclaration of variables as threadprivate.

No need to emit an error message if the variable is redeclared as threadprivate.

llvm-svn: 234402

9 years ago[mips] [IAS] Add support for the BNEZL and BEQZL pseudo-instructions.
Toma Tabacu [Wed, 8 Apr 2015 12:15:05 +0000 (12:15 +0000)]
[mips] [IAS] Add support for the BNEZL and BEQZL pseudo-instructions.

Summary:
They are of the form "bnezl/beqzl $rs, offset" and expand to "bnel/beql $rs, $zero, offset".

These instructions are used in Linux inline assembly.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8540

llvm-svn: 234401

9 years agoWrite the section header in the end.
Rafael Espindola [Wed, 8 Apr 2015 11:41:24 +0000 (11:41 +0000)]
Write the section header in the end.

One could make the argument for writing it immediately after the ELF header,
but writing it in the middle of the sections like we were doing just makes
it harder for no reason.

llvm-svn: 234400

9 years ago[ARM][Debug Info] Restore emitting of .cfi_def_cfa_offset for functions without stack...
Sergey Dmitrouk [Wed, 8 Apr 2015 10:10:12 +0000 (10:10 +0000)]
[ARM][Debug Info] Restore emitting of .cfi_def_cfa_offset for functions without stack frame

Summary: Looks like new code from [[ http://reviews.llvm.org/rL222057 | rL222057 ]] doesn't account for early `return` in `ARMFrameLowering::emitPrologue`, which leads to loosing `.cfi_def_cfa_offset` directive for functions without stack frame.

Reviewers: echristo, rengolin, asl, t.p.northover

Reviewed By: t.p.northover

Subscribers: llvm-commits, rengolin, aemerson

Differential Revision: http://reviews.llvm.org/D8606

llvm-svn: 234399

9 years ago[mips] [IAS] Remove AssemblerPredicate's from RelocPIC and RelocStatic.
Toma Tabacu [Wed, 8 Apr 2015 10:06:45 +0000 (10:06 +0000)]
[mips] [IAS] Remove AssemblerPredicate's from RelocPIC and RelocStatic.

Summary:
These AssemblerPredicate's are unnecessary and actually make some instructions unusable when assembling pre-MIPS32 ISAs.
For example, this was causing the IAS to reject the 'j' instruction for MIPS I-V.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8300

llvm-svn: 234398

9 years ago[ELF] Remove redundant GOTFile classes
Simon Atanasyan [Wed, 8 Apr 2015 10:06:28 +0000 (10:06 +0000)]
[ELF] Remove redundant GOTFile classes

llvm-svn: 234397

9 years ago[ELF] Do not save a reference to GOTFile instance in xxxWriter classes
Simon Atanasyan [Wed, 8 Apr 2015 09:19:45 +0000 (09:19 +0000)]
[ELF] Do not save a reference to GOTFile instance in xxxWriter classes

It's a follow-up to r234347. We do not need to keep a reference to
`GOTFile` instance in a xxxWriter class after ownership is transferred
to the caller of the `createImplicitFiles` method.

llvm-svn: 234396

9 years agoAdd documentation about remote debugging to the website
Pavel Labath [Wed, 8 Apr 2015 07:54:31 +0000 (07:54 +0000)]
Add documentation about remote debugging to the website

Reviewers: tberghammer, clayborg

Subscribers: tberghammer, lldb-commits

Differential Revision: http://reviews.llvm.org/D8871

llvm-svn: 234395

9 years agotsan: handle async signals while blocked in pthread_cond_wait
Dmitry Vyukov [Wed, 8 Apr 2015 07:48:52 +0000 (07:48 +0000)]
tsan: handle async signals while blocked in pthread_cond_wait

Fixes https://code.google.com/p/thread-sanitizer/issues/detail?id=91

llvm-svn: 234394

9 years ago[MachineLICM] Cleanup, remove unused parameters. NFC.
Daniel Jasper [Wed, 8 Apr 2015 07:10:30 +0000 (07:10 +0000)]
[MachineLICM] Cleanup, remove unused parameters. NFC.

llvm-svn: 234392

9 years ago[lib/Fuzzer] show how to find Heartbleed with LibFuzzer
Kostya Serebryany [Wed, 8 Apr 2015 06:16:11 +0000 (06:16 +0000)]
[lib/Fuzzer] show how to find Heartbleed with LibFuzzer

llvm-svn: 234391

9 years agoRevert r234389. It really was needed but really should have been cstring instead...
Craig Topper [Wed, 8 Apr 2015 06:03:17 +0000 (06:03 +0000)]
Revert r234389. It really was needed but really should have been cstring instead of string.h

llvm-svn: 234390

9 years agoRemove unnecessary include. NFC
Craig Topper [Wed, 8 Apr 2015 05:56:30 +0000 (05:56 +0000)]
Remove unnecessary include. NFC

llvm-svn: 234389

9 years ago[InstCombine] Refactor out OptimizeOverflowCheck. NFCI.
Sanjoy Das [Wed, 8 Apr 2015 04:27:22 +0000 (04:27 +0000)]
[InstCombine] Refactor out OptimizeOverflowCheck.  NFCI.

Summary:
This patch adds an enum `OverflowCheckFlavor` and a function
`OptimizeOverflowCheck`.  This will allow InstCombine to optimize
overflow checks without directly introducing an intermediate call to the
`llvm.$op.with.overflow` instrinsics.

This specific change is a refactoring and does not intend to change
behavior.

Reviewers: majnemer, atrick

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8888

llvm-svn: 234388

9 years agoRevert "[LoopAccesses] Allow analysis to complete in the presence of uniform stores"
Adam Nemet [Wed, 8 Apr 2015 04:16:55 +0000 (04:16 +0000)]
Revert "[LoopAccesses] Allow analysis to complete in the presence of uniform stores"

This reverts commit r234361.

It caused PR23157.

llvm-svn: 234387