summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* SchedDFS: Initial support for nested subtrees.Andrew Trick2013-01-252-42/+90
| | | | | | | This is mostly refactoring, along with adding an instruction count within the subtrees and ensuring we only look at data edges. llvm-svn: 173420
* clang/test: Drop "REQUIRES:shell" in three tests. They can run on win32.NAKAMURA Takumi2013-01-253-3/+0
| | | | llvm-svn: 173419
* clang/test/CodeGenCXX/debug-info-static-member.cpp: Appease targetting msvc ↵NAKAMURA Takumi2013-01-251-1/+1
| | | | | | | | | | | | | to add explicit -target x86_64-unknown-unknown. with -target i686-win32, you will see; debug-info-static-member.cpp:11:22: error: in-class initializer for static data member of type 'const float' requires 'constexpr' specifier [-Wstatic-float-init] const static float const_b = 3.14; ^ ~~~~ constexpr llvm-svn: 173418
* Switch this code away from Value::isUsedInBasicBlock. That code eitherChandler Carruth2013-01-252-7/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | loops over instructions in the basic block or the use-def list of the value, neither of which are really efficient when repeatedly querying about values in the same basic block. What's more, we already know that the CondBB is small, and so we can do a much more efficient test by counting the uses in CondBB, and seeing if those account for all of the uses. Finally, we shouldn't blanket fail on any such instruction, instead we should conservatively assume that those instructions are part of the cost. Note that this actually fixes a bug in the pass because isUsedInBasicBlock has a really terrible bug in it. I'll fix that in my next commit, but the fix for it would make this code suddenly take the compile time hit I thought it already was taking, so I wanted to go ahead and migrate this code to a faster & better pattern. The bug in isUsedInBasicBlock was also causing other tests to test the wrong thing entirely: for example we weren't actually disabling speculation for floating point operations as intended (and tested), but the test passed because we failed to speculate them due to the isUsedInBasicBlock failure. llvm-svn: 173417
* Create clang/test/Driver/lit.local.cfg.NAKAMURA Takumi2013-01-252-0/+2
| | | | | | | | | | These files had been ignored. - clang_f_opts.h - debug-comp-dir.S - debug-main-file.S llvm-svn: 173416
* Drop "REQUIRES:shell" in tests. They can run on win32.NAKAMURA Takumi2013-01-256-6/+0
| | | | llvm-svn: 173415
* Sync 'in class initialization of static const double' extension up with GCC,Richard Smith2013-01-257-18/+48
| | | | | | | | | | | | | and split it out of -Wgnu into its own warning flag. * In C++11, this is now a hard error (GCC has no extension here in C++11 mode). The error can be disabled with -Wno-static-float-init, and has a fixit to add 'constexpr'. * In C++98, this is still an ExtWarn, but is now controlled by -Wstatic-float-init as well as -Wgnu. llvm-svn: 173414
* MISched: Add SchedDFSResult to ScheduleDAGMI to formalize theAndrew Trick2013-01-253-30/+83
| | | | | | interface and allow other strategies to select it. llvm-svn: 173413
* [Frontend] Remove another IsUserSpecified member variable that is now unused.Daniel Dunbar2013-01-254-29/+22
| | | | llvm-svn: 173412
* [Frontend] Drop the isUserSupplied argument to InitHeaderSearch, it is unused.Daniel Dunbar2013-01-251-72/+63
| | | | llvm-svn: 173411
* [Frontend] The -iwithprefix option belongs in the After category, according toDaniel Dunbar2013-01-251-2/+2
| | | | | | | GCC docs. - Found by inspection. llvm-svn: 173410
* [Lex] Remove DirectoryLookup.UserSpecified, which is unused.Daniel Dunbar2013-01-254-18/+11
| | | | llvm-svn: 173409
* Serialization/GlobalModuleIndex.cpp: Fixup r173405, <cstdio>NAKAMURA Takumi2013-01-251-0/+1
| | | | llvm-svn: 173408
* This patch implements parsing the .wordJack Carter2013-01-252-8/+46
| | | | | | | | directive for the Mips assembler. Contributer: Vladimir Medic llvm-svn: 173407
* <rdar://problem/13072285> Jason Molenda2013-01-251-1/+1
| | | | | | | | | | Change the GDBRemoteRegisterContext::AddRegister function to take its RegisterInfo argument by value instead of using a reference - it will modify the object and modifying the contents of the g_register_infos table in GDBRemoteRegisterContext.cpp can cause a crash the next time we step through it. llvm-svn: 173406
* Implement the reader of the global module index and wire it into theDouglas Gregor2013-01-257-43/+566
| | | | | | | | | | | | | | | | | | | | | | | AST reader. The global module index tracks all of the identifiers known to a set of module files. Lookup of those identifiers looks first in the global module index, which returns the set of module files in which that identifier can be found. The AST reader only needs to look into those module files and any module files not known to the global index (e.g., because they were (re)built after the global index), reducing the number of on-disk hash tables to visit. For an example source I'm looking at, we go from 237844 total identifier lookups into on-disk hash tables down to 126817. Unfortunately, this does not translate into a performance advantage. At best, it's a wash once the global module index has been built, but that's ignore the cost of building the global module index (which is itself fairly large). Profiles show that the global module index code is far less efficient than it should be; optimizing it might give enough of an advantage to justify its continued inclusion. llvm-svn: 173405
* Rename the -cc1 option "-generate-module-index" toDouglas Gregor2013-01-259-24/+61
| | | | | | | "-fmodules-global-index" and expand its behavior to include both the use and generation of the global module index. llvm-svn: 173404
* Track the number of lookups and hits into the on-disk hash tables forDouglas Gregor2013-01-252-9/+38
| | | | | | identifiers within the AST file reader. llvm-svn: 173403
* Update test scripts and Makefiles to allow testing with GCC:Daniel Malea2013-01-2511-13/+51
| | | | | | | | | | | - introduce new variable ARCHFLAG in make/Makefile.rules to switch between "-arch" on Mac and "-m" everywhere else - update testcase makefiles to use LD_EXTRAS instead of LDFLAGS (the former interacts with Makefile.rules badly) - special treatment for gcc 4.6: replace "-std=c++11" with "-std=c++0x" as the former is not handled correctly - remove hardcoded "-arch" from test Makefile This patch should not have any effect on lldb on Mac OS X. llvm-svn: 173402
* [mips] Set flag neverHasSideEffects flag on some of the floating point ↵Akira Hatanaka2013-01-252-12/+21
| | | | | | instructions. llvm-svn: 173401
* Clarify comment: "diagnose" is better than "warn" when emitting an error.Jordan Rose2013-01-251-1/+1
| | | | | | Thanks, Dmitri. llvm-svn: 173400
* SchedDFS: Refactor and tweak the subtree selection criteria.Andrew Trick2013-01-251-24/+32
| | | | | | | | | | For sanity, create a root when NumDataSuccs >= 4. Splitting large subtrees will no longer be detrimental after my next checkin to handle nested tree. A magic number of 4 is fine because single subtrees seldom rejoin more than this. It makes subtrees easier to visualize and heuristics more sane. llvm-svn: 173399
* SchedDFS: Constify interface.Andrew Trick2013-01-251-3/+4
| | | | llvm-svn: 173398
* Clean up: since we have FunctionDecl::IsInline, make it store the right valueRichard Smith2013-01-253-35/+16
| | | | | | | | | | | | for template instantiations, and use it to simplify the implementation of FunctionDecl::isInlined(). This incidentally changes the result of isInlined on a declared-but-not-defined non-inline member function from true to false. This is sort of a bug fix, but currently isInlined is only called on function definitions, so it has no visible effects. llvm-svn: 173397
* FileCheck'ize testDmitri Gribenko2013-01-251-7/+26
| | | | llvm-svn: 173396
* Avoid creating duplicate CFG edges in the IfConversion pass.Jakob Stoklund Olesen2013-01-241-1/+1
| | | | | | Patch by Stefan Hepp. llvm-svn: 173395
* Mark test cases affected by PR 15036 (GCC-generated DWARF causes parser crash)Daniel Malea2013-01-245-0/+21
| | | | | | - Add new decorator "@skipIfGcc" to lldbtest.py llvm-svn: 173394
* FileCheck'ize testDmitri Gribenko2013-01-241-6/+7
| | | | llvm-svn: 173393
* [analyzer] Fixup for r173385 and r173386 - initialize the members.Anna Zaks2013-01-241-0/+2
| | | | llvm-svn: 173392
* FileCheck'ize testDmitri Gribenko2013-01-241-8/+4
| | | | llvm-svn: 173391
* Don't listen for EXC_RESOURCE exceptions, those should really be handled by ↵Jim Ingham2013-01-242-1/+18
| | | | | | | | the system handler. Also put in string translations for a couple of exceptions we were missing. llvm-svn: 173390
* FileCheck'ize testDmitri Gribenko2013-01-241-2/+2
| | | | llvm-svn: 173389
* Fixes text of diagnostics in integer overflow patch.Fariborz Jahanian2013-01-242-4/+4
| | | | llvm-svn: 173388
* FileCheck'ize test/SemaCXX/qualified-names-print.cpp and merge it to otherDmitri Gribenko2013-01-242-15/+18
| | | | | | -ast-print tests llvm-svn: 173387
* [analyzer] Add "-analyzer-config mode=[deep|shallow] ".Anna Zaks2013-01-245-6/+77
| | | | | | | | | | | | | The idea is to introduce a higher level "user mode" option for different use scenarios. For example, if one wants to run the analyzer for a small project each time the code is built, they would use the "shallow" mode. The user mode option will influence the default settings for the lower-level analyzer options. For now, this just influences the ipa modes, but we plan to find more optimal settings for them. llvm-svn: 173386
* [analyzer] Replace "-analyzer-ipa" with "-analyzer-config ipa".Anna Zaks2013-01-2436-100/+111
| | | | | | | | | The idea is to eventually place all analyzer options under "analyzer-config". In addition, this lays the ground for introduction of a high-level analyzer mode option, which will influence the default setting for IPAMode. llvm-svn: 173385
* [analyzer] refactor: access IPAMode through the accessor.Anna Zaks2013-01-243-5/+12
| | | | llvm-svn: 173384
* scan-build: Add a --keep-empty option for better testing.Jordan Rose2013-01-242-4/+18
| | | | | | | | SATestBuild expects to compare output directories for each invocation of scan-build that it runs, but scan-build clears out empty directories by default. We were coincidentally not getting that behavior until r173294. llvm-svn: 173383
* Moving Cost Tables up to share with other targetsRenato Golin2013-01-242-48/+75
| | | | llvm-svn: 173382
* [Driver] Run the pass manager.Michael J. Spencer2013-01-242-1/+7
| | | | llvm-svn: 173381
* Move SimpleAtoms.h to ReaderWriter.Michael J. Spencer2013-01-247-258/+192
| | | | llvm-svn: 173380
* FileCheck-ify some debug info scope related tests.David Blaikie2013-01-242-2/+10
| | | | llvm-svn: 173379
* removed duplicated comment.Fariborz Jahanian2013-01-241-1/+0
| | | | llvm-svn: 173378
* Patch to check for integer overflow. It has beenFariborz Jahanian2013-01-2410-38/+101
| | | | | | commented on and approved by Richard Smith. llvm-svn: 173377
* Move 'convertUTF8Sequence' helper into the C++ section of the header file.Jordan Rose2013-01-241-10/+26
| | | | | | | It's annotated as "inline", but ConvertUTF.c should still be able to compile as C89. llvm-svn: 173376
* [mips] Do not emit i32 padding if target ABI is O32. This was causing backendAkira Hatanaka2013-01-242-11/+24
| | | | | | to pass floating point arguments to be passed in integer registers. llvm-svn: 173375
* Added comment to ObjCARC elaborating what is meant by the term 'Provenance' ↵Michael Gottesman2013-01-241-0/+6
| | | | | | in 'Provenance Analysis'. llvm-svn: 173374
* Test fix-it ranges for Unicode characters.Jordan Rose2013-01-242-2/+3
| | | | | | Also, remove stray -fdiagnostics-parseable-fixits from ucn-pp-identifier. llvm-svn: 173373
* Skip 32-bit testing of check_public_api_headers (on all platforms, not just ↵Daniel Malea2013-01-241-2/+2
| | | | | | | | Mac OS X) - since the test program needs to link with LLDB, the test is invalid in 32-bit mode. llvm-svn: 173372
* Add a fixit for \U1234 -> \u1234.Jordan Rose2013-01-243-2/+20
| | | | llvm-svn: 173371
OpenPOWER on IntegriCloud