summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add an operator== to the RegisterNumber class; it simplifiesJason Molenda2014-11-112-7/+43
| | | | | | RegisterContextLLDB a bit more in a few places. llvm-svn: 221677
* CGOpenMPRuntime.h: Fix a couple of \param(s) introduced in r221663. ↵NAKAMURA Takumi2014-11-111-2/+2
| | | | | | [-Wdocumentation] llvm-svn: 221676
* [CMake] llvm-shlib: Prune redundant components, AsmPrinter, MC, and ↵NAKAMURA Takumi2014-11-111-3/+0
| | | | | | SelectionDAG. llvm-svn: 221675
* Addition to r216371 (SLP and Loop Vectorization) and r218607 whereSuyog Sarda2014-11-111-0/+31
| | | | | | | | | | cost model for signed division by power of 2 was improved for AArch64. The revision r218607 missed test case for Loop Vectorization. Adding it in this revision. Differential Revision: http://reviews.llvm.org/D6181 llvm-svn: 221674
* Use uint64_t as the type for the X86 TSFlag format enum. Allows removal of ↵Craig Topper2014-11-112-61/+62
| | | | | | the VEXShift hack that was used to access the higher bits of TSFlags. llvm-svn: 221673
* [X86] Fix pattern match for 32-to-64-bit zext in the presence of AssertSextMichael Kuperstein2014-11-112-0/+17
| | | | | | | | | This fixes an issue with matching trunc -> assertsext -> zext on x86-64, which would not zero the high 32-bits. See PR20494 for details. Recommitting - This time, with a hopefully working test. Differential Revision: http://reviews.llvm.org/D6128 llvm-svn: 221672
* Only run the gold plugin tests if gold supports the targets we test with.Rafael Espindola2014-11-111-2/+16
| | | | | | This fixes pr21345. llvm-svn: 221669
* [NVPTX] Remove dead code in NVPTXTargetTransformInfo (NFC)Jingyue Wu2014-11-111-12/+2
| | | | llvm-svn: 221668
* MCAsmParserExtension has a copy of the MCAsmParser. Use it.Rafael Espindola2014-11-116-54/+177
| | | | | | Base classes were storing a second copy. llvm-svn: 221667
* Add const. NFC.Rafael Espindola2014-11-114-3/+15
| | | | | | | This adds const to a few methods that already return const references or creates a const version when they reterun non-const references. llvm-svn: 221666
* Don't duplicate names in comments. NFC.Rafael Espindola2014-11-111-35/+31
| | | | llvm-svn: 221665
* Don't repeat name in comment. NFC.Rafael Espindola2014-11-111-20/+20
| | | | llvm-svn: 221664
* [OPENMP] Codegen for threadprivate variablesAlexey Bataev2014-11-1119-21/+1110
| | | | | | | | | For all threadprivate variables which have constructor/destructor emit call to void __kmpc_threadprivate_register(ident_t * <Current Location>, void *<Original Global Addr>, kmpc_ctor <Constructor>, kmpc_cctor NULL, kmpc_dtor <Destructor>); In expressions all references to such variables are replaced by calls to void *__kmpc_threadprivate_cached(ident_t *<Current Location>, kmp_int32 <Current Thread Id>, void *<Original Global Addr>, size_t <Size of Data>, void ***<Pointer to autogenerated cache – array of private copies of threadprivate variable>); Test test/OpenMP/threadprivate_codegen.cpp checks that codegen is correct. Also it checks that codegen is correct after serialization/deserialization and one of passes verifies debug info. Differential Revision: http://reviews.llvm.org/D4002 llvm-svn: 221663
* Fix parsing of fold-expressions within a cast expression. We parse theRichard Smith2014-11-112-8/+13
| | | | | | | parenthesized expression a bit differently in this case, just in case the commas have special meaning. llvm-svn: 221661
* Made the expression parser more resilient againstSean Callanan2014-11-111-0/+21
| | | | | | | | | being asked about symbols it doesn't know about. If it's asked about a symbol by mangled name and it finds nothing, then it will try again with the demangled base name. llvm-svn: 221660
* InstrProf: Remove an unnecessary helper function (NFC)Justin Bogner2014-11-111-26/+12
| | | | | | | VisitSubStmtRBraceState is really just Visit, as long as VisitCompoundStatement handles braces correctly. llvm-svn: 221659
* Ignore templated aggregates in the Objective-CSean Callanan2014-11-111-0/+12
| | | | | | | | | | | | | | runtime. This eliminates potential confusion when the compiler has to deal with these weird types later on. One day I'd like to actually generate the proper templates, but this is not the day that I write the parser code to do that. <rdar://problem/18887634> llvm-svn: 221658
* [X86] Custom lower UINT_TO_FP from v4f32 to v4i32, and for v8f32 to v8i32 ifQuentin Colombet2014-11-116-20/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVX2 is available. According to IACA, the new lowering has a throughput of 8 cycles instead of 13 with the previous one. Althought this lowering kicks in some SPECs benchmarks, the performance improvement was within the noise. Correctness testing has been done for the whole range of uint32_t with the following program: uint4 v = (uint4) {0,1,2,3}; uint32_t i; //Check correctness over entire range for uint4 -> float4 conversion for( i = 0; i < 1U << (32-2); i++ ) { float4 t = test(v); float4 c = correct(v); if( 0xf != _mm_movemask_ps( t == c )) { printf( "Error @ %vx: %vf vs. %vf\n", v, c, t); return -1; } v += 4; } Where "correct" is the old lowering and "test" the new one. The patch adds a test case for the two custom lowering instruction. It also modifies the vector cost model, which is why cast.ll and uitofp.ll are modified. 2009-02-26-MachineLICMBug.ll is also modified because we now hoist 7 instructions instead of 4 (3 more constant loads). rdar://problem/18153096> llvm-svn: 221657
* Add a missing parenthesis mistakenly dropped in r221621.Bob Wilson2014-11-111-1/+1
| | | | llvm-svn: 221656
* CGExpr.cpp: Suppress a warning. [-Wunused-variable]NAKAMURA Takumi2014-11-111-0/+2
| | | | llvm-svn: 221655
* [mach-o] Fix lazy binding offsetsNick Kledzik2014-11-118-126/+124
| | | | | | | | | | The way lazy binding works in mach-o is that the linker generates a helper function and has the stub (PLT) initially jump to it. The helper function pushes an extra parameter then jumps into dyld. The extra parameter is an offset into the lazy binding info where dyld will find the information about which symbol to bind and way lazy binding pointer to update. llvm-svn: 221654
* [Sanitizer] Refactor sanitizer options in LangOptions.Alexey Samsonov2014-11-1112-51/+69
| | | | | | | | | | | | | | | | | | Get rid of ugly SanitizerOptions class thrust into LangOptions: * Make SanitizeAddressFieldPadding a regular language option, and rely on default behavior to initialize/reset it. * Make SanitizerBlacklistFile a regular member LangOptions. * Introduce the helper class "SanitizerSet" to represent the set of enabled sanitizers and make it a member of LangOptions. It is exactly the entity we want to cache and modify in CodeGenFunction, for instance. We'd also be able to reuse SanitizerSet in CodeGenOptions for storing the set of recoverable sanitizers, and in the Driver to represent the set of sanitizers turned on/off by the commandline flags. No functionality change. llvm-svn: 221653
* speling.Nico Weber2014-11-111-1/+1
| | | | llvm-svn: 221652
* Fixed two issues in the type encoding parser:Sean Callanan2014-11-111-82/+82
| | | | | | | | | | | | - A correctness issue: with assertions disabled, ReadQuotedString would misbehave; and - A performance issue: BuildType used a long chain of if()s; I changed that to two switch statements. That also makes the code much nicer to step through when debugging it. llvm-svn: 221651
* [ELF] Change order of section match.Shankar Easwaran2014-11-111-1/+1
| | | | | | Addressed comments from Sean silva. llvm-svn: 221650
* Revert "Add support library."Shankar Easwaran2014-11-1110-192/+112
| | | | | | This reverts commit r221583. llvm-svn: 221649
* [Gnu][Driver] Use StringRef conversion functionsShankar Easwaran2014-11-111-13/+7
| | | | llvm-svn: 221648
* Fix error handling in NativeProcessLinux::AttachToInferior: ↵Shawn Best2014-11-111-1/+8
| | | | | | http://reviews.llvm.org/D6158 llvm-svn: 221647
* Move CodeGenOptions constructor out-of-line and add missing headers. NFC.Alexey Samsonov2014-11-113-9/+27
| | | | llvm-svn: 221646
* Move SanitizerKind class to a separate header. NFC.Alexey Samsonov2014-11-112-6/+29
| | | | llvm-svn: 221645
* EricQWF's code coverage work showed that none of the libc++ tests were ↵Marshall Clow2014-11-114-7/+81
| | | | | | exercising some code in vector<bool>. Add more tests in an attempt to get better coverage llvm-svn: 221644
* Added a testcase that checks that fairly complicatedSean Callanan2014-11-113-0/+77
| | | | | | | | | | | | structures are parsed safely by the Objective-C runtime. Also made some modifications to the way we parse structs in the runtime to avoid mis-parsing @ followed by the name of the next field. <rdar://problem/18887634> llvm-svn: 221643
* [ProcessWindows] Implement breakpoint stop / resume on Windows.Zachary Turner2014-11-1110-11/+173
| | | | | | | | | | | | | | This patch implements basic support for stopping at breakpoints and resuming later. While a breakpoint is stopped at, LLDB will cease to process events in the debug loop, effectively suspending the process, and then resume later when ProcessWindows::DoResume is called. As a side effect, this also correctly handles the loader breakpoint (i.e. the initial stop) so that LLDB goes through the correct state sequence during the initial process launch. llvm-svn: 221642
* [libclang] When initializing an ObjC object via the "[[ClassName alloc] ↵Argyrios Kyrtzidis2014-11-102-2/+24
| | | | | | | | | | | | init*]" pattern, report the 'init*' invocation as non-dynamic via clang_Cursor_isDynamicCall. Of course it is dynamic at runtime, but for purposes of indexing we can treat as an invocation to ClassName's init*. Addresses rdar://18916871. llvm-svn: 221641
* Cleaned up the StringLexer a little bit. It turnsSean Callanan2014-11-102-27/+14
| | | | | | | | | | | out we only want to roll back text that was in the buffer to begin with, so it's not necessary to provide a pushback stack. I'm going to use this slightly cleaner API to perform lookahead for the Objective-C runtime type parser. llvm-svn: 221640
* [yaml2obj] Support AArch64 relocations.Chad Rosier2014-11-102-0/+133
| | | | | | | Patch by Daniel Stewart <stewartd@codeaurora.org>! Phabricator Revision: http://reviews.llvm.org/D6192 llvm-svn: 221639
* configure.ac lives in autoconf/, not autotools/Rafael Espindola2014-11-101-1/+1
| | | | | | Patch by Palmer Dabbelt! llvm-svn: 221638
* [ProcessWindows] Notify process plugin when the launch succeeds.Zachary Turner2014-11-109-53/+89
| | | | llvm-svn: 221637
* Fix some compiler warnings, one of which was a legit bug.Zachary Turner2014-11-102-7/+5
| | | | | | | | | | | | MSVC warns that not all control paths return a value when a switch doesn't have a default case handler. Changed explicit value checks to a default check. Also, it caught a case where bitwise AND was being used instead of logical AND. I'm not sure what this fixes, but presumably it is not covered by any kind of test case. llvm-svn: 221636
* Propagate SanitizerKind into CodeGenFunction::EmitCheck() call.Alexey Samsonov2014-11-106-48/+85
| | | | | | | | | | | | | | | | Make sure CodeGenFunction::EmitCheck() knows which sanitizer it emits check for. Make CheckRecoverableKind enum an implementation detail and move it away from header. Currently CheckRecoverableKind is determined by the type of sanitizer ("unreachable" and "return" are unrecoverable, "vptr" is always-recoverable, all the rest are recoverable). This will change in future if we allow to specify which sanitizers are recoverable, and which are not by -fsanitize-recover= flag. No functionality change. llvm-svn: 221635
* Validate user headers even if -fmodules-validate-once-per-build-sessionBen Langmuir2014-11-102-10/+23
| | | | | | | | is enabled. Unlike system headers, we want to be more careful about modifications to user headers, because it's still easy to edit a header while you're building. llvm-svn: 221634
* Fix comments to match the current reality.Greg Clayton2014-11-101-2/+2
| | | | llvm-svn: 221633
* Fix selectors not being objc-uniquified in the expression parser after a ↵Greg Clayton2014-11-101-1/+1
| | | | | | recent renaming in clang (clang change for revision 221451). This broke all objective C expressions in LLDB. llvm-svn: 221632
* AArch64: set all processor features from -arch if nothing else presentTim Northover2014-11-102-0/+9
| | | | | | | | | | Darwin's "-arch arm64" option implies full Cyclone CPU, for both architectural and tuning purposes. So if neither of the explicit options have been given, forward that on to the proper invocation. rdar://problem/18906227 llvm-svn: 221631
* Improve diagnostics if _Noreturn is placed after a function declarator. ↵Richard Smith2014-11-104-3/+34
| | | | | | (This sometimes happens when a macro is used that expands to either the GNU noreturn attribute or _Noreturn.) llvm-svn: 221630
* Reverting r221626 due to a too-strict test.Michael Kuperstein2014-11-102-17/+0
| | | | llvm-svn: 221629
* [AArch64][FastISel] Fix kill flags for integer extends.Juergen Ributzka2014-11-102-0/+28
| | | | | | | | | In the case we optimize an integer extend away and replace it directly with the source register, we also have to clear all kill flags at all its uses. This is necessary, because the orignal IR instruction might be trivially dead, but we replaced it with a nop at MI level. llvm-svn: 221628
* [SwitchLowering] Fix the "fixPhis" function.Juergen Ributzka2014-11-102-8/+37
| | | | | | | | | | | | | | | Switch statements may have more than one incoming edge into the same BB if they all have the same value. When the switch statement is converted these incoming edges are now coming from multiple BBs. Updating all incoming values to be from a single BB is incorrect and would generate invalid LLVM IR. The fix is to only update the first occurrence of an incoming value. Switch lowering will perform subsequent calls to this helper function for each incoming edge with a new basic block - updating all edges in the process. This fixes rdar://problem/18916275. llvm-svn: 221627
* [X86] Fix pattern match for 32-to-64-bit zext in the presence of AssertSextMichael Kuperstein2014-11-102-0/+17
| | | | | | | | | This fixes an issue with matching trunc -> assertsext -> zext on x86-64, which would not zero the high 32-bits. See PR20494 for details. Differential Revision: http://reviews.llvm.org/D6128 llvm-svn: 221626
* Remove change to set SDKROOT when building compiler-rt on Darwin.Bob Wilson2014-11-101-17/+0
| | | | | | | | This reverts the runtime library portion of r194168. As of r221621, the libclang_rt libraries for Darwin build with explicit SDK options so there is no need to set SDKROOT here. llvm-svn: 221625
OpenPOWER on IntegriCloud