aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2013-11-23handle all unaligned double storesAlon Zakai
2013-11-23alignment fixesAlon Zakai
2013-11-23handle unaligned storesAlon Zakai
2013-11-23refactor getPtrUse to handle extra offsets and forced byte alignmentAlon Zakai
2013-11-23fix getPtrAlon Zakai
2013-11-23more binary opsAlon Zakai
2013-11-23handle int/float bitcastsAlon Zakai
2013-11-23use signedness in icmpAlon Zakai
2013-11-23clean up brAlon Zakai
2013-11-23logical and float mathopsAlon Zakai
2013-11-23clean up div/remAlon Zakai
2013-11-23fix sext and refactorAlon Zakai
2013-11-23<32 bit int castsAlon Zakai
2013-11-23fix parens in sdiv/sremAlon Zakai
2013-11-23correct sign in sdiv, sremAlon Zakai
2013-11-23fix phi constantsAlon Zakai
2013-11-23handle dependencies and cycles in phisAlon Zakai
2013-11-23split out cast and non-cast versions of getValueAsStrAlon Zakai
2013-11-22align stack to 8 bytesAlon Zakai
2013-11-22sextAlon Zakai
2013-11-22truncAlon Zakai
2013-11-22support 8-bit constantsAlon Zakai
2013-11-22ir debugger helperAlon Zakai
2013-11-22make assert show something even in release buildsAlon Zakai
2013-11-22fix relooper branch directionsAlon Zakai
2013-11-22set asm mode in relooper and add label varAlon Zakai
2013-11-22Math.imulAlon Zakai
2013-11-22native phi pushingAlon Zakai
2013-11-22preparation for phi pushingAlon Zakai
2013-11-22update relooper and fix indentation and empty linesAlon Zakai
2013-11-22more mathopsAlon Zakai
2013-11-22fix getOpName - we have no problem with forward refsAlon Zakai
2013-11-22more debug infoAlon Zakai
2013-11-22note each instruction in a debug messageAlon Zakai
2013-11-22fail on invalid getOpName valuesAlon Zakai
2013-11-22improve pre-relooper branch parsingAlon Zakai
2013-11-22remove phi printing code, in preparation for pushing them back into branchesAlon Zakai
2013-11-21fix mathop return typeAlon Zakai
2013-11-21fix sitofp return typeAlon Zakai
2013-11-21fix sitofp castAlon Zakai
2013-11-21merge in CppBackend workAlon Zakai
2013-11-21do not expand tlsAlon Zakai
2013-11-21keep alignment infoAlon Zakai
2013-11-21align varargs stack writes to the proper 4-byte boundariesAlon Zakai
2013-11-21disable pnacl internalization of everything except for _start, as emscripten ↵Alon Zakai
supports arbitrary entry points
2013-11-21Clean up handling of PNaCl bitcode headers.Karl Schimpf
Write out all of PNaCl bitcode headers using a single interface function. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720 R=jvoung@chromium.org Review URL: https://codereview.chromium.org/61753017
2013-11-21Fixes the modeling of type ids within PNaCl bitcode files.Karl Schimpf
The code previously was very inconsisted in modeling the number of bits needed for type ids within abbreviations. Frequently, the number of bits used was based on the total number of types. This is a bad choice in that this includes all function types, even though most cases do not use these types. This patch makes the selection more consistent. Also removing TYPE_CODE_ARRAY, since it is not allowed. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720 R=jvoung@chromium.org Review URL: https://codereview.chromium.org/68503018
2013-11-20Remove UseRelativeID branching from NaClBitcodeReader, assume true.Jan Voung
This was kept in upstream LLVM for backwards compatibiilty with version 0 bitcode, but PNaCl only accepts version 1 bitcode, so UseRelativeID is always true. This reduces the number of branches taken while llvm-dis'ing the Ogre SampleBrowser from 2,680,184,988 branches to 2,670,798,955 branches. A 2.5% difference in wall-clock time... BUG=none trybots: http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_32/builds/939 http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/991 http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/933 R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/77023007
2013-11-15PNaCl: Change exception info format to distinguish catch-all/cleanup clausesMark Seaborn
The initial version of ExceptionInfoWriter.cpp encodes a landingpad's "cleanup" clause the same as "catch i8* null" (a catch-all). But it turns out we do want to distinguish these two: If an uncaught exception occurs, we don't want the runtime to run C++ destructors (cleanups), because this involves unwinding the stack to jump to landingpads, which loses the context of where the uncaught exception was thrown from, which is unhelpful for debugging. (The C++ standard says it's optional whether destructors are run when an uncaught exception occurs.) So, change the encoding as follows: * Use 0 as the ID for "cleanup" clauses. * Add 1 to the IDs of types and "catch" clauses. (Adding 1 to both seems neater than just one of them.) * This means we can use 0 for the terminator of filter lists instead of -1, which seems a little neater. This requires a corresponding change to eh_pnacl.cc in libsupc++. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3696 TEST=NaCl's EH tests with libsupc++ change applied Review URL: https://codereview.chromium.org/69923008
2013-11-15Make integer promotion pass preserve debug infoDerek Schuff
Just copy the debug info from the original instructions to newly-created instructions. R=mseaborn@chromium.org BUG=none Review URL: https://codereview.chromium.org/60353015