summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Allow redeclaration of typedefs in C++Douglas Gregor2008-11-212-1/+20
| | | | llvm-svn: 59822
* temporarily revert Sangiv's patch.Chris Lattner2008-11-212-4/+25
| | | | llvm-svn: 59821
* Tiny fix to the parsing of linkage-specificationsDouglas Gregor2008-11-212-4/+4
| | | | llvm-svn: 59820
* Fix overloading of non-static member functions that differ in their ↵Douglas Gregor2008-11-213-7/+7
| | | | | | cv-qualifiers llvm-svn: 59819
* Enable some more operator overloading tests, and don't look into an ↵Douglas Gregor2008-11-212-4/+3
| | | | | | identifier for functions that might not have one llvm-svn: 59818
* Revert r59802. It was breaking the build of llvm-gcc:Bill Wendling2008-11-2112-70/+80
| | | | | | | | | | | | | | | | | | | | | g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)': ../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic' ../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic' ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)': ../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic' ../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic' ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)': ../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic' ../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic' make[3]: *** [llvm-convert.o] Error 1 make[3]: *** Waiting for unfinished jobs.... rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod make[2]: *** [all-stage1-gcc] Error 2 make[1]: *** [stage1-bubble] Error 2 make: *** [all] Error 2 llvm-svn: 59809
* mem[cpy,set,move] intrinsics are now overloaded.Sanjiv Gupta2008-11-212-25/+4
| | | | llvm-svn: 59806
* merge 3 more diagnostics into 1.Chris Lattner2008-11-212-11/+9
| | | | llvm-svn: 59805
* Add the concept of "modifiers" to the clang diagnostic format Chris Lattner2008-11-213-66/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strings. This allows us to have considerable flexibility in how these things are displayed and provides extra information that allows us to merge away diagnostics that are very similar. Diagnostic modifiers are a string of characters with the regex [-a-z]+ that occur between the % and digit. They may optionally have an argument that can parameterize them. For now, I've added two example modifiers. One is a very useful tool that allows you to factor commonality across diagnostics that need single words or phrases combined. Basically you can use %select{a|b|c}4 with with an integer argument that selects either a/b/c based on an integer value in the range [0..3). The second modifier is also an integer modifier, aimed to help English diagnostics handle plurality. "%s3" prints to 's' if integer argument #3 is not 1, otherwise it prints to nothing. I'm fully aware that 's' is an English concept and doesn't apply to all situations (mouse vs mice). However, this is very useful and we can add other crazy modifiers once we add support for polish! ;-) I converted a couple C++ diagnostics over to use this as an example, I'd appreciate it if others could merge the other likely candiates. If you have other modifiers that you want, lets talk on cfe-dev. llvm-svn: 59803
* Make mem[cpy,move,set] intrinsics overloaded.Sanjiv Gupta2008-11-2112-80/+70
| | | | llvm-svn: 59802
* Default to converting UADDO to the generic form that SADDO is converted to.Bill Wendling2008-11-211-1/+1
| | | | llvm-svn: 59801
* Optimize (x/y)*y into x-(x%y) in general. Div and rem are about the same, andNick Lewycky2008-11-212-11/+68
| | | | | | a subtract is cheaper than a multiply. This generalizes an existing transform. llvm-svn: 59800
* Change CheckIncrementDecrementOperand to test for common cases firstChris Lattner2008-11-211-21/+24
| | | | | | and fall through better. llvm-svn: 59799
* move the diagnostic location and ID out of DiagnosticInfo and store it inChris Lattner2008-11-211-8/+13
| | | | | | | | | | the Diagnostic class. Since we can already only have one diagnostic in flight at a time, this shrinks DiagnosticInfo. This reduces DiagnosticInfo to being basically a rather crazy smart pointer to a DiagnosticInfo :) llvm-svn: 59798
* move diagnostic insertion methods to be free methods instead ofChris Lattner2008-11-211-38/+41
| | | | | | | | in the DiagnosticInfo class. This requires marking them as taking a const DiagnosticInfo, which is bogus (they logically mutate DI), but works with the C++ type system. llvm-svn: 59797
* LLVM does have a fortran FE!Duraid Madina2008-11-211-12/+0
| | | | llvm-svn: 59795
* testcase for PR3096Chris Lattner2008-11-211-0/+5
| | | | llvm-svn: 59794
* Clean up normalization of shufflesMon P Wang2008-11-211-30/+31
| | | | llvm-svn: 59792
* Cleanup memory management in overloading of operator->, slightlyDouglas Gregor2008-11-211-8/+9
| | | | llvm-svn: 59791
* CellSPU:Scott Michel2008-11-216-51/+165
| | | | | | | | (a) Fix bgs 3052, 3057 (b) Incorporate Duncan's suggestions re: i1 promotion (c) Indentation updates. llvm-svn: 59790
* Don't print canonical types in overloading-related diagnosticsDouglas Gregor2008-11-214-10/+32
| | | | llvm-svn: 59789
* Combine the two add with overflow intrinsics lowerings. They differ only in ↵Bill Wendling2008-11-211-18/+5
| | | | | | DAG node type. llvm-svn: 59788
* Set the isAntiDep flag in the MachineInstr scheduler.Dan Gohman2008-11-211-1/+1
| | | | llvm-svn: 59787
* Generate code for llvm.uadd.with.overflow intrinsic. No conversion support yet.Bill Wendling2008-11-211-1/+12
| | | | llvm-svn: 59786
* Add a flag to SDep for tracking which edges are anti-dependence edges.Dan Gohman2008-11-213-14/+18
| | | | llvm-svn: 59785
* Update comment to reflect a semblance of reality.Bill Wendling2008-11-211-7/+6
| | | | llvm-svn: 59784
* Remove chains. Unnecessary.Bill Wendling2008-11-212-14/+8
| | | | llvm-svn: 59783
* Rename SDep's isSpecial to isArtificial, to make this field a littleDan Gohman2008-11-215-55/+57
| | | | | | less mysterious. llvm-svn: 59782
* Add generic test for add with overflow.Bill Wendling2008-11-211-0/+23
| | | | llvm-svn: 59781
* Rename "ADDO" to "SADDO" and "UADDO". The "UADDO" isn't equivalent to "ADDC"Bill Wendling2008-11-214-14/+22
| | | | | | | because the boolean it returns to indicate an overflow may not be treated like as a flag. It could be stored to memory, for instance. llvm-svn: 59780
* Implement the sadd_with_overflow intrinsic. This is converted intoBill Wendling2008-11-214-9/+63
| | | | | | | | "ISD::ADDO". ISD::ADDO is lowered into a target-independent form that does the addition and then checks if the result is less than one of the operands. (If it is, then there was an overflow.) llvm-svn: 59779
* Fix unused variable warnings.Devang Patel2008-11-211-0/+2
| | | | llvm-svn: 59778
* Use ComputeLatency in the MachineInstr scheduler.Dan Gohman2008-11-212-0/+4
| | | | llvm-svn: 59777
* Remove the CycleBound computation code from the ScheduleDAGRRListDan Gohman2008-11-211-58/+5
| | | | | | | | | | | | | schedulers. This doesn't have much immediate impact because targets that use these schedulers by default don't yet provide pipeline information. This code also didn't have the benefit of register pressure information. Also, removing it will avoid problems with list-burr suddenly starting to do latency-oriented scheduling on x86 when we start providing pipeline data, which would increase spilling. llvm-svn: 59775
* Change -verify mode to find the "expected-error" and "expected-warning" stringsChris Lattner2008-11-212-22/+15
| | | | | | | | with a raw lexer instead of a PP lexer. This means that -verify doesn't scan #include'd headers for expected-error/warning strings, and it also means that it doesn't ignore them in #if 0. llvm-svn: 59774
* Add comment to IsFileLexer, clean up indentation, and tighten how it's written.Ted Kremenek2008-11-211-6/+4
| | | | llvm-svn: 59773
* remove expected-error from #if 0 section of code.Chris Lattner2008-11-211-2/+2
| | | | llvm-svn: 59772
* disable expected-errors in #if parts of the test.Chris Lattner2008-11-211-3/+3
| | | | llvm-svn: 59771
* split into two tests.Chris Lattner2008-11-212-10/+7
| | | | llvm-svn: 59770
* PTHLexer:Ted Kremenek2008-11-212-14/+28
| | | | | | - Move out logic for handling the end-of-file to LexEndOfFile (to match the Lexer) class. The logic now mirrors the Lexer class more, which allows us to pass most of the Preprocessor test cases. llvm-svn: 59768
* Consolidated @try and @synchronize into a singleFariborz Jahanian2008-11-214-119/+45
| | | | | | code gen. method. llvm-svn: 59767
* Update comment.Bill Wendling2008-11-211-0/+1
| | | | llvm-svn: 59766
* Add checker test case: warn about returning an uninitialized value to the ↵Ted Kremenek2008-11-211-0/+7
| | | | | | caller. llvm-svn: 59765
* - Clean up transfer function logic for 'return' statements.Ted Kremenek2008-11-213-38/+47
| | | | | | - Add check for returning an undefined value to a caller. llvm-svn: 59764
* CMake: Do not rebuild the world when tblgen changes but the .inc filesOscar Fuentes2008-11-211-2/+9
| | | | | | it produces are not affected by the change. llvm-svn: 59763
* Enable test file for 'region store' in addition to basic store.Ted Kremenek2008-11-211-1/+2
| | | | llvm-svn: 59762
* Implement ComputeLatency for MachineInstr ScheduleDAGs. FactorDan Gohman2008-11-214-8/+41
| | | | | | | | some of the latency computation logic out of the SDNode ScheduleDAG code into a TargetInstrItineraries helper method to help with this. llvm-svn: 59761
* Add UADDO and SADDO nodes. These will be used for determining an overflowBill Wendling2008-11-212-1/+10
| | | | | | condition in an addition operation. llvm-svn: 59760
* Change these schedulers to not emit no-ops. It turns out thatDan Gohman2008-11-212-9/+3
| | | | | | | | | the RR scheduler actually does look at latency values, but it doesn't use a hazard recognizer so it has no way to know when a no-op is needed, as opposed to just stalling and incrementing the cycle count. llvm-svn: 59759
* Fix error where it wasn't getting the correct caller function.Bill Wendling2008-11-211-1/+2
| | | | llvm-svn: 59758
OpenPOWER on IntegriCloud