- Mar 22, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 177716
-
Dmitry Vyukov authored
llvm-svn: 177715
-
Evgeniy Stepanov authored
llvm-svn: 177714
-
Evgeniy Stepanov authored
llvm-svn: 177713
-
Arnaud A. de Grandmaison authored
InstCombine: Improve the result bitvect type when folding (cmp pred (load (gep GV, i)) C) to a bit test. The original code used i32, and i64 if legal. This introduced unneeded casts when they aren't legal, or when the index variable i has another type. In order of preference: try to use i's type; use the smallest fitting legal type (using an added DataLayout method); default to i32. A testcase checks that this works when the index gep operand is i16. Patch by : Ahmed Bougacha <ahmed.bougacha@gmail.com> Reviewed by : Duncan llvm-svn: 177712
-
Alexey Samsonov authored
llvm-svn: 177711
-
Alexey Samsonov authored
[ASan] Fix an error on invalid deallocation in ASan allocator. When ASan checks if memory freed by user was indeed previously allocated, it first does an atomic write to presumed location of chunk header. This is wrong, as if the free is invalid, we may overwrite some valuable data (like other fields of the chunk header). Fix this by using atomic_compare_exchange instead. llvm-svn: 177710
-
Dmitry Vyukov authored
llvm-svn: 177709
-
Hal Finkel authored
ScavengedRC was a dead private variable (set, but not otherwise used). No functionality change intended. llvm-svn: 177708
-
Douglas Gregor authored
llvm-svn: 177707
-
Douglas Gregor authored
More modules documentation, including the straw-man import declaration syntax and "how to modularize a platform". llvm-svn: 177706
-
Alexey Bataev authored
llvm-svn: 177705
-
Douglas Gregor authored
llvm-svn: 177704
-
David Blaikie authored
llvm-svn: 177703
-
Chandler Carruth authored
llvm-svn: 177702
-
Alexey Bataev authored
llvm-svn: 177701
-
Chandler Carruth authored
the ARM build bots, and it adds a weird case to the test suite where a test uses as inputs files in the parent directory. Talked about this with Dave on IRC and he's fine with this approach even though it isn't optimal. llvm-svn: 177700
-
Argyrios Kyrtzidis authored
Introduce LLVM_STATIC_ASSERT macro, which expands to C/C++'s static_assert on compilers which support it. llvm-svn: 177699
-
John McCall authored
hierarchy-related at a possibly nonzero offset. Patch by Alexander Zinenko! llvm-svn: 177698
-
Greg Clayton authored
More cleanup to remove the CoreFoundation classes out of mainstream code (CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only. llvm-svn: 177697
-
Greg Clayton authored
- Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings: Results::Result::Dictionary Results::Result::Array Results::Result::Unsigned Results::Result::Double Results::Result::String - Gauge<T> can now write themselves out via a templatized write to results function: template <class T> Results::ResultSP GetResult (const char *description, T value); - There are four specializations of this so far: template <> Results::ResultSP GetResult (const char *description, double value); template <> Results::ResultSP GetResult (const char *description, uint64_t value); template <> Results::ResultSP GetResult (const char *description, std::string value); template <> Results::ResultSP GetResult (const char *description, MemoryStats value); - Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over) - Fixed other test cases to build correctly and use the new classes llvm-svn: 177696
-
Chandler Carruth authored
-time-ir-parsing flag This breaks the layering of the Support library. We can't add an implementation side to IRReader because it refers directly to entities only accessible as part of the IR, AsmParser, and BitcodeReader libraries. It can only be used in a context where all of those libraries will be available. We'll need to find some other way to get this functionality, and hopefully solve the long-standing layering problem of IRReader.h... llvm-svn: 177695
-
Marshall Clow authored
llvm-svn: 177694
-
Marshall Clow authored
Fix undefined behavior in syntax_option_type::operator~ and match_flag_type::operator./a.out Found by UBSan llvm-svn: 177693
-
John McCall authored
picking up cleanups from earlier in the statement. Also fix a crash-on-invalid where a reference to an invalid decl from an enclosing scope was causing an expression to fail to build, but only *after* a cleanup was registered from that statement, causing an assertion downstream. The crash-on-valid is rdar://13459289. llvm-svn: 177692
-
Jim Ingham authored
Change the AppleObjCTrampolineHandler to always run all threads when resolving the target of an ObjC method call. Add a StopOthers method to AppleThreadPlanStepThroughObjCTrampoline, don't rely on the setting in the ThreadPlanToCallFunction, since that gets pushed too late to determine which threads will continue. <rdar://problem/13447638> llvm-svn: 177691
-
Richard Smith authored
value argument. If not, be sure we don't accidentally use a dynamic alloca. llvm-svn: 177690
-
Richard Smith authored
value argument. llvm-svn: 177689
-
Jason Molenda authored
It won't have one and it isn't needed. llvm-svn: 177688
-
Jack Carter authored
For mips a branch an 18-bit signed offset (the 16-bit offset field shifted left 2 bits) is added to the address of the instruction following the branch (not the branch itself), in the branch delay slot, to form a PC-relative effective target address. Previously, the code generator did not perform the shift of the immediate branch offset which resulted in wrong instruction opcode. This patch fixes the issue. Contributor: Vladimir Medic llvm-svn: 177687
-
rdar://problem/13479214Douglas Gregor authored
<rdar://problem/13479214> Make Clang's <stddef.h> robust against system headers defining size_t/ptrdiff_t/wchar_t. Clang's <stddef.h> provides definitions for the C standard library types size_t, ptrdiff_t, and wchar_t. However, the system's C standard library headers tend to provide the same typedefs, and the two generally avoid each other using the macros _SIZE_T/_PTRDIFF_T/_WCHAR_T. With modules, however, we need to see *all* of the places where these types are defined, so provide the typedefs (ignoring the macros) when modules are enabled. llvm-svn: 177686
-
Jack Carter authored
This patch uses the generated instruction info tables to identify memory/load store instructions. After successful matching and based on the operand type and size, it generates additional instructions to the output. Contributor: Vladimir Medic llvm-svn: 177685
-
Richard Smith authored
Don't forget to link in the C++-specific parts of the ubsan runtime when using the Makefile build system on Darwin. llvm-svn: 177684
-
Hal Finkel authored
As Jakob pointed out in his review of r177423, having a shared ZERO register between the 32- and 64-bit register classes causes this odd G8RC_NOX0_and_GPRC_NOR0 class to be created. As recommended, this adds a ZERO8 register which differentiates the 32- and 64-bit zeros. No functionality change intended. llvm-svn: 177683
-
Sean Silva authored
To use this in conjunction with exuberant ctags to generate a single combined tags file, run tblgen first and then $ ctags --append [...] Since some identifiers have corresponding definitions in C++ code, it can be useful (if using vim) to also use cscope, and :set cscopetagorder=1 so that :tag X will preferentially select the tablegen symbol, while :cscope find g X will always find the C++ symbol. Patch by Kevin Schoedel! (a couple small formatting changes courtesy of clang-format) llvm-svn: 177682
-
Bill Wendling authored
How did this ever work? Basically, if you have a function that's inlined into the caller, it may not have any 'call' instructions, but any 'resume' instructions it may have should still be forwarded to the outer (caller's) landing pad. This requires that all of the 'landingpad' instructions in the callee have their clauses merged with the caller's outer 'landingpad' instruction (hence the bit of ugly code in the `forwardResume' method). Testcase in a follow commit to the test-suite repository. <rdar://problem/13360379> & PR15555 llvm-svn: 177680
-
Hal Finkel authored
Thanks to Jakob for isolating the underlying problem from the test case in r177423. The original commit had introduced asymmetric copy operations, but these turned out to be a work-around to the real problem (the use of == instead of hasSubClassEq in PPCCTRLoops). llvm-svn: 177679
-
Jordan Rose authored
PR14963 llvm-svn: 177678
-
David Blaikie authored
Refactor the filename/directory information in DISubprogram to refer directly to the pair rather than the DIFile. llvm-svn: 177677
-
David Blaikie authored
Switching the DIFile field in DISubprogram to refer to the raw filename/directory pair instead of a DIFile. llvm-svn: 177676
-