summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce -fsanitize-trap= flag.Peter Collingbourne2015-06-1813-67/+177
| | | | | | | | | | | | | | | | | | | | | | | | This flag controls whether a given sanitizer traps upon detecting an error. It currently only supports UBSan. The existing flag -fsanitize-undefined-trap-on-error has been made an alias of -fsanitize-trap=undefined. This change also cleans up some awkward behavior around the combination of -fsanitize-trap=undefined and -fsanitize=undefined. Previously we would reject command lines containing the combination of these two flags, as -fsanitize=vptr is not compatible with trapping. This required the creation of -fsanitize=undefined-trap, which excluded -fsanitize=vptr (and -fsanitize=function, but this seems like an oversight). Now, -fsanitize=undefined is an alias for -fsanitize=undefined-trap, and if -fsanitize-trap=undefined is specified, we treat -fsanitize=vptr as an "unsupported" flag, which means that we error out if the flag is specified explicitly, but implicitly disable it if the flag was implied by -fsanitize=undefined. Differential Revision: http://reviews.llvm.org/D10464 llvm-svn: 240105
* Don't link ObjCARCOpts twice. Fixes PR22543Keno Fischer2015-06-182-2/+1
| | | | | | | | ObjCARCOpts is already included by ClangCodeGen. Linking it again causes the error in PR22543. Differential Revision: http://reviews.llvm.org/D10399 llvm-svn: 240104
* COFF: Add /nodefaultlib and /merge for .drectve.Rui Ueyama2015-06-181-0/+6
| | | | llvm-svn: 240077
* COFF: Handle /include in .drectve.Rui Ueyama2015-06-183-7/+35
| | | | | | | | | | | | | We don't want to insert a new symbol to the symbol table while reading a .drectve section because it's going to be too complicated. That we are reading a directive section means that we are currently reading some object file. Adding a new undefined symbol to the symbol table can trigger a library file to read a new file, so it would make the call stack too deep. In this patch, I add new symbol names to a list to resolve them later. llvm-svn: 240076
* COFF: Allow identical alternatename options.Rui Ueyama2015-06-184-10/+13
| | | | | | | | Alternatename option is in the form of /alternatename:<from>=<to>. It is an error if there are two options having the same <from> but different <to>. It is *not* an error if both are the same. llvm-svn: 240075
* MIR Serialization: Reenable one of the MIRParser tests by reverting r239805.Alex Lorenz2015-06-181-1/+0
| | | | | | | | | The test 'llvm/test/CodeGen/MIR/machine-function.mir' was disabled on x86 msc18 in r239805 as it failed. My commit r240054 have fixed the problem, so this commit reverts the commit that disabled the test as it should pass now. llvm-svn: 240074
* Improve the --expand-relocs handling of MachO.Rafael Espindola2015-06-1817-459/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In a relocation target can take 3 basic forms * A r_value in scattered relocations. * A symbol in external relocations. * A section is non-external relocations. Have the dump reflect that. With this change we go from CHECK-NEXT: Extern: 0 CHECK-NEXT: Type: X86_64_RELOC_SUBTRACTOR (5) CHECK-NEXT: Symbol: 0x2 CHECK-NEXT: Scattered: 0 To just // CHECK-NEXT: Type: X86_64_RELOC_SUBTRACTOR (5) // CHECK-NEXT: Section: __data (2) Since the relocation is with a section, we print the seciton name and don't need to say that it is not scattered or external. Someone motivated can add further special cases for things like ARM64_RELOC_ADDEND and ARM_RELOC_PAIR. llvm-svn: 240073
* Avoid redundant select node in early if-conversion passYi Jiang2015-06-182-4/+54
| | | | llvm-svn: 240072
* Switch lowering: enable whole-switch jump tables at -O0.Hans Wennborg2015-06-182-27/+53
| | | | | | | | To same compile time, the analysis to find dense case-clusters in switches is not done at -O0. However, when the whole switch is dense enough, it is easy to turn it into a jump table, resulting in much faster code with no extra effort. llvm-svn: 240071
* Update comment about the UNWIND_X86_64_MODE_STACK_IND encodingJason Molenda2015-06-181-1/+2
| | | | | | bug in old clang's. llvm-svn: 240070
* Pass --expand-relocs to a few more tests.Rafael Espindola2015-06-184-52/+420
| | | | llvm-svn: 240069
* [modules] Merging support for enums with a local definition prior to the firstRichard Smith2015-06-182-43/+65
| | | | | | imported definition. llvm-svn: 240068
* COFF: Unknown options in .drectve section is an error.Rui Ueyama2015-06-182-41/+29
| | | | | | | | | We skip unknown options in the command line with a warning message being printed out, but we shouldn't do that for .drectve section. The section is not visible to the user. We should handle unknown options as an error. llvm-svn: 240067
* Add a new wart, I mean feature, on to gdb-remote protocol: compression.Jason Molenda2015-06-189-19/+948
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some communication channels, sending large packets can be very slow. In those cases, it may be faster to compress the contents of the packet on the target device and decompress it on the debug host system. For instance, communicating with a device using something like Bluetooth may be an environment where this tradeoff is a good one. This patch adds a new field to the response to the "qSupported" packet (which returns a "qXfer:features:" response) -- SupportedCompressions and DefaultCompressionMinSize. These tell you what the remote stub can support. lldb, if it wants to enable compression and can handle one of those algorithms, it can send a QEnableCompression packet specifying the algorithm and optionally the minimum packet size to use compression on. lldb may have better knowledge about the best tradeoff for a given communication channel. I added support to debugserver an lldb to use the zlib APIs (if -DHAVE_LIBZ=1 is in CFLAGS and -lz is in LDFLAGS) and the libcompression APIs on Mac OS X 10.11 and later (if -DHAVE_LIBCOMPRESSION=1). libz "zlib-deflate" compression. libcompression can support deflate, lz4, lzma, and a proprietary lzfse algorithm. libcompression has been hand-tuned for Apple hardware so it should be preferred if available. debugserver currently only adds the SupportedCompressions when it is being run on an Apple watch (TARGET_OS_WATCH). Comment that #if out from RNBRemote.cpp if you want to enable it to see how it works. I haven't tested this on a native system configuration but surely it will be slower to compress & decompress the packets in a same-system debug session. I haven't had a chance to add support for this to GDBRemoteCommunciationServer.cpp yet. <rdar://problem/21090180> llvm-svn: 240066
* [Driver] Compute MacOS/iOS version from triple if/when we actually need it. NFC.Alexey Samsonov2015-06-182-33/+19
| | | | llvm-svn: 240065
* use SDValue bool operator; NFCISanjay Patel2015-06-181-3/+2
| | | | llvm-svn: 240064
* add test to show suboptimal load merging behaviorSanjay Patel2015-06-181-0/+25
| | | | llvm-svn: 240063
* [X86][SSE][CostModel] Fixed uitofp/sitofp cost target tests to specify ↵Simon Pilgrim2015-06-182-5/+5
| | | | | | sse2/avx2/avx512f directly instead of via a cpu model. llvm-svn: 240062
* COFF: Handle /failifmismatch in the same manner as other options.Rui Ueyama2015-06-183-24/+20
| | | | | | No functionality change intended. llvm-svn: 240061
* Correct the end-of-vector check in GetCompactUnwindInfoForFunction().Jason Molenda2015-06-181-1/+1
| | | | | | Problem noticed by Todd Fiala. llvm-svn: 240060
* AMDGPU: Add missing GK_VOLCANIC_ISLANDS to switch statementTom Stellard2015-06-181-0/+1
| | | | | | This fixes buildbot failures introduced by r240038. llvm-svn: 240059
* fixed to test attributes and use better checksSanjay Patel2015-06-181-151/+168
| | | | | | | | | | 1. Used update_llc_test_checks.py to tighten checks 2. Fixed triple (nothing Darwin-specific here) 3. Replaced CPU specifiers with attributes 4. Fixed comments 5. Removed IvyBridge run because it did not add any coverage llvm-svn: 240058
* [modules] This debugging option doesn't need to match between module ↵Richard Smith2015-06-181-1/+1
| | | | | | creation and use. llvm-svn: 240057
* Add -Winfinite-recursion to -Wmost (and -Wall), PR23789.Nico Weber2015-06-182-1/+2
| | | | llvm-svn: 240056
* [Hexagon] Fixing unused field copypasta.Colin LeMahieu2015-06-181-9/+3
| | | | llvm-svn: 240055
* MIR Serialization: initialize the fields without the default initializers in ↵Alex Lorenz2015-06-181-0/+6
| | | | | | | | | | | | | | | yaml::MachineFunction My commit r239790 which introduced serialization for simple machine function attributes didn't initialize them when parsing because I have misread the documentation for YAML IO's mapOptional method. The mapOptional method doesn't actually set the values to the values returned by the default constructor for that type when the key value pair is missing, it just doesn't modify those values, so they still contain the value that was set during initialization by the default constructor. But the fields in yaml::MachineFunction with types like unsigned and bool are not initialized by default, and thus they can still be uninitialized after mapOptional during parsing. This commit adds default initialization for those fields to prevent this. llvm-svn: 240054
* Use --expand-relocs in a test. It will make the next change easier to read.Rafael Espindola2015-06-181-11/+91
| | | | llvm-svn: 240053
* Fetch object file load address if it isn't specified by the linkerTamas Berghammer2015-06-1812-2/+176
| | | | | | Differential revision: http://reviews.llvm.org/D10490 llvm-svn: 240052
* [Hexagon] Printing packet brackets when asm printing and adding a number of ↵Colin LeMahieu2015-06-189-36/+266
| | | | | | tests that test packet brackets. llvm-svn: 240051
* [MC] Adding prettyPrintAsm to MCTargetStreamer to allow targets to ↵Colin LeMahieu2015-06-183-1/+13
| | | | | | specialize how instructions are printed to asm. llvm-svn: 240050
* Forgot to update to a test in r240043David Majnemer2015-06-181-2/+2
| | | | llvm-svn: 240049
* [TestLoadUnload] Build the main inferior exe with -pie.Siva Chandra2015-06-181-1/+1
| | | | | | | | | | | | Test Plan: dotest.py -p TestLoadUnload on Android API >= 21 Reviewers: tberghammer Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10545 llvm-svn: 240048
* [X86] Rename RegInfo to TRI as suggested by EricReid Kleckner2015-06-182-39/+39
| | | | llvm-svn: 240047
* COFF: Fix unsafe memory access.Rui Ueyama2015-06-181-1/+2
| | | | llvm-svn: 240046
* COFF: Add /implib option.Rui Ueyama2015-06-184-3/+16
| | | | llvm-svn: 240045
* [X86] Refactor stack adjustments into X86FrameLowering::BuildStackAdjustmentReid Kleckner2015-06-183-107/+93
| | | | | | | | Deduplicates some code and lets us use LEA on atom when adjusting the stack around callee-cleanup calls. This is the only intended functionality change. llvm-svn: 240044
* [MS ABI] Initialize "most general" member pointers which don't point at a vbaseDavid Majnemer2015-06-182-2/+2
| | | | | | | | | | The most general model has fields for the vbptr offset and the vbindex. Don't initialize the vbptr offset if the vbindex is 0: we aren't referencing an entity from a vbase. Getting this wrong can make member pointer equality fail. llvm-svn: 240043
* COFF: Handle both / and \ as path separator.Rui Ueyama2015-06-181-1/+1
| | | | llvm-svn: 240042
* Wrap to 80 columns, no behavior change.Nico Weber2015-06-181-4/+4
| | | | llvm-svn: 240041
* [BranchFolding] Replace custom MachineInstr with MachineInstrExpressionTraitBenjamin Kramer2015-06-181-46/+6
| | | | | | | While the hash functions are subtly different it shouldn't have an impact. Instructions are checked with isIdenticalTo later. llvm-svn: 240040
* [CallGraph] Teach the CallGraph about non-leaf intrinsics.Sanjoy Das2015-06-186-4/+59
| | | | | | | | | | | | | | | | | | | | Summary: Currently intrinsics don't affect the creation of the call graph. This is not accurate with respect to statepoint and patchpoint intrinsics -- these do call (or invoke) LLVM level functions. This change fixes this inconsistency by adding a call to the external node for call sites that call these non-leaf intrinsics. This coupled with the fact that these intrinsics also escape the function pointer they call gives us a conservatively correct call graph. Reviewers: reames, chandlerc, atrick, pgavlin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10526 llvm-svn: 240039
* R600: Add Volcanic Islands targetsTom Stellard2015-06-182-2/+12
| | | | | | | | | | Reviewers: arsenm Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10316 llvm-svn: 240038
* COFF: Handle /alternatename in .drectve section.Rui Ueyama2015-06-185-24/+106
| | | | llvm-svn: 240037
* [CodeGen] Don't emit a random reference to the personality functionDavid Majnemer2015-06-182-4/+2
| | | | | | This should fix issues we've been seeing with Darwin. llvm-svn: 240036
* don't repeat function / variable names in comments; NFCSanjay Patel2015-06-181-133/+92
| | | | llvm-svn: 240035
* Update external project versions in README.txtMichael Kruse2015-06-181-2/+2
| | | | | | | | This was meant to committed in r240027, but was left behind because svn, in contrast to git, only commits the changes in the directory you are currently in. llvm-svn: 240034
* [X86] Remove unneeded parameters and deduplicate stack alignment codeReid Kleckner2015-06-183-76/+67
| | | | | | NFC llvm-svn: 240033
* Fix misplaced commentPavel Labath2015-06-181-1/+1
| | | | llvm-svn: 240032
* COFF: Rename a function. NFC.Rui Ueyama2015-06-182-3/+3
| | | | llvm-svn: 240031
* Add new test for stress testing stack unwindingTamas Berghammer2015-06-184-0/+172
| | | | | | | | This test case generates new tests from the source files dropped into its directory. For stress testing stack unwinding it steps through the code line by line and then tests unwinding from each instruction. llvm-svn: 240030
OpenPOWER on IntegriCloud