summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Check for NULL before traversing the isa<> type hierarchy checking with aScott Michel2008-11-221-1/+1
| | | | | | | | | | NULL-based reference. Note: Encountered this a few times on Tiger + gcc 4.0.1. Might just be a platform-specific compiler issue, but it's good defensive programming in any case. llvm-svn: 59890
* Describe how the JIT maps fields to MachineOperands, patch byChris Lattner2008-11-221-0/+83
| | | | | | JP Bonn! llvm-svn: 59876
* Make a convenient helper for printing offsets.Anton Korobeynikov2008-11-227-33/+21
| | | | llvm-svn: 59872
* Cleanup of the [SU]ADDO type legalization code. Patch by Duncan!Bill Wendling2008-11-224-28/+31
| | | | | | | | | | "It simplifies the type legalization part a bit, and produces better code by teaching SelectionDAG about the extra bits in an i8 SADDO/UADDO node. In essence, I spontaneously decided that on x86 this i8 boolean result would be either 0 or 1, and on other platforms 0/1 or 0/-1, depending on whether the platform likes it's boolean zero extended or sign extended." llvm-svn: 59864
* - Move conversion of [SU]ADDO from DAG combiner into legalizer.Bill Wendling2008-11-224-38/+53
| | | | | | - Add "promote integer type" stuff to the legalizer for these nodes. llvm-svn: 59847
* Fix build failure.Devang Patel2008-11-211-1/+1
| | | | llvm-svn: 59844
* Silence unused variable warnings.Devang Patel2008-11-217-0/+14
| | | | llvm-svn: 59841
* Document TEST=dbgoptDevang Patel2008-11-211-0/+18
| | | | llvm-svn: 59839
* Correctly set the isCtrl flag for chain dependencies.Dan Gohman2008-11-211-4/+4
| | | | llvm-svn: 59837
* Update comments.Dan Gohman2008-11-211-9/+9
| | | | llvm-svn: 59836
* Update comments.Dan Gohman2008-11-211-3/+3
| | | | llvm-svn: 59834
* reapply Sanjiv's patch to genericize memcpy/memset/memmove to take anChris Lattner2008-11-2112-80/+70
| | | | | | arbitrary integer width for the count. llvm-svn: 59823
* 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
* 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
* LLVM does have a fortran FE!Duraid Madina2008-11-211-12/+0
| | | | llvm-svn: 59795
* Clean up normalization of shufflesMon P Wang2008-11-211-30/+31
| | | | llvm-svn: 59792
* 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
* 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
* Update comment.Bill Wendling2008-11-211-0/+1
| | | | llvm-svn: 59766
* 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
* 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
* If the function being inlined has a higher stack protection level than theBill Wendling2008-11-211-0/+9
| | | | | | | inlining function, then increase the stack protection level on the inlining function. llvm-svn: 59757
* Introduce two new "add" intrinsics. These return the sum plus a bit indicatingBill Wendling2008-11-211-0/+9
| | | | | | | | that an overflow/carry occured. These are converted into ISD::[SU]ADDO nodes, which are lowered in a target-independent way into something sane. Eventually, each target can implement their own method of checking the overflow/carry flags. llvm-svn: 59756
* CMake: More documentation.Oscar Fuentes2008-11-201-4/+49
| | | | llvm-svn: 59755
* Delete redundant inline keywords.Dan Gohman2008-11-201-3/+3
| | | | llvm-svn: 59754
* Doxygenate comments.Dan Gohman2008-11-201-30/+26
| | | | llvm-svn: 59753
* CMake: Some documentation. Work in progress.Oscar Fuentes2008-11-201-0/+271
| | | | llvm-svn: 59752
* Treat mid-block labels the same as terminators when building theDan Gohman2008-11-201-1/+1
| | | | | | | | | | MachineInstr scheduling DAG, meaning they implicitly depend on all preceding defs. This fixes Benchmarks/Shootout-C++/except and Regression/C++/EH/simple_rethrow in -relocation-model=pic -disable-post-RA-scheduler=false mode. llvm-svn: 59747
* Add another machine-code printing pass when post-pass scheduling is run.Dan Gohman2008-11-201-1/+5
| | | | llvm-svn: 59746
* Don't forget arguments!Devang Patel2008-11-201-1/+6
| | | | llvm-svn: 59745
* Test -pre-RA-sched=fast too, for completeness.Dan Gohman2008-11-201-0/+1
| | | | llvm-svn: 59741
* CMake: Option for building with -fPIC.Oscar Fuentes2008-11-201-0/+11
| | | | llvm-svn: 59739
* CellSPU:Scott Michel2008-11-202-6/+5
| | | | | | | | (a) Remove moved file (SPUAsmPrinter.cpp) to make svn happy. (b) Remove truncated stores that will never be used. (c) Add initial support for __muldi3 as a libcall. llvm-svn: 59734
OpenPOWER on IntegriCloud