summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Recovery memory from TypeLocBuilders during crashes.Ted Kremenek2011-03-191-1/+6
| | | | llvm-svn: 127932
* Recover memory from RecordLayoutBuilders during crashes.Ted Kremenek2011-03-191-1/+6
| | | | llvm-svn: 127931
* Rename class 'CFGReachabilityAnalysis' to 'CFGReverseBlockReachabilityAnalysis'.Ted Kremenek2011-03-196-14/+14
| | | | | | | | | This rename serves two purposes: - It reflects the actual functionality of this analysis. - We will have more than one reachability analysis. llvm-svn: 127930
* Tweak CrashRecoveryContextCleanup to provide an easy method for clients to ↵Ted Kremenek2011-03-192-6/+23
| | | | | | select between 'delete' and 'destructor' cleanups, and allow the destructor of CrashRecoveryContextCleanupRegister to be pseudo re-entrant. llvm-svn: 127929
* Tweak CrashRecoveryContext::GetCurrent() to return quickly if ↵Ted Kremenek2011-03-191-0/+3
| | | | | | | | 'gCrsahRecoveryEnabled' is false. This avoids us needing to go to thread local storage for the performance sensitive case where we are compiling code. llvm-svn: 127928
* Replace literal '8's with CharWidth in AppendBitField. No change inKen Dyck2011-03-191-13/+15
| | | | | | functionality intended. llvm-svn: 127927
* FileCheckize a test.Andrew Trick2011-03-191-7/+16
| | | | | | (one-by-one until valgrind is happy) llvm-svn: 127925
* If an AllocaInst referred by DbgDeclareInst is used by a LoadInst then the ↵Devang Patel2011-03-182-0/+30
| | | | | | LoadInst should also get a corresponding llvm.dbg.value intrinsic. llvm-svn: 127924
* Remove dead code.Devang Patel2011-03-181-2/+0
| | | | llvm-svn: 127923
* Consider debug info intrinsics pointing to null value as dead instructions.Devang Patel2011-03-181-1/+14
| | | | llvm-svn: 127922
* Add libclang hook 'clang_toggleCrashRecovery()', which provides a mechanism ↵Ted Kremenek2011-03-184-1/+19
| | | | | | for a client to enable/disable CrashRecovery within libclang function calls. llvm-svn: 127920
* Run all functional logic of clang_annotateTokens() within a ↵Ted Kremenek2011-03-181-72/+89
| | | | | | CrashRecoveryContext. Fixes <rdar://problem/9121698>. llvm-svn: 127919
* Silence a warning.Jim Grosbach2011-03-181-1/+1
| | | | llvm-svn: 127918
* Add support to the ARM asm parser for the register-shifted-register forms of ↵Owen Anderson2011-03-183-26/+96
| | | | | | basic instructions like ADD. More work left to be done to support other instances of shifter ops in the ISA. llvm-svn: 127917
* Beginnings of MC-JIT code generation.Jim Grosbach2011-03-185-6/+77
| | | | | | | | | | | Proof-of-concept code that code-gens a module to an in-memory MachO object. This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld for similarly conceptual work for that part) which will take the compiled object and link it together with the rest of the system, providing back to the JIT a table of available symbols which will be used to respond to the getPointerTo*() queries. llvm-svn: 127916
* Add support for language-specific address spaces. On top of that,Peter Collingbourne2011-03-1825-20/+396
| | | | | | | | | add support for the OpenCL __private, __local, __constant and __global address spaces, as well as the __read_only, _read_write and __write_only image access specifiers. Patch originally by ARM; language-specific address space support by myself. llvm-svn: 127915
* Remove '-Xclang' and '-mllvm' entries from Clang man page. The later is ↵Ted Kremenek2011-03-181-8/+0
| | | | | | only available in debug builds and the former is not supposed to be used by end-users. llvm-svn: 127914
* Match a few more obvious patterns to revsh. rdar://9147637.Evan Cheng2011-03-183-4/+44
| | | | llvm-svn: 127913
* Extend live debug values down the dominator tree by following copies.Jakob Stoklund Olesen2011-03-181-24/+136
| | | | | | | | | | | | | | | | | The llvm.dbg.value intrinsic refers to SSA values, not virtual registers, so we should be able to extend the range of a value by tracking that value through register copies. This greatly improves the debug value tracking for function arguments that for some reason are copied to a second virtual register at the end of the entry block. We only extend the debug value range where its register is killed. All original llvm.dbg.value locations are still respected. Copies from physical registers are ignored. That should not be a problem since the entry block already adds DBG_VALUE instructions for the virtual registers holding the function arguments. llvm-svn: 127912
* Driver: Forward -traditional and -traditional-cpp in preprocessing modes.Daniel Dunbar2011-03-181-2/+7
| | | | | | | | | - We don't really support the majority of the horrible -traditional-cpp behavior, but it is unlikely that we ever will either. This allows us to start trying to use clang as a /usr/bin/cpp replacement and see what pieces of -traditional-cpp mode people actually care about. llvm-svn: 127911
* Lexer: Add extremely limited support for -traditional-cpp, ignoring BCPLDaniel Dunbar2011-03-185-4/+24
| | | | | | comments. llvm-svn: 127910
* Revert r127852; it's apparently causing an ICE on mingw.Eli Friedman2011-03-183-103/+16
| | | | llvm-svn: 127909
* Add cases to test that two template instantiations of std::vector<long> and ↵Johnny Chen2011-03-182-1/+82
| | | | | | | | std::vector<short> in the same compilation module show up as different types for lldb debugger. llvm-svn: 127904
* Driver/Darwin: Transparently fallback when compiling i386 -fapple-kext code, weDaniel Dunbar2011-03-182-3/+21
| | | | | | don't support the ABI yet. llvm-svn: 127903
* Driver: Give SelectTool access to the action inputs.Daniel Dunbar2011-03-184-33/+58
| | | | llvm-svn: 127902
* Use lazy parsing in LTO. Unfortunately this is only a 3% time saving forRafael Espindola2011-03-182-8/+27
| | | | | | 'ar'. Have to figure out how to make libLTO even lazier. llvm-svn: 127901
* Clean whitespace.Owen Anderson2011-03-181-8/+8
| | | | llvm-svn: 127900
* Reduce code duplication.Owen Anderson2011-03-181-31/+13
| | | | llvm-svn: 127899
* Fix various small problems with EmulateInstructionARM::EmulateSTRRtSP.Caroline Tice2011-03-181-14/+39
| | | | llvm-svn: 127898
* Driver/Darwin: Change fallback to use llvm-gcc search paths instead of GCC.Daniel Dunbar2011-03-181-4/+6
| | | | llvm-svn: 127897
* Driver/Darwin: Kill the DarwinGCC toolchain.Daniel Dunbar2011-03-183-186/+1
| | | | llvm-svn: 127896
* PTX: Fix various codegen issuesJustin Holewinski2011-03-187-50/+124
| | | | | | | | - Emit mad instead of mad.rn for shader model 1.0 - Emit explicit mov.u32 instructions for reading global variables - (most PTX instructions cannot take global variable immediates) llvm-svn: 127895
* Use the newly added FileManager::getNoncachedStatValue when trying to ↵Anders Carlsson2011-03-181-2/+2
| | | | | | determine if any files in the preamble have changed. llvm-svn: 127894
* Add FileManager::getNoncachedStatValue, which will resolve relative paths ↵Anders Carlsson2011-03-182-0/+13
| | | | | | against the working directory specified in the file system options. llvm-svn: 127893
* Add llvm-rtdyld support for loading 32-bit code.Jim Grosbach2011-03-181-66/+158
| | | | | | | Factor out the 64-bit specific bits into a helper function and add an equivalent that loads the 32-bit sections. This allows using llvm-rtdyld on ARM. llvm-svn: 127892
* setExecutable() should default to success if there's nothing custom for it.Jim Grosbach2011-03-181-1/+1
| | | | llvm-svn: 127891
* Correctly store and keep track of the FileSystemOptions in ASTUnit and in ↵Anders Carlsson2011-03-182-7/+12
| | | | | | clang_codeCompleteAt. llvm-svn: 127890
* Thumb2 PC-relative loads require a fixup rather than just an immediate.Owen Anderson2011-03-182-1/+8
| | | | llvm-svn: 127888
* Update list of link components for llvm-rtdyld.Oscar Fuentes2011-03-181-1/+1
| | | | llvm-svn: 127887
* Naming conventional tidy up.Jim Grosbach2011-03-181-2/+2
| | | | llvm-svn: 127886
* MachO file loader and execution utility.Jim Grosbach2011-03-185-3/+264
| | | | | | | | | | | Add a bone-simple utility to load a MachO object into memory, look for a function (main) in it, and run that function directly. This will be used as a test and development platform for MC-JIT work regarding symbol resolution, dynamic lookup, etc.. Code by Daniel Dunbar. llvm-svn: 127885
* Avoid creating canonical induction variables for non-native types.Andrew Trick2011-03-1820-19/+30
| | | | | | | | For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. llvm-svn: 127884
* Tidy up.Jim Grosbach2011-03-181-2/+2
| | | | llvm-svn: 127883
* Carefully written implementations of the 32-bit integer divide and modulus ↵Stephen Canon2011-03-186-32/+337
| | | | | | functions for ARM. These are still using a naive digit-by-digit algorithm, but the core loop has been carefully written. llvm-svn: 127882
* Add an opt-in -Wheader-hygiene, which current diagnoses the use ofDouglas Gregor2011-03-185-0/+34
| | | | | | global using directives in C++ headers, from Elliot Glaysher! llvm-svn: 127881
* On !Darwin, do use the integrated as with -static.Rafael Espindola2011-03-181-1/+3
| | | | llvm-svn: 127879
* Defined friend functions are *implicitly* inlined, unless the inline ↵Abramo Bagnara2011-03-181-8/+8
| | | | | | specifier occurs explicitly. llvm-svn: 127877
* Fixed inconsistency when adding TemplateParameterListsInfo.Abramo Bagnara2011-03-185-109/+151
| | | | llvm-svn: 127876
* Support explicit argument forms for the X86 string instructions.Joerg Sonnenberger2011-03-183-1/+371
| | | | | | For now, only the default segments are supported. llvm-svn: 127875
* ptx: fix parameter order that is reversedChe-Liang Chiou2011-03-182-5/+12
| | | | llvm-svn: 127874
OpenPOWER on IntegriCloud