summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [LIT] Add a clang_tools_extra_site_cfg to match the various other site_cfg.David Blaikie2012-09-041-4/+9
| | | | | | | | | This doesn't seem ideal, perhaps we could just keep the llvm_site_cfg and have other config (clang and clang-tools-extra) derive their site_cfg from that. Suggestions/complaints/ideas welcome. llvm-svn: 163171
* Making the right thing with regards to disabling summaries on ↵Enrico Granata2012-09-041-7/+14
| | | | | | LLDB_DISABLE_PYTHON builds llvm-svn: 163170
* Fix my previous patch (r163164). It does now what it is supposed to do:Jakub Staszak2012-09-041-1/+0
| | | | | | Doesn't set MadeChange to TRUE if BypassSlowDivision doesn't change anything. llvm-svn: 163165
* Return false if BypassSlowDivision doesn't change anything.Jakub Staszak2012-09-041-33/+34
| | | | | | | | | | Also a few minor changes: - use pre-inc instead of post-inc - use isa instead of dyn_cast - 80 col - trailing spaces llvm-svn: 163164
* Modified patch from Matt Kopec that fixes a process launch issue on linux ↵Greg Clayton2012-09-041-2/+10
| | | | | | where we wouldn't acquire the process run lock. llvm-svn: 163163
* <rdar://problem/12068655> Make sure [NSDate distantPast] is formatted correctlyEnrico Granata2012-09-041-0/+4
| | | | llvm-svn: 163162
* Minor cleanup to improve code readability. No functional change intended.Chad Rosier2012-09-041-2/+2
| | | | llvm-svn: 163161
* Remove unneeded code.Jakub Staszak2012-09-041-29/+0
| | | | llvm-svn: 163160
* [analyzer] Don't use makeIntVal to create a floating-point value.Jordan Rose2012-09-042-1/+11
| | | | | | | | | | SimpleSValBuilder processes a couple trivial identities, including 'x - x' and 'x ^ x' (both 0). However, the former could appear with arguments of floating-point type, and we weren't checking for that. This started triggering an assert with r163069, which checks that a constant value is actually going to be used as an integer or pointer. llvm-svn: 163159
* Editing a comment to make sure people know not to blame CFString.py for ↵Enrico Granata2012-09-041-2/+2
| | | | | | CFString summary errors llvm-svn: 163157
* Adding to files that were missing in the previous commitEnrico Granata2012-09-042-0/+737
| | | | llvm-svn: 163156
* <rdar://problem/11485744> Implement important data formatters in C++. Have ↵Enrico Granata2012-09-0420-216/+1176
| | | | | | the Objective-C language runtime plugin expose class descriptors objects akin to the objc_runtime.py Pythonic implementation. Rewrite the data formatters for some core Cocoa classes in C++ instead of Python. llvm-svn: 163155
* Typo.Jakob Stoklund Olesen2012-09-041-1/+1
| | | | llvm-svn: 163154
* Actually use the MachineOperand field for isRegTiedToDefOperand().Jakob Stoklund Olesen2012-09-042-105/+16
| | | | | | | | | | The MachineOperand::TiedTo field was maintained, but not used. This patch enables it in isRegTiedToDefOperand() and isRegTiedToUseOperand() which are the actual functions use by the register allocator. llvm-svn: 163153
* Move tie checks into MachineVerifier::visitMachineOperand.Jakob Stoklund Olesen2012-09-042-37/+34
| | | | llvm-svn: 163152
* Allow tied uses and defs in different orders.Jakob Stoklund Olesen2012-09-043-42/+100
| | | | | | | | | | | | | | | | After much agonizing, use a full 4 bits of precious MachineOperand space to encode this. This uses existing padding, and doesn't grow MachineOperand beyond its current 32 bytes. This allows tied defs among the first 15 operands on a normal instruction, just like the current MCInstrDesc constraint encoding. Inline assembly needs to be able to tie more than the first 15 operands, and gets special treatment. Tied uses can appear beyond 15 operands, as long as they are tied to a def that's in range. llvm-svn: 163151
* Generic Bypass Slow DivPreston Gurd2012-09-0411-3/+473
| | | | | | | | | | | | | | | | | | | | | | | - CodeGenPrepare pass for identifying div/rem ops - Backend specifies the type mapping using addBypassSlowDivType - Enabled only for Intel Atom with O2 32-bit -> 8-bit - Replace IDIV with instructions which test its value and use DIVB if the value is positive and less than 256. - In the case when the quotient and remainder of a divide are used a DIV and a REM instruction will be present in the IR. In the non-Atom case they are both lowered to IDIVs and CSE removes the redundant IDIV instruction, using the quotient and remainder from the first IDIV. However, due to this optimization CSE is not able to eliminate redundant IDIV instructions because they are located in different basic blocks. This is overcome by calculating both the quotient (DIV) and remainder (REM) in each basic block that is inserted by the optimization and reusing the result values when a subsequent DIV or REM instruction uses the same operands. - Test cases check for the presents of the optimization when calculating either the quotient, remainder, or both. Patch by Tyler Nowicki! llvm-svn: 163150
* Revert r163083 per chandlerc's request.Joao Matos2012-09-0419-119/+3
| | | | llvm-svn: 163149
* Make sure macros in the include subdirectory are not used without being defined.Bob Wilson2012-09-043-4/+4
| | | | | | | | | | | | | | | | Rationale: For each preprocessor macro, either the definedness is what's meaningful, or the value is what's meaningful, or both. If definedness is meaningful, we should use #ifdef. If the value is meaningful, we should use and #ifdef interchangeably for the same macro, seems ugly to me, even if undefined macros are zero if used. This also has the benefit that including an LLVM header doesn't prevent you from compiling with -Wundef -Werror. Patch by John Garvin! <rdar://problem/12189979> llvm-svn: 163148
* Revert r163099 per chandlerc's request.Joao Matos2012-09-043-9/+1
| | | | llvm-svn: 163147
* Revert r163076 per chandlerc's request.Joao Matos2012-09-042-39/+22
| | | | llvm-svn: 163146
* Revert r163078 per chandlerc's request.Joao Matos2012-09-045-62/+26
| | | | llvm-svn: 163145
* [ms-inline asm] The MCInstrDesc only tracks register definitions. For now,Chad Rosier2012-09-042-3/+3
| | | | | | | assume that if the 1st operands is an expression and the instruction mayStore, then it is a memory definition. llvm-svn: 163144
* [ms-inline asm] Fix an illegal index and an 80-column violation.Chad Rosier2012-09-041-7/+7
| | | | llvm-svn: 163143
* Fix 80-column violation.Chad Rosier2012-09-041-2/+2
| | | | llvm-svn: 163142
* Patch from Filipe Cabecinhas that uses argparse in dotest.py instead of a ↵Greg Clayton2012-09-041-305/+237
| | | | | | | | | | | | | | | | | hand coded option. I made a few modifications: Changed the '-A' option to also have a long option of '--arch'. This is now specified multiple times to get multiple architectures. Old: -A i386^x86_64 New: -A i386 -A x86_64 --arch i386 --arch x86_64 Changed the '-C' option to also have a long option of '--compiler'. This is now specified multiple times to get multiple compiler. Old: -C clang^gcc New: -C clang -C gcc --compiler clang --compiler gcc llvm-svn: 163141
* [Sanitizer] Support for reading inlined frames from llvm-symbolizerAlexey Samsonov2012-09-042-45/+96
| | | | llvm-svn: 163140
* Patch from info from Daniel Malea that should fix the build on linux after ↵Greg Clayton2012-09-042-0/+3
| | | | | | fixes committed with revision 162860. llvm-svn: 163139
* [compiler-rt] Recurse into 'utils' directory in CMake build of compiler-rt, ↵Alexey Samsonov2012-09-044-1/+22
| | | | | | enable build of llvm-symbolizer binary (currently for one target only) llvm-svn: 163138
* Porting Hexagon MI Scheduler to the new API.Sergei Larin2012-09-0411-5/+1381
| | | | | | | Change current Hexagon MI scheduler to use new converging scheduler. Integrates DFA resource model into it. llvm-svn: 163137
* Patch to implement UMLAL/SMLAL instructions for the ARM architectureArnold Schwaighofer2012-09-047-17/+339
| | | | | | | | | | | This patch corrects the definition of umlal/smlal instructions and adds support for matching them to the ARM dag combiner. Bug 12213 Patch by Yin Ma! llvm-svn: 163136
* Improved "objc_refs" a bit to be able to find all instances of a class'Greg Clayton2012-09-043-13/+132
| | | | | | | superclasses on top of finding the exact class. The current attempt is still too slow, but it lays the groundwork. llvm-svn: 163135
* This patch optimizes shuffle instruction - generates 2 instructions instead ↵Elena Demikhovsky2012-09-042-22/+21
| | | | | | | | | | | | | | | | | | | | of 4. Since this specific shuffle is widely used in many workloads we have ~10% performance on them. shufflevector <8 x float> %A, <8 x float> %B, <8 x i32> <i32 0, i32 8, i32 2, i32 10, i32 4, i32 12, i32 6, i32 14> vmovaps (%rdx), %ymm0 vshufps $8, %ymm0, %ymm0, %ymm0 vmovaps (%rcx), %ymm1 vshufps $8, %ymm0, %ymm1, %ymm1 vunpcklps %ymm0, %ymm1, %ymm0 vmovaps (%rcx), %ymm0 vmovsldup (%rdx), %ymm1 vblendps $85, %ymm0, %ymm1, %ymm0 llvm-svn: 163134
* [Sanitizer] llvm-symbolizer util: make it more conforming to LLVM code ↵Alexey Samsonov2012-09-042-237/+316
| | | | | | style, and support fetching inlining info llvm-svn: 163133
* LICM may hoist an instruction with undefined behavior above a trap.Nadav Rotem2012-09-042-8/+57
| | | | | | | | | | Scan the body of the loop and find instructions that may trap. Use this information when deciding if it is safe to hoist or sink instructions. Notice that we can optimize the search of instructions that may throw in the case of nested loops. rdar://11518836 llvm-svn: 163132
* Fix Android build of gtest and lib/Support.Evgeniy Stepanov2012-09-044-6/+16
| | | | llvm-svn: 163131
* Add dependency to intrinsics_genTobias Grosser2012-09-041-0/+5
| | | | | | | | | | The IndVarSimplify pass in Polly uses the intrinsics header. We need to ensure that the header is generated, before we use it. This patch fixes the problem for the cmake build (it did not show up in the autoconf one). Contributed by: Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com> llvm-svn: 163130
* Add support for fetching inlining context (stack of source code locations)Alexey Samsonov2012-09-0412-90/+361
| | | | | | | | | | | by instruction address from DWARF. Add --inlining flag to llvm-dwarfdump to demonstrate and test this functionality, so that "llvm-dwarfdump --inlining --address=0x..." now works much like "addr2line -i 0x...", provided that the binary has debug info (Clang's -gline-tables-only *is* enough). llvm-svn: 163128
* Be conservative about allocations that may alias the accessed pointer.Bob Wilson2012-09-041-0/+3
| | | | | | | | | | If an allocation has a must-alias relation to the access pointer, we treat it as a Def. Otherwise, without this check, the code here was just skipping over the allocation call and ignoring it. I noticed this by inspection and don't have a specific testcase that it breaks, but it seems like we need to treat a may-alias allocation as a Clobber. llvm-svn: 163127
* [ms-inline asm] Use the new GetMCInstOperandNum() interface in the front-end.Chad Rosier2012-09-031-3/+20
| | | | llvm-svn: 163126
* [ms-inline asm] Make comment more verbose and add an assert.Chad Rosier2012-09-031-1/+2
| | | | llvm-svn: 163125
* [ms-inline asm] Asm operands can map to one or more MCOperands. Therefore, addChad Rosier2012-09-036-11/+33
| | | | | | | the NumMCOperands argument to the GetMCInstOperandNum() function that is set to the number of MCOperands this asm operand mapped to. llvm-svn: 163124
* [ms-inline asm] Add a comment.Chad Rosier2012-09-031-0/+3
| | | | llvm-svn: 163123
* [ms-inline asm] Add an interface to the GetMCInstOperandNum() function in theChad Rosier2012-09-036-6/+40
| | | | | | MCTargetAsmParser class. llvm-svn: 163122
* [cindex.py] Allow to configure the path of libclangTobias Grosser2012-09-031-134/+189
| | | | | | | | | | | By calling cindex.Config.set_library_path(path) or cindex.Config.set_library_file(file) it is possible to specify from where we load libclang. This fixes an open FIXME. We also point the user to these functions, in case libclang can not be loaded sucessfully. llvm-svn: 163121
* Some minor mingw64 porting tweaks from Glen.Howard Hinnant2012-09-032-4/+9
| | | | llvm-svn: 163120
* Remove extraneous return.Chad Rosier2012-09-031-1/+1
| | | | llvm-svn: 163119
* [ms-inline asm] Return the MCOperandNum instead of passing a reference.Chad Rosier2012-09-031-10/+9
| | | | llvm-svn: 163118
* Remove always true checks. Noticed by Adhemerval Zanella.Roman Divacky2012-09-031-2/+2
| | | | llvm-svn: 163117
* Add braces to the case statement.Chad Rosier2012-09-031-1/+2
| | | | llvm-svn: 163116
OpenPOWER on IntegriCloud