summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add SBSection API to the fuzz testing.Johnny Chen2011-10-032-0/+30
| | | | llvm-svn: 141039
* ARM parsing/encoding for VCMP/VCMPE.Jim Grosbach2011-10-032-4/+15
| | | | llvm-svn: 141038
* objc arc: Suppress certain arc diagnostics on unavailableFariborz Jahanian2011-10-033-2/+21
| | | | | | functions. // rdar://10186536 llvm-svn: 141037
* Add fuzz call for watchpoint location iterator, too.Johnny Chen2011-10-031-0/+2
| | | | llvm-svn: 141036
* Add fuzz calls for various iterators, too.Johnny Chen2011-10-0312-1/+31
| | | | llvm-svn: 141035
* [analyzer] In UndefBranchChecker, use a node generator which does not create ↵Anna Zaks2011-10-032-1/+3
| | | | | | an edge/branching. (ExprEngine should be in charge of generating edges. The checkers should examine the condition and generate PostCondition node if needed.) llvm-svn: 141034
* Add comment markers for in_range(symbol, section).Johnny Chen2011-10-031-0/+3
| | | | llvm-svn: 141033
* Fix typo in comments.Nick Lewycky2011-10-031-2/+2
| | | | llvm-svn: 141032
* Check-pointing the new SjLj EH lowering.Bill Wendling2011-10-032-0/+77
| | | | | | | | | | | This code will replace the version in ARMAsmPrinter.cpp. It creates a new machine basic block, which is the dispatch for the return from a longjmp call. It then shoves the address of that machine basic block into the correct place in the function context so that the EH runtime will jump to it directly instead of having to go through a compare-and-jump-to-the-dispatch bit. This should be more efficient in the common case. llvm-svn: 141031
* Move CHECK after entry label.Akira Hatanaka2011-10-031-2/+2
| | | | llvm-svn: 141030
* Add support for 64-bit logical NOR.Akira Hatanaka2011-10-032-0/+15
| | | | llvm-svn: 141029
* Add support for 64-bit count leading ones and zeros instructions.Akira Hatanaka2011-10-032-0/+32
| | | | llvm-svn: 141028
* [analyzer] Cleanup in UndefBranchChecker:Anna Zaks2011-10-031-7/+4
| | | | | | | - Remove unused FindUndefExpr::ProgramStateManager. - The Condition parameter of the callback is the terminator of the block, no need to retrieve it again. llvm-svn: 141027
* Move the grabbing of the jump buffer into the caller function, eliminating ↵Bill Wendling2011-10-031-31/+33
| | | | | | the need for returning a std::pair. llvm-svn: 141026
* ARM assembly parsing and encoding for VMRS/FMSTAT.Jim Grosbach2011-10-034-2/+22
| | | | llvm-svn: 141025
* Add support for 64-bit divide instructions.Akira Hatanaka2011-10-034-3/+50
| | | | llvm-svn: 141024
* Add C api for Instruction->eraseFromParent().Devang Patel2011-10-032-0/+5
| | | | llvm-svn: 141023
* Update test for 141010.Jim Grosbach2011-10-031-1/+1
| | | | llvm-svn: 141022
* Fix regression of test SourceManagerTestCase.test_display_source_python.Johnny Chen2011-10-031-1/+1
| | | | llvm-svn: 141021
* Thumb2 ADD/SUB can take SP as a destination register.Jim Grosbach2011-10-031-18/+18
| | | | | | | It's documented as a separate instruction to line up with the Thumb1 encodings, for which it really is a distinct instruction encoding. llvm-svn: 141020
* Clean up MipsInstrInfo::copyPhysReg and handle copies from and to 64-bit integerAkira Hatanaka2011-10-031-51/+44
| | | | | | registers. llvm-svn: 141019
* Fixed source range for template implicit instantiations.Abramo Bagnara2011-10-033-10/+25
| | | | llvm-svn: 141018
* Add support for 64-bit integer multiply instructions.Akira Hatanaka2011-10-033-4/+39
| | | | llvm-svn: 141017
* Add definitions of instructions which move values between 64-bit integerAkira Hatanaka2011-10-032-0/+27
| | | | | | | registers and 64-bit HI and LO registers. Fix encoding of the 32-bit versions of the instructions. llvm-svn: 141015
* Find the strip tool that works with the specified SDKROOT. rdar://10165908Bob Wilson2011-10-031-4/+10
| | | | llvm-svn: 141013
* Fixed exapnsion range for # and ##.Abramo Bagnara2011-10-038-27/+45
| | | | llvm-svn: 141012
* Refactor the detection of a GCC installation into a helper class. ThisChandler Carruth2011-10-031-157/+191
| | | | | | | | | | | | | is designed to allow the detection to record more rich information about the installation than just a single path. Mostly, the functionality remains the same. This is primarily a factoring change. However, the new factoring immediately fixes one issue where on ubuntu we didn't walk up enough layers to reach the parent lib path. I'll have a test tree for that once I finish making the Ubuntu tree work reasonably. llvm-svn: 141011
* Tidy up a bit. Formatting.Jim Grosbach2011-10-031-62/+76
| | | | llvm-svn: 141010
* objc++: Accessing explicit property of reference type need Fariborz Jahanian2011-10-032-1/+30
| | | | | | not bind to a temporary. Fixes //rdar://10188258 llvm-svn: 141009
* PTX: Add some basic support for OpenCL address spacesJustin Holewinski2011-10-031-0/+6
| | | | llvm-svn: 141008
* Add support for MOVBE and RDRAND instructions for the assembler and ↵Craig Topper2011-10-037-1/+93
| | | | | | disassembler. Includes feature flag checking, but no instrinsic support. Fixes PR10832, PR11026 and PR11027. llvm-svn: 141007
* Don't crash when trying to emit too many fixits. Also, keep some constants inMatt Beaumont-Gay2011-10-032-2/+6
| | | | | | sync between DiagnosticsEngine and PartialDiagnostic. llvm-svn: 141006
* Whitespace.Eric Christopher2011-10-031-1/+1
| | | | llvm-svn: 141005
* Typo.Eric Christopher2011-10-031-1/+1
| | | | llvm-svn: 141004
* Windows porting work by Ruben Van BoxemHoward Hinnant2011-10-0390-343/+558
| | | | llvm-svn: 141003
* Propagate __attribute__((returns_twice)) from C to IL.Rafael Espindola2011-10-037-15/+54
| | | | llvm-svn: 141002
* Add the returns_twice attribute to LLVM.Rafael Espindola2011-10-039-9/+15
| | | | llvm-svn: 141001
* Test a multilib setup on a 64-bit host. This is the far more commonChandler Carruth2011-10-0312-0/+33
| | | | | | | | | | | | | configuration, although the test still stubs out more directories than are necessary or common in order to exercise all of the lookup paths observed with upstream GCC. This finishes testing the distribution-independent and GCC-installation-independent parts of the library path search logic. More testing is still needed for the triple detection, GCC-installation detection, and handling distributions with unusual configurations. llvm-svn: 141000
* Enable generic multilib support on 32bit hosts. Previously this was onlyChandler Carruth2011-10-0313-13/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | enabled for debian hosts, which is quite odd. I think all restriction on when Clang attempts to use a multilib installation should go away. Clang is fundamentally a cross compiler. It behaves more like GCC when built as a cross compiler, and so it should just use multilib installs when they are present on the system. However, there is a very specific exemption for Exherbo, which I can't test on, so I'm leaving that in place. With this, check in a generic test tree for multilib on a 32-bit host. This stubs out many directories that most distributions don't use but that uptsream GCC supports. This is intended to be an agnostic test that the driver behaves properly compared with the GCC driver it aims for compatibility with. Also, fix a bug in the driver that this testing exposed (see!) where it was incorrectly testing the target architecture rather than the host architecture. If anyone is having trouble with the tree-structure stubs I'm creating to test this, let me know and I can revisit the design. I chose this over (for example) a tar-ball in order to make tests run faster at the small, hopefully amortized VCS cost. llvm-svn: 140999
* Relax an assertion here a bit. This doesn't really matter, as we won'tChandler Carruth2011-10-031-2/+2
| | | | | | | | | | | | | include *any* path on crtbegin.o unless we actually find such a file via one of the search paths. We still strictly check the search paths right after this, so we'll catch any issues there. The reason for this is that the driver does some normalization of the path on the actual object file, and this changes the textual format of the string on Windows. It no longer matches the textual format of the sysroot flag. llvm-svn: 140998
* Treat VEX.vvvv as a 3-bit field outside of 64-bit mode. Prevents access to ↵Craig Topper2011-10-033-0/+9
| | | | | | registers xmm8-xmm15 outside 64-bit mode. llvm-svn: 140997
* Test that we include a GCC-triple-prefixed tree. While I don't know ofChandler Carruth2011-10-033-0/+2
| | | | | | | any distros that use this, building a multilib GCC from mainline will install linker scripts here. llvm-svn: 140996
* Teach the logic for locating an installed GCC about the system root.Chandler Carruth2011-10-034-9/+23
| | | | | | | | | | | | | | | | | This requires fixing a latent bug -- if we used the default host triple instead of an autodetected triple to locate GCC's installation, we didn't go back and fix the GCC triple. Correct that with a pile of hacks. This entire routine needs a major refactoring which I'm saving for a subsequent commit. Essentially, the detection of the GCC triple should be hoisted into the same routine as we locate the GCC installation: the first is intrinsically tied to the latter. Then the routine will just return the triple and base directory. Also start to bring the rest of the library search path logic under test, including locating crtbegin.o. Still need to test the multilib and other behaviors, but there are also bugs in the way of that. llvm-svn: 140995
* Test updates that were supposed to go with r140993.Craig Topper2011-10-031-4/+4
| | | | llvm-svn: 140994
* Fix VEX disassembling to ignore REX.RXBW bits in 32-bit mode.Craig Topper2011-10-031-9/+13
| | | | llvm-svn: 140993
* Reapply r140979 with fix! We never did get a testcase, but careful review of theNick Lewycky2011-10-032-4/+43
| | | | | | logic by David Meyer revealed this bug. llvm-svn: 140992
* attempt to fix ocaml bindings: landing padsTorok Edwin2011-10-034-4/+40
| | | | llvm-svn: 140991
* Add initial support for applying the sysroot to library search paths.Chandler Carruth2011-10-034-10/+18
| | | | | | | | | | | | | | | | | | | | This is still very much a WIP, but sysroot was completely broken before this so we are moving closer to correctness. The crux of this is that 'ld' (on Linux, the only place I'm touching here) doesn't apply the sysroot to any flags given to it. Instead, the driver must translate all the paths it adds to the link step with the system root. This is easily observed by building a GCC that supports sysroot, and checking its driver output. This patch just fixes the non-multilib library search paths. We should also use this in many other places, but first things first. This also allows us to make the Linux 'ld' test independent of the host system. This in turn will allow me to check in test tree configurations based on various different distro's configuration. Again, WIP. llvm-svn: 140990
* Allow getting all source locations of selector identifiers in a ObjCMethodDecl.Argyrios Kyrtzidis2011-10-0319-47/+214
| | | | | | | | | | | | | Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: -(id)first:(int)x second:(int)y; -With a space between the arguments: -(id)first: (int)x second: (int)y; -For nullary selectors, immediately before ';': -(void)release; In such cases we infer the locations instead of storing them. llvm-svn: 140989
* Move field in ObjCMessageExpr to avoid padding.Argyrios Kyrtzidis2011-10-032-13/+13
| | | | llvm-svn: 140988
OpenPOWER on IntegriCloud