summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* infer results of a pattern from implicit defs. This allows you to do something Chris Lattner2010-03-182-13/+34
| | | | | | | | | | | | like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) llvm-svn: 98897
* Work around a valgrind oddity where it doesn't pass the full path of aJeffrey Yasskin2010-03-181-1/+1
| | | | | | | | | | script to the #! command by using bash instead of /bin/sh. Bash searches $PATH for its script argument, but dash, which /bin/sh resolves to on some systems, does not. https://bugs.kde.org/show_bug.cgi?id=231257 tracks the valgrind problem. llvm-svn: 98892
* Get rid of target-specific fp <-> int nodes when still I'm here.Anton Korobeynikov2010-03-186-79/+69
| | | | llvm-svn: 98889
* Get rid of target-specific nodes for fp16 <-> fp32 conversion.Anton Korobeynikov2010-03-184-21/+11
| | | | llvm-svn: 98888
* Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass ↵Anton Korobeynikov2010-03-181-29/+39
| | | | | | copies weirdness more straightforward. Also, add GPR <-> SPR copy support. llvm-svn: 98887
* Couple of changes that Dan mentioned for llvm.stackprotector fast-isel.Eric Christopher2010-03-181-2/+2
| | | | llvm-svn: 98881
* X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, weDaniel Dunbar2010-03-182-3/+10
| | | | | | | were missing it on some movq instructions and were not including the appropriate PCrel bias. llvm-svn: 98880
* capture implicit uses and defs in CodeGenInstructionChris Lattner2010-03-182-0/+6
| | | | llvm-svn: 98879
* Try to appease MSVC's standard libraryDouglas Gregor2010-03-182-1/+15
| | | | llvm-svn: 98878
* Try to appease MSVCDouglas Gregor2010-03-182-5/+5
| | | | llvm-svn: 98875
* Make PredefinedExpr::ComputeName() more robust to incorrectTed Kremenek2010-03-182-1/+13
| | | | | | | code when we are printing the name of an Objective-C method whose class has not been declared. Fixes <rdar://problem/7495713>. llvm-svn: 98874
* Add bounds check in PCHReader. when reading source file entry recordTed Kremenek2010-03-181-0/+5
| | | | llvm-svn: 98873
* simplify this code, the # of sets in the pattern for an instructionChris Lattner2010-03-181-2/+1
| | | | | | shouldn't change this. llvm-svn: 98872
* disallow concatenation of two dags with different operators.Chris Lattner2010-03-181-12/+2
| | | | llvm-svn: 98871
* rewrite this to not artificially force concat the ins/outs list.Chris Lattner2010-03-181-13/+20
| | | | llvm-svn: 98870
* fix some buggy ops concatentationChris Lattner2010-03-181-12/+12
| | | | llvm-svn: 98869
* eliminate support for "ops" in the input/output list of anChris Lattner2010-03-181-4/+2
| | | | | | instruction. Instructions must use 'ins' and 'outs' now. llvm-svn: 98868
* use ins/outsChris Lattner2010-03-181-24/+24
| | | | llvm-svn: 98867
* use ins/outs.Chris Lattner2010-03-182-49/+49
| | | | llvm-svn: 98866
* remove some code that was working around old sparc v9 backend bugs.Chris Lattner2010-03-183-22/+24
| | | | | | Add checking that the input/output operand list in spelled right. llvm-svn: 98865
* outs come before ins.Chris Lattner2010-03-181-3/+3
| | | | llvm-svn: 98864
* Make fast-isel understand llvm.stackprotector.Eric Christopher2010-03-181-0/+15
| | | | llvm-svn: 98862
* Refactor NEON ld/st instructions to hardcode class arguments that are constants.Bob Wilson2010-03-181-201/+193
| | | | | | No functional changes. llvm-svn: 98860
* lit: Tweak example tests config.Daniel Dunbar2010-03-181-33/+0
| | | | llvm-svn: 98859
* MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement aDaniel Dunbar2010-03-183-3/+69
| | | | | | | | temporary workaround for matching inc/dec on x86_64 to the correct instruction. - This hack will eventually be replaced with a robust mechanism for handling matching instructions based on the available target features. llvm-svn: 98858
* MC/AsmMatcher: Add support for target specific "instruction cleanup" functions,Daniel Dunbar2010-03-182-5/+16
| | | | | | to allow custom post-processing of matched instructions. llvm-svn: 98857
* fix an x86-64 encoding bug Daniel found.Chris Lattner2010-03-182-1/+8
| | | | llvm-svn: 98855
* offsetof always has type size_t.Dan Gohman2010-03-181-1/+1
| | | | llvm-svn: 98854
* Simplify this code.Dan Gohman2010-03-181-16/+8
| | | | llvm-svn: 98853
* Fix a name clash that was breaking MSVC builds.Benjamin Kramer2010-03-181-1/+1
| | | | llvm-svn: 98852
* Explicitly cast std::min's arguments to avoid type mismatches.Dan Gohman2010-03-181-2/+2
| | | | llvm-svn: 98851
* another oneGabor Greif2010-03-181-1/+1
| | | | llvm-svn: 98850
* Some cleanup, change diagnostic when assigning toFariborz Jahanian2010-03-185-18/+7
| | | | | | a property which is not lvalue. llvm-svn: 98848
* Define placement new wrappers for BumpPtrAllocator andDan Gohman2010-03-186-125/+118
| | | | | | | RecyclingAllocator to allow client code to be simpler, and simplify several clients. llvm-svn: 98847
* Make this test more lenient; with SmallVector now using actuallyDan Gohman2010-03-181-1/+1
| | | | | | | aligned storage, the capacity may be more than what is explicitly requested. llvm-svn: 98846
* Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() toBob Wilson2010-03-183-7/+19
| | | | | | | | | | | | | | | | | always create a new jump table. The intention was to avoid merging jump tables in SelectionDAGBuilder, and to wait for the branch folding pass to merge tables. Unfortunately, the same getJumpTableIndex() method is also used to merge tables in branch folding, so as a result of this change branch tables are never merged. Worse, the branch folding code is expecting getJumpTableIndex to always return the index of an existing table, but with this change, it never does so. In at least some cases, e.g., pr6543, this creates references to non-existent tables. I've fixed the problem by adding a new createJumpTableIndex function, which will always create a new table, and I've changed getJumpTableIndex to only look at existing tables. llvm-svn: 98845
* Fix a bug found by inspection; in the __GNUC__ code, the alignmentDan Gohman2010-03-181-8/+9
| | | | | | | doesn't apply to the type, only to the variable, so subsequent uses of U which expect it to be aligned weren't actually aligned. llvm-svn: 98843
* Explicitly link macro instantiations to macro definitions in theDouglas Gregor2010-03-184-15/+29
| | | | | | | | preprocessing record. Use that link with clang_getCursorReferenced() and clang_getCursorDefinition() to match instantiations of a macro to the definition of the macro. llvm-svn: 98842
* Nick wants these alphabetized Andrew Lenharth2010-03-181-1/+1
| | | | llvm-svn: 98840
* add a special relocation type for movq loads for objectChris Lattner2010-03-183-5/+23
| | | | | | | files that produce special relocation types where the linker changes movq's into lea's. llvm-svn: 98839
* Add explicit braces to avoid ambiguous ‘else’.Dan Gohman2010-03-181-1/+2
| | | | llvm-svn: 98838
* Expose macro definitions as CIndex cursors. These can still only beDouglas Gregor2010-03-186-8/+51
| | | | | | generated by clang_annotateTokens(). llvm-svn: 98837
* Introduce the notion of a "preprocessing record", which keeps track ofDouglas Gregor2010-03-189-128/+415
| | | | | | | | | | | | | | | | | | | | | | | | the macro definitions and macro instantiations that are found during preprocessing. Preprocessing records are *not* generated by default; rather, we provide a PPCallbacks subclass that hooks into the existing callback mechanism to record this activity. The only client of preprocessing records is CIndex, which keeps track of macro definitions and instantations so that they can be exposed via cursors. At present, only token annotation uses these facilities, and only for macro instantiations; both will change in the near future. However, with this change, token annotation properly annotates macro instantiations that do not produce any tokens and instantiations of macros that are later undef'd, improving our consistency. Preprocessing directives that are not macro definitions are still handled by clang_annotateTokens() via re-lexing, so that we don't have to track every preprocessing directive in the preprocessing record. Performance impact of preprocessing records is still TBD, although it is limited to CIndex and therefore out of the path of the main compiler. llvm-svn: 98836
* callq is pcrelativeChris Lattner2010-03-181-1/+1
| | | | llvm-svn: 98835
* Replace some SmallVectors with arrays.Benjamin Kramer2010-03-181-21/+13
| | | | llvm-svn: 98833
* Check if function names start with "llvm." before trying to lookup them up asBob Wilson2010-03-182-0/+8
| | | | | | | | intrinsics. The intrinsic lookup code assumes that this check has been done and assumes the names are at least 6 characters long. Valgrind complained about this. pr6638. llvm-svn: 98831
* Fix comment.Devang Patel2010-03-181-1/+1
| | | | llvm-svn: 98830
* Add the ability to "intern" FoldingSetNodeID data into aDan Gohman2010-03-185-40/+76
| | | | | | | | | | | | BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call. Use this new mechanism in ScalarEvolution instead of FastFoldingSetNode to avoid leaking memory in the case where a FoldingSetNodeID uses heap storage, and to reduce overall memory usage. llvm-svn: 98829
* DefangDouglas Gregor2010-03-181-13/+14
| | | | llvm-svn: 98827
* More token-annotation experimentation, preprocessing the annotatedDouglas Gregor2010-03-185-23/+127
| | | | | | | token sequence to detect macro instantiations (that produce at least token). WIP. llvm-svn: 98826
OpenPOWER on IntegriCloud