summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Created a sample "jump" command that handlesSean Callanan2013-03-121-0/+173
| | | | | | | GDB-style linespecs. This command allows changing the PC without manually looking up the new address. llvm-svn: 176841
* LibCallSimplifier: optimize speed for short-lived instancesMeador Inge2013-03-121-177/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | Nadav reported a performance regression due to the work I did to merge the library call simplifier into instcombine [1]. The issue is that a new LibCallSimplifier object is being created whenever InstCombiner::runOnFunction is called. Every time a LibCallSimplifier object is used to optimize a call it creates a hash table to map from a function name to an object that optimizes functions of that name. For short-lived LibCallSimplifier instances this is quite inefficient. Especially for cases where no calls are actually simplified. This patch fixes the issue by dropping the hash table and implementing an explicit lookup function to correlate the function name to the object that optimizes functions of that name. This avoids the cost of always building and destroying the hash table in cases where the LibCallSimplifier object is short-lived and avoids the cost of building the table when no simplifications are actually preformed. On a benchmark containing 100,000 calls where none of them are simplified I noticed a 30% speedup. On a benchmark containing 100,000 calls where all of them are simplified I noticed an 8% speedup. [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130304/167639.html llvm-svn: 176840
* Remove support for versioned debug info.David Blaikie2013-03-116-354/+119
| | | | | | | | | | | | | | | | | | | | | | | | Versioned debug info support has been a burden to maintain & also compromised current debug info verification by causing test cases testing old debug info to remain rather than being updated to the latest. It also makes it hard to add or change the metadata schema by requiring various backwards-compatibility in the DI* hierarchy. So it's being removed in preparation for new changes to the schema to tidy up old/unnecessary fields and add new fields needed for new debug info (well, new to LLVM at least). The more surprising part of this is the changes to DI*::Verify - this became necessary due to the changes to AsmWriter. AsmWriter was relying on the version test to decide which bits of metadata were actually debug info when printing the comment annotations. Without the version information the tag numbers were too common & it would print debug info on random metadata that happened to start with an integer that matched a tag number. Instead this change makes the Verify functions more precise (just adding "number of operands" checks - not type checking those operands yet) & relies on that to decide which metadata is debug info metadata. llvm-svn: 176838
* Add asserts to DIBuilder & fix DINameSpace::Verify to allow unnamed namespaces.David Blaikie2013-03-112-8/+31
| | | | llvm-svn: 176837
* Residual cleanup: live-out set is goneEli Bendersky2013-03-111-8/+7
| | | | llvm-svn: 176836
* llvm/test/CodeGen/R600/schedule-*.ll: Let them require +Asserts.NAKAMURA Takumi2013-03-116-0/+6
| | | | llvm-svn: 176835
* Upgrading debug info test cases to be (more) compatible with the current ↵David Blaikie2013-03-1151-244/+249
| | | | | | | | | | | | debug info format. These cases were found by further work to remove support for debug info versioning. Common cleanups (other than changing the version info in the tag field) included adding the last parameter to compile_units (recently added for fission support) and other cases of trailing fields in lexical blocks, compile units, and subprograms. llvm-svn: 176834
* Change Linux/POSIX to output inferior output in realtime.Matt Kopec2013-03-112-28/+2
| | | | llvm-svn: 176833
* Objective-C: When using super.prop, property should beFariborz Jahanian2013-03-113-4/+33
| | | | | | | looked up the current class's super class. // rdar://13349296 llvm-svn: 176832
* Remove duplicate test contents.David Blaikie2013-03-1118-224/+10
| | | | llvm-svn: 176831
* Fix a crasher newly introduced in r176659/r176649, where fast-isel tries toNick Lewycky2013-03-112-0/+25
| | | | | | lower an expect intrinsic that is a constant expression. llvm-svn: 176830
* [analyzer] Look for calls along with lvalue nodes in trackNullOrUndefValue.Jordan Rose2013-03-111-9/+10
| | | | | | | | | | | | | | | | | | r176737 fixed bugreporter::trackNullOrUndefValue to find nodes for an lvalue even if the rvalue node had already been collected. This commit extends that to call statement nodes as well, so that if a call is contained within implicit casts we can still track the return value. No test case because node reclamation is extremely finicky (dependent on how the AST and CFG are built, and then on our current reclamation rules, and /then/ on how many nodes were generated by the analyzer core and the current set of checkers). I consider this a low-risk change, though, and it will only happen in cases of reclamation when the rvalue node isn't available. <rdar://problem/13340764> llvm-svn: 176829
* Fixes disassembler crashes on 2013 Haswell RTM instructions.Kevin Enderby2013-03-113-1/+21
| | | | | | rdar://13318048 llvm-svn: 176828
* Don't remove a landing pad if the invoke requires a table entry.Bill Wendling2013-03-112-3/+94
| | | | | | | | An invoke may require a table entry. For instance, when the function it calls is expected to throw. <rdar://problem/13360379> llvm-svn: 176827
* Disallow using -fmodules with -no-integrated-as.Ted Kremenek2013-03-113-3/+24
| | | | | | | | | | | | | Modules enables features such as auto-linking, and we simply do not want to support a matrix of subtly enabled/disabled features depending on whether or not a user is using the integrated assembler. It isn't clear if this is the best place to do this check. For one thing, these kind of errors are not caught by the serialized diagnostics. Fixes <rdar://problem/13289240> llvm-svn: 176826
* Buildbot was failing to build. I guess classes declared in implementation ↵Greg Clayton2013-03-113-17/+14
| | | | | | files are treated differently on various compilers causing a "friend class Foo;" to fail for forward declared classes in global namespace. llvm-svn: 176823
* This SO question: ↵Howard Hinnant2013-03-111-1/+1
| | | | | | http://stackoverflow.com/questions/15344402/how-can-i-read-a-0xff-in-a-file-with-libc-istream-iterator/15347225#15347225 highlighted the lack of a cast in the implementation of std::cin. Added. I unfortunately don't have a test case to add to the suite since this bug only shows itself when using std::cin. The current testsuite setup does not have a way a good way to test std::cin. llvm-svn: 176822
* <rdar://problem/13372857> Greg Clayton2013-03-119-334/+328
| | | | | | Fixed the exception breakpoints to always use a file filter to make setting exception breakpoint efficient. llvm-svn: 176821
* Improve the caching of debuginfo Objective C interface types.Adrian Prantl2013-03-113-27/+68
| | | | | | | | Generate forward declarations that are RAUW'd by finalize(). We thus avoid outputting the same type several times in multiple stages of completion. llvm-svn: 176820
* R600: Fix JUMP handling so that MachineInstr verification can occurVincent Lejeune2013-03-1110-45/+553
| | | | | | This allows R600 Target to use the newly created -verify-misched llc flag llvm-svn: 176819
* [msan] intercept dlopen and clear shadow for itReid Kleckner2013-03-119-19/+262
| | | | | | | | | | | | | | | | | | | | Summary: The loader does not call mmap() through the PLT because it has to bootstrap the process before libc is present. Hooking dlopen() isn't enough either because the loader runs module initializers before returning, and they could run arbitrary msan instrumented code. If msandr is present, then we can intercept the mmaps from dlopen at the syscall layer and clear the shadow there. If msandr is missing, we clear the shadow after dlopen() and hope any initializers are trivial. Reviewers: eugenis CC: kcc, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D509 llvm-svn: 176818
* Add -Wc99-compat warning for C11 unicode string and character literals.Richard Smith2013-03-113-6/+32
| | | | llvm-svn: 176817
* Partly revert "Move clang tests that depend on llvm/ADT/Statistic.h to a ↵Jan Wen Voung2013-03-113-5/+3
| | | | | | | | subdir". This reverts commit 176730, and uses "REQUIRES: asserts" instead. llvm-svn: 176815
* [docs] Add ellipsis.Sean Silva2013-03-111-1/+1
| | | | llvm-svn: 176810
* Missing period in docEli Bendersky2013-03-111-1/+1
| | | | llvm-svn: 176809
* llvm/test/CodeGen/X86/handle-move.ll: Mark it as XFAIL:cygming. Investigating.NAKAMURA Takumi2013-03-111-0/+1
| | | | llvm-svn: 176808
* [docs] Remove explicit authorship.Sean Silva2013-03-1118-44/+0
| | | | | | | In the spirit of r172109. Version control keeps a far more detailed record of authorship anyways. llvm-svn: 176807
* [libclang] Fix a test and a warning on windows.Argyrios Kyrtzidis2013-03-112-5/+5
| | | | | | Patch by Guy Benyei! llvm-svn: 176806
* [Sanitizer] Implement BlockingMutex::CheckLocked()Alexey Samsonov2013-03-115-0/+21
| | | | llvm-svn: 176805
* [ASan] Reduce the local buffer size in Report() not to fail the check ↵Alexander Potapenko2013-03-111-2/+5
| | | | | | enforced when building TSan runtime. llvm-svn: 176804
* Add a test case for the 'vec_type_hint' attribute that was introduced inJoey Gouly2013-03-111-0/+16
| | | | | | r176686. I missed this file in the previous commit. llvm-svn: 176803
* [ASan] Try to use a small (512 bytes) stack-local buffer in Report() for ↵Alexander Potapenko2013-03-111-13/+42
| | | | | | | | short messages, fall back to MmapOrDie() in the case of a failure. This shall eliminate most of the cryptic "ERROR: failed to mmap" messages caused by recursively calling MmapOrDie() from MmapOrDie(). llvm-svn: 176802
* [ASan] don't call strerr from functions that map memory, since this results ↵Alexander Potapenko2013-03-111-2/+2
| | | | | | in malloc(). llvm-svn: 176800
* [sanitizer] make SizeClassAllocator64::GetBlockBegin more bullet proof (by ↵Kostya Serebryany2013-03-112-0/+8
| | | | | | Sergey Matveev) llvm-svn: 176799
* Suppress atomic(32|64).ll as XFAIL on win32 codegen. Investigating.NAKAMURA Takumi2013-03-112-0/+4
| | | | llvm-svn: 176798
* R600MachineScheduler.cpp: Fix use cases of dbgs(). Don't include <iostream> ↵NAKAMURA Takumi2013-03-111-1/+2
| | | | | | here. llvm-svn: 176797
* Remove date from test case file name. The PR number provides a unique ID ↵Lang Hames2013-03-111-0/+0
| | | | | | already. llvm-svn: 176796
* [ELF] Set values for bss_start and end symbols properly, If there are two ↵Shankar Easwaran2013-03-112-5/+11
| | | | | | load segments with RW permissions, bss_start and end may get set inappropriate llvm-svn: 176795
* Correct this error message, and most importantly make it distinct from theNick Lewycky2013-03-101-1/+1
| | | | | | error above. Based on a patch by Peter Zotov! llvm-svn: 176794
* Use LLVMBool instead of 'bool' in the C API. Based on a patch by Peter Zotov!Nick Lewycky2013-03-102-5/+5
| | | | llvm-svn: 176793
* Xcode seems to want these lines added to the project file.Jason Molenda2013-03-101-0/+2
| | | | llvm-svn: 176792
* BBVectorize: Fixup debugging statementsHal Finkel2013-03-101-2/+2
| | | | | | | After the recent data-structure improvements, a couple of debugging statements were broken (printing pointer values). llvm-svn: 176791
* Match the new declaration of clang::ASTContext::getFunctionType introduced ↵Sylvestre Ledru2013-03-101-2/+1
| | | | | | in clang r176726. Fix the build of lldb llvm-svn: 176790
* PR15480: fixed second parameter types of vec_lde, vec_lvebx, vec_lvehx, and ↵Anton Yartsev2013-03-102-28/+28
| | | | | | vec_lvewx according to AltiVec Programming Interface Manual llvm-svn: 176789
* Driver: do not strip file extensions when printing diagnostics.Benjamin Kramer2013-03-101-1/+1
| | | | | | | | | | Before: clang-3: error: no input files After: clang-3.3: error: no input files This means that we'll also print clang.exe on windows, but I don't see a problem with that. llvm-svn: 176788
* Cleanup #includes.Jakub Staszak2013-03-103-5/+5
| | | | llvm-svn: 176787
* Fix indirect byval passing of records in address spaced memory. Allocate ↵Guy Benyei2013-03-102-2/+31
| | | | | | memory on stack, and memcpy the actual value before the call. llvm-svn: 176786
* Remove unneeded #include.Jakub Staszak2013-03-101-1/+0
| | | | llvm-svn: 176785
* Add some constantness in MachinePostDominators.h.Jakub Staszak2013-03-101-7/+8
| | | | llvm-svn: 176784
* Remove unneeded #includes. Use forward declarations instead.Jakub Staszak2013-03-102-5/+9
| | | | llvm-svn: 176783
OpenPOWER on IntegriCloud